diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8f4a1aae3d..5bd2f57ed3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -107,7 +107,7 @@ jobs: strategy: matrix: - postgres: [ 13, 14, 15, 16, 17 ] + postgres: [ 13, 14, 15, 16, 17, 18 ] include: - postgres: 16 rust: "beta" @@ -262,87 +262,19 @@ jobs: --package pgrx-tests --test ui - - name: Run aggregate example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/aggregate/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run arrays example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/arrays/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run bad_ideas example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/bad_ideas/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run bgworker example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/bgworker/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run bytea example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/bytea/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run composite_type example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/composite_type/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run custom_libname example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/custom_libname/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run custom_types example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/custom_types/Cargo.toml --features "pg$PG_VER" --no-default-features + - name: Run all example tests + run: | + for example in $(find pgrx-examples -name Cargo.toml | cut -d/ -f2 | sort); do + echo "Running tests for $example" + CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/$example/Cargo.toml --features "pg$PG_VER" --no-default-features + done - name: Run custom_types without schema generation example tests run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/custom_types/Cargo.toml --features "pg$PG_VER no-schema-generation" --no-default-features - - name: Run custom_sql example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/custom_sql/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run datetime example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/datetime/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run errors example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/errors/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run nostd example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/nostd/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run numeric example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/numeric/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run pgtrybuilder example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/pgtrybuilder/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run operators example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/operators/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run range example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/range/Cargo.toml --features "pg$PG_VER" --no-default-features - - name: Run range example regression tests run: CARGO_TARGET_DIR="$(pwd)/target" cargo pgrx regress pg$PG_VER --manifest-path=pgrx-examples/range/Cargo.toml - - name: Run schemas example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/schemas/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run shmem example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/shmem/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run spi example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/spi/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run spi_srf example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/spi_srf/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run srf example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/srf/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run strings example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/strings/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run triggers example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/triggers/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run versioned_custom_libname_so example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/versioned_custom_libname_so/Cargo.toml --features "pg$PG_VER" --no-default-features - - - name: Run versioned_so example tests - run: CARGO_TARGET_DIR="$(pwd)/target" cargo test --manifest-path=pgrx-examples/versioned_so/Cargo.toml --features "pg$PG_VER" --no-default-features - - name: Run `cargo pgrx schema` against the versioned_custom_libname_so example run: cd pgrx-examples/versioned_custom_libname_so && cargo pgrx schema pg$PG_VER diff --git a/.github/workflows/will-it-blend-develop.yml b/.github/workflows/will-it-blend-develop.yml index 963d35bf02..a99c520892 100644 --- a/.github/workflows/will-it-blend-develop.yml +++ b/.github/workflows/will-it-blend-develop.yml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: false # We want all of them to run, even if one fails matrix: - pg_version: [ "pg13", "pg14", "pg15", "pg16", "pg17" ] + pg_version: [ "pg13", "pg14", "pg15", "pg16", "pg17", "pg18" ] container: [ "fedora", "debian_bullseye", "alpine" ] steps: - uses: actions/checkout@v4 @@ -40,7 +40,7 @@ jobs: strategy: fail-fast: false # We want all of them to run, even if one fails matrix: - pg_version: [ "pg13", "pg14", "pg15", "pg16", "pg17" ] + pg_version: [ "pg13", "pg14", "pg15", "pg16", "pg17", "pg18" ] container: [ "debian_bullseye" ] steps: # See above for logic details here diff --git a/README.md b/README.md index f24dac07dc..828b34dd2d 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ `pgrx` is a framework for developing PostgreSQL extensions in Rust and strives to be as idiomatic and safe as possible. -`pgrx` supports Postgres 13 through Postgres 17. +`pgrx` supports Postgres 13 through Postgres 18. ## Want to chat with us or get a question answered? diff --git a/cargo-pgrx/README.md b/cargo-pgrx/README.md index 300ee941eb..c4ee1e93b1 100644 --- a/cargo-pgrx/README.md +++ b/cargo-pgrx/README.md @@ -337,7 +337,7 @@ Compile/install extension to a pgrx-managed Postgres instance and start psql Usage: cargo pgrx run [OPTIONS] [PG_VERSION] [DBNAME] Arguments: - [PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, or pg17? [env: PG_VERSION=] + [PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, pg17, or pg18? [env: PG_VERSION=] [DBNAME] The database to connect to (and create if the first time). Defaults to a database with the same name as the current extension name Options: @@ -388,7 +388,7 @@ Connect, via psql, to a Postgres instance Usage: cargo pgrx connect [OPTIONS] [PG_VERSION] [DBNAME] Arguments: - [PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, or pg17? [env: PG_VERSION=] + [PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, pg17, or pg18? [env: PG_VERSION=] [DBNAME] The database to connect to (and create if the first time). Defaults to a database with the same name as the current extension name [env: DBNAME=] Options: @@ -506,7 +506,7 @@ Run the test suite for this crate Usage: cargo pgrx test [OPTIONS] [PG_VERSION] [TESTNAME] Arguments: - [PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, pg17, or all? [env: PG_VERSION=] + [PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, pg17, pg18, or all? [env: PG_VERSION=] [TESTNAME] If specified, only run tests containing this string in their names Options: @@ -828,7 +828,7 @@ Generate extension schema files Usage: cargo pgrx schema [OPTIONS] [PG_VERSION] Arguments: - [PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, or pg17? + [PG_VERSION] Do you want to run against pg13, pg14, pg15, pg16, pg17, or pg18? Options: -p, --package Package to build (see `cargo help pkgid`) diff --git a/cargo-pgrx/src/command/connect.rs b/cargo-pgrx/src/command/connect.rs index a4d0be8663..0fbb595bc4 100644 --- a/cargo-pgrx/src/command/connect.rs +++ b/cargo-pgrx/src/command/connect.rs @@ -22,7 +22,7 @@ use std::path::PathBuf; #[derive(clap::Args, Debug)] #[clap(author)] pub(crate) struct Connect { - /// Do you want to run against pg13, pg14, pg15, pg16, or pg17? + /// Do you want to run against pg13, pg14, pg15, pg16, pg17, or pg18? #[clap(env = "PG_VERSION")] pg_version: Option, /// The database to connect to (and create if the first time). Defaults to a database with the same name as the current extension name diff --git a/cargo-pgrx/src/command/init.rs b/cargo-pgrx/src/command/init.rs index 65cba2a2d4..961d1c6cb9 100644 --- a/cargo-pgrx/src/command/init.rs +++ b/cargo-pgrx/src/command/init.rs @@ -61,6 +61,9 @@ pub(crate) struct Init { /// If installed locally, the path to PG17's `pgconfig` tool, or `download` to have pgrx download/compile/install it #[clap(env = "PG17_PG_CONFIG", long)] pg17: Option, + /// If installed locally, the path to PG18's `pgconfig` tool, or `download` to have pgrx download/compile/install it + #[clap(env = "PG18_PG_CONFIG", long)] + pg18: Option, #[clap(from_global, action = ArgAction::Count)] verbose: u8, #[clap(long, help = "Base port number")] @@ -118,6 +121,9 @@ impl CommandExecute for Init { if let Some(ref version) = self.pg17 { versions.insert("pg17", version.clone()); } + if let Some(ref version) = self.pg18 { + versions.insert("pg18", version.clone()); + } if versions.is_empty() { // no arguments specified, so we'll just install our defaults diff --git a/cargo-pgrx/src/command/run.rs b/cargo-pgrx/src/command/run.rs index 079873dd50..0e118388ae 100644 --- a/cargo-pgrx/src/command/run.rs +++ b/cargo-pgrx/src/command/run.rs @@ -25,7 +25,7 @@ use std::path::{Path, PathBuf}; #[derive(clap::Args, Debug)] #[clap(author)] pub(crate) struct Run { - /// Do you want to run against pg13, pg14, pg15, pg16, or pg17? + /// Do you want to run against pg13, pg14, pg15, pg16, pg17, or pg18? #[clap(env = "PG_VERSION")] pg_version: Option, /// The database to connect to (and create if the first time). Defaults to a database with the same name as the current extension name diff --git a/cargo-pgrx/src/command/schema.rs b/cargo-pgrx/src/command/schema.rs index e1ea4e3f73..c982a47a6e 100644 --- a/cargo-pgrx/src/command/schema.rs +++ b/cargo-pgrx/src/command/schema.rs @@ -34,7 +34,7 @@ pub(crate) struct Schema { /// Build in test mode (for `cargo pgrx test`) #[clap(long)] test: bool, - /// Do you want to run against pg13, pg14, pg15, pg16, or pg17? + /// Do you want to run against pg13, pg14, pg15, pg16, pg17, or pg18? pg_version: Option, /// Compile for release mode (default is debug) #[clap(long, short)] diff --git a/cargo-pgrx/src/command/start.rs b/cargo-pgrx/src/command/start.rs index 94904a63c7..2837dbbcc4 100644 --- a/cargo-pgrx/src/command/start.rs +++ b/cargo-pgrx/src/command/start.rs @@ -22,7 +22,7 @@ use std::process::Stdio; #[derive(clap::Args, Debug, Clone)] #[clap(author)] pub(crate) struct Start { - /// The Postgres version to stop (pg13, pg14, pg15, pg16, pg17, or all) + /// The Postgres version to stop (pg13, pg14, pg15, pg16, pg17, pg18, or all) #[clap(env = "PG_VERSION")] pg_version: Option, #[clap(from_global, action = ArgAction::Count)] diff --git a/cargo-pgrx/src/command/stop.rs b/cargo-pgrx/src/command/stop.rs index a1227f0a89..6749e17fb5 100644 --- a/cargo-pgrx/src/command/stop.rs +++ b/cargo-pgrx/src/command/stop.rs @@ -20,7 +20,7 @@ use std::process::Stdio; #[derive(clap::Args, Debug, Clone)] #[clap(author)] pub(crate) struct Stop { - /// The Postgres version to stop (pg13, pg14, pg15, pg16, pg17, or all) + /// The Postgres version to stop (pg13, pg14, pg15, pg16, pg17, pg18, or all) #[clap(env = "PG_VERSION")] pg_version: Option, #[clap(from_global, action = ArgAction::Count)] diff --git a/cargo-pgrx/src/command/test.rs b/cargo-pgrx/src/command/test.rs index 1439f2da1b..3d31f4a980 100644 --- a/cargo-pgrx/src/command/test.rs +++ b/cargo-pgrx/src/command/test.rs @@ -20,7 +20,7 @@ use crate::CommandExecute; #[derive(clap::Args, Debug, Clone)] #[clap(author)] pub(crate) struct Test { - /// Do you want to run against pg13, pg14, pg15, pg16, pg17, or all? + /// Do you want to run against pg13, pg14, pg15, pg16, pg17, pg18, or all? #[clap(env = "PG_VERSION")] pg_version: Option, /// If specified, only run tests containing this string in their names diff --git a/cargo-pgrx/src/templates/bgworker_lib_rs b/cargo-pgrx/src/templates/bgworker_lib_rs index f96c9553cb..0b018e6876 100644 --- a/cargo-pgrx/src/templates/bgworker_lib_rs +++ b/cargo-pgrx/src/templates/bgworker_lib_rs @@ -2,7 +2,7 @@ use pgrx::bgworkers::*; use pgrx::prelude::*; use std::time::Duration; -::pgrx::pg_module_magic!(); +::pgrx::pg_module_magic!(c"{name}", pgrx::pg_sys::PG_VERSION); /* In order to use this bgworker with a cargo-pgrx managed database, you'll need to add this line to diff --git a/cargo-pgrx/src/templates/cargo_toml b/cargo-pgrx/src/templates/cargo_toml index 3a13ff757d..3f658c84c1 100644 --- a/cargo-pgrx/src/templates/cargo_toml +++ b/cargo-pgrx/src/templates/cargo_toml @@ -17,6 +17,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14" ] pg15 = ["pgrx/pg15", "pgrx-tests/pg15" ] pg16 = ["pgrx/pg16", "pgrx-tests/pg16" ] pg17 = ["pgrx/pg17", "pgrx-tests/pg17" ] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18" ] pg_test = [] [dependencies] diff --git a/cargo-pgrx/src/templates/lib_rs b/cargo-pgrx/src/templates/lib_rs index b63984338a..609f68a66f 100644 --- a/cargo-pgrx/src/templates/lib_rs +++ b/cargo-pgrx/src/templates/lib_rs @@ -1,6 +1,6 @@ use pgrx::prelude::*; -::pgrx::pg_module_magic!(); +::pgrx::pg_module_magic!(c"{name}", pgrx::pg_sys::PG_VERSION); #[pg_extern] fn hello_{name}() -> &'static str {{ diff --git a/pgrx-examples/aggregate/Cargo.toml b/pgrx-examples/aggregate/Cargo.toml index 49920562d1..962fe42a22 100644 --- a/pgrx-examples/aggregate/Cargo.toml +++ b/pgrx-examples/aggregate/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] bob = [] diff --git a/pgrx-examples/aggregate/src/lib.rs b/pgrx-examples/aggregate/src/lib.rs index 7d9a2da2cd..a6487a257b 100644 --- a/pgrx-examples/aggregate/src/lib.rs +++ b/pgrx-examples/aggregate/src/lib.rs @@ -14,7 +14,7 @@ use pgrx::StringInfo; use serde::{Deserialize, Serialize}; use std::str::FromStr; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"aggregate", pgrx::pg_sys::PG_VERSION); #[derive(Copy, Clone, PostgresType, Serialize, Deserialize)] #[pgvarlena_inoutfuncs] diff --git a/pgrx-examples/arrays/Cargo.toml b/pgrx-examples/arrays/Cargo.toml index 277f06dbd8..c0a75ea479 100644 --- a/pgrx-examples/arrays/Cargo.toml +++ b/pgrx-examples/arrays/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/arrays/src/lib.rs b/pgrx-examples/arrays/src/lib.rs index 0cdc46f246..ec7eee1a66 100644 --- a/pgrx-examples/arrays/src/lib.rs +++ b/pgrx-examples/arrays/src/lib.rs @@ -10,7 +10,7 @@ use pgrx::prelude::*; use serde::*; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"arrays", pgrx::pg_sys::PG_VERSION); #[pg_extern] fn sq_euclid_pgrx(a: Array, b: Array) -> f32 { diff --git a/pgrx-examples/bad_ideas/Cargo.toml b/pgrx-examples/bad_ideas/Cargo.toml index 434de5de7f..1478336f0e 100644 --- a/pgrx-examples/bad_ideas/Cargo.toml +++ b/pgrx-examples/bad_ideas/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/bad_ideas/src/lib.rs b/pgrx-examples/bad_ideas/src/lib.rs index 268811dec0..bce21aca7a 100644 --- a/pgrx-examples/bad_ideas/src/lib.rs +++ b/pgrx-examples/bad_ideas/src/lib.rs @@ -14,7 +14,7 @@ use std::io::{Read, Write}; use std::panic::catch_unwind; use std::process::Command; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"bad_ideas", pgrx::pg_sys::PG_VERSION); #[pg_extern] fn panic(s: &str) -> bool { diff --git a/pgrx-examples/bgworker/Cargo.toml b/pgrx-examples/bgworker/Cargo.toml index 19ee747bf5..eed4f8b1ec 100644 --- a/pgrx-examples/bgworker/Cargo.toml +++ b/pgrx-examples/bgworker/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/bgworker/src/lib.rs b/pgrx-examples/bgworker/src/lib.rs index d8e82a155d..e8992d9427 100644 --- a/pgrx-examples/bgworker/src/lib.rs +++ b/pgrx-examples/bgworker/src/lib.rs @@ -26,7 +26,7 @@ use std::time::Duration; this background worker */ -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"bgworker", pgrx::pg_sys::PG_VERSION); #[pg_guard] pub extern "C-unwind" fn _PG_init() { diff --git a/pgrx-examples/bytea/Cargo.toml b/pgrx-examples/bytea/Cargo.toml index 448a8d9f07..d76382f6b5 100644 --- a/pgrx-examples/bytea/Cargo.toml +++ b/pgrx-examples/bytea/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/bytea/src/lib.rs b/pgrx-examples/bytea/src/lib.rs index b436761467..0307303013 100644 --- a/pgrx-examples/bytea/src/lib.rs +++ b/pgrx-examples/bytea/src/lib.rs @@ -11,7 +11,7 @@ use libflate::gzip::{Decoder, Encoder}; use pgrx::prelude::*; use std::io::{Read, Write}; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"bytea", pgrx::pg_sys::PG_VERSION); /// gzip bytes. Postgres will automatically convert `text`/`varchar` data into `bytea` #[pg_extern] diff --git a/pgrx-examples/composite_type/Cargo.toml b/pgrx-examples/composite_type/Cargo.toml index a7e83d1664..7ac1726a1b 100644 --- a/pgrx-examples/composite_type/Cargo.toml +++ b/pgrx-examples/composite_type/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/composite_type/src/lib.rs b/pgrx-examples/composite_type/src/lib.rs index eb73d5f900..192cbc7ed8 100644 --- a/pgrx-examples/composite_type/src/lib.rs +++ b/pgrx-examples/composite_type/src/lib.rs @@ -23,7 +23,7 @@ using composite types. use pgrx::{opname, pg_operator, prelude::*}; // All `pgrx` extensions will do this: -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"composite_type", pgrx::pg_sys::PG_VERSION); /* Composite types must be defined either before they are used. diff --git a/pgrx-examples/custom_libname/Cargo.toml b/pgrx-examples/custom_libname/Cargo.toml index b1a879efd4..8b878d7de6 100644 --- a/pgrx-examples/custom_libname/Cargo.toml +++ b/pgrx-examples/custom_libname/Cargo.toml @@ -29,6 +29,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/custom_libname/src/lib.rs b/pgrx-examples/custom_libname/src/lib.rs index 1449d0630d..09769af199 100644 --- a/pgrx-examples/custom_libname/src/lib.rs +++ b/pgrx-examples/custom_libname/src/lib.rs @@ -9,7 +9,7 @@ //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. use pgrx::prelude::*; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"custom_libname", pgrx::pg_sys::PG_VERSION); #[pg_extern] fn hello_custom_libname() -> &'static str { diff --git a/pgrx-examples/custom_sql/Cargo.toml b/pgrx-examples/custom_sql/Cargo.toml index 0cda2a5424..349f46ee69 100644 --- a/pgrx-examples/custom_sql/Cargo.toml +++ b/pgrx-examples/custom_sql/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/custom_sql/src/lib.rs b/pgrx-examples/custom_sql/src/lib.rs index 251676b3a1..802ed3b03f 100644 --- a/pgrx-examples/custom_sql/src/lib.rs +++ b/pgrx-examples/custom_sql/src/lib.rs @@ -10,7 +10,7 @@ use pgrx::prelude::*; use serde::{Deserialize, Serialize}; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"custom_sql", pgrx::pg_sys::PG_VERSION); #[pg_schema] mod home { diff --git a/pgrx-examples/custom_types/Cargo.toml b/pgrx-examples/custom_types/Cargo.toml index c3975662fd..e94b109a12 100644 --- a/pgrx-examples/custom_types/Cargo.toml +++ b/pgrx-examples/custom_types/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] no-schema-generation = ["pgrx/no-schema-generation", "pgrx-tests/no-schema-generation"] diff --git a/pgrx-examples/custom_types/src/lib.rs b/pgrx-examples/custom_types/src/lib.rs index ab22ca878b..be6f84f744 100644 --- a/pgrx-examples/custom_types/src/lib.rs +++ b/pgrx-examples/custom_types/src/lib.rs @@ -16,7 +16,7 @@ mod hstore_clone; mod ordered; mod rust_enum; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"custom_types", pgrx::pg_sys::PG_VERSION); #[cfg(test)] pub mod pg_test { diff --git a/pgrx-examples/datetime/Cargo.toml b/pgrx-examples/datetime/Cargo.toml index 400e337485..9007655d65 100644 --- a/pgrx-examples/datetime/Cargo.toml +++ b/pgrx-examples/datetime/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/datetime/src/lib.rs b/pgrx-examples/datetime/src/lib.rs index 74036d5431..7c0836a322 100644 --- a/pgrx-examples/datetime/src/lib.rs +++ b/pgrx-examples/datetime/src/lib.rs @@ -10,7 +10,7 @@ use pgrx::prelude::*; use rand::Rng; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"datetime", pgrx::pg_sys::PG_VERSION); #[pg_extern(name = "to_iso_string", immutable, parallel_safe)] fn to_iso_string(tsz: TimestampWithTimeZone) -> String { diff --git a/pgrx-examples/errors/Cargo.toml b/pgrx-examples/errors/Cargo.toml index 847e660aed..7aa19dc5e1 100644 --- a/pgrx-examples/errors/Cargo.toml +++ b/pgrx-examples/errors/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/errors/src/lib.rs b/pgrx-examples/errors/src/lib.rs index a7c5c23731..a7983cf15b 100644 --- a/pgrx-examples/errors/src/lib.rs +++ b/pgrx-examples/errors/src/lib.rs @@ -10,7 +10,7 @@ use pgrx::prelude::*; use pgrx::{error, info, warning, PgRelation, FATAL, PANIC}; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"errors", pgrx::pg_sys::PG_VERSION); #[pg_extern] fn array_with_null_and_panic(input: Vec>) -> i64 { diff --git a/pgrx-examples/nostd/Cargo.toml b/pgrx-examples/nostd/Cargo.toml index 97ab66cebd..60783a0430 100644 --- a/pgrx-examples/nostd/Cargo.toml +++ b/pgrx-examples/nostd/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/nostd/src/lib.rs b/pgrx-examples/nostd/src/lib.rs index 1cdb9c2e16..63f0e9ff62 100644 --- a/pgrx-examples/nostd/src/lib.rs +++ b/pgrx-examples/nostd/src/lib.rs @@ -17,7 +17,7 @@ use serde::{Deserialize, Serialize}; use alloc::string::String; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"nostd", pgrx::pg_sys::PG_VERSION); /// standard Rust equality/comparison derives #[derive(Eq, PartialEq, Ord, Hash, PartialOrd)] diff --git a/pgrx-examples/numeric/Cargo.toml b/pgrx-examples/numeric/Cargo.toml index 378741c9a6..6f67816c95 100644 --- a/pgrx-examples/numeric/Cargo.toml +++ b/pgrx-examples/numeric/Cargo.toml @@ -29,6 +29,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/numeric/src/lib.rs b/pgrx-examples/numeric/src/lib.rs index 0bbc38a7e4..3629ef8d4c 100644 --- a/pgrx-examples/numeric/src/lib.rs +++ b/pgrx-examples/numeric/src/lib.rs @@ -10,7 +10,7 @@ #![allow(clippy::assign_op_pattern)] use pgrx::prelude::*; -pg_module_magic!(); +pgrx::pg_module_magic!(c"numeric", pgrx::pg_sys::PG_VERSION); #[pg_extern] fn add_numeric(a: Numeric<1000, 33>, b: Numeric<1000, 33>) -> Numeric<1000, 33> { diff --git a/pgrx-examples/operators/Cargo.toml b/pgrx-examples/operators/Cargo.toml index 7c9f0c8780..ad5b2d6956 100644 --- a/pgrx-examples/operators/Cargo.toml +++ b/pgrx-examples/operators/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/operators/src/lib.rs b/pgrx-examples/operators/src/lib.rs index c40df93d8c..4102d0a5dc 100644 --- a/pgrx-examples/operators/src/lib.rs +++ b/pgrx-examples/operators/src/lib.rs @@ -13,7 +13,7 @@ use serde::{Deserialize, Serialize}; mod derived; mod pgvarlena; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"operators", pgrx::pg_sys::PG_VERSION); #[derive(PostgresType, Serialize, Deserialize, Eq, PartialEq)] pub struct MyType { diff --git a/pgrx-examples/pgtrybuilder/.gitignore b/pgrx-examples/pgtrybuilder/.gitignore new file mode 100644 index 0000000000..3906c33241 --- /dev/null +++ b/pgrx-examples/pgtrybuilder/.gitignore @@ -0,0 +1,6 @@ +.DS_Store +.idea/ +/target +*.iml +**/*.rs.bk +Cargo.lock diff --git a/pgrx-examples/pgtrybuilder/Cargo.lock b/pgrx-examples/pgtrybuilder/Cargo.lock deleted file mode 100644 index 3e3c7578c0..0000000000 --- a/pgrx-examples/pgtrybuilder/Cargo.lock +++ /dev/null @@ -1,2349 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - -[[package]] -name = "annotate-snippets" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "710e8eae58854cdc1790fcb56cca04d712a17be849eeb81da2a724bf4bae2bc4" -dependencies = [ - "anstyle", - "unicode-width", -] - -[[package]] -name = "anstyle" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" - -[[package]] -name = "anyhow" -version = "1.0.97" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" - -[[package]] -name = "async-trait" -version = "0.1.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "atomic-traits" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707f750b93bd1b739cf9ddf85f8fe7c97a4a62c60ccf8b6f232514bd9103bedc" -dependencies = [ - "cfg-if", - "rustc_version", -] - -[[package]] -name = "autocfg" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "backtrace" -version = "0.3.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets", -] - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "bindgen" -version = "0.71.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" -dependencies = [ - "annotate-snippets", - "bitflags", - "cexpr", - "clang-sys", - "itertools", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn", -] - -[[package]] -name = "bit-set" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" - -[[package]] -name = "bitflags" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "bumpalo" -version = "3.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" - -[[package]] -name = "camino" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror 1.0.69", -] - -[[package]] -name = "cargo_toml" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02260d489095346e5cafd04dea8e8cb54d1d74fcd759022a9b72986ebe9a1257" -dependencies = [ - "serde", - "toml", -] - -[[package]] -name = "cc" -version = "1.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362" -dependencies = [ - "shlex", -] - -[[package]] -name = "cee-scape" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d67dfb052149f779f77e9ce089cea126e00657e8f0d11dafc7901fde4291101" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - -[[package]] -name = "clap" -version = "4.5.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2df961d8c8a0d08aa9945718ccf584145eee3f3aa06cddbeac12933781102e04" -dependencies = [ - "clap_builder", - "clap_derive", -] - -[[package]] -name = "clap-cargo" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b2ea69cefa96b848b73ad516ad1d59a195cdf9263087d977f648a818c8b43e" -dependencies = [ - "anstyle", - "cargo_metadata", - "clap", -] - -[[package]] -name = "clap_builder" -version = "4.5.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "132dbda40fb6753878316a489d5a1242a8ef2f0d9e47ba01c951ea8aa7d013a5" -dependencies = [ - "anstyle", - "clap_lex", -] - -[[package]] -name = "clap_derive" -version = "4.5.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "clap_lex" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" - -[[package]] -name = "convert_case" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baaaa0ecca5b51987b9423ccdc971514dd8b0bb7b4060b983d3664dad3f1f89f" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", - "subtle", -] - -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "either" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" - -[[package]] -name = "enum-map" -version = "2.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9" -dependencies = [ - "enum-map-derive", -] - -[[package]] -name = "enum-map-derive" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "errno" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "eyre" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" -dependencies = [ - "indenter", - "once_cell", -] - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - -[[package]] -name = "fastrand" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" - -[[package]] -name = "fixedbitset" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-core", - "futures-macro", - "futures-sink", - "futures-task", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" -dependencies = [ - "cfg-if", - "libc", - "r-efi", - "wasi 0.14.2+wasi-0.2.4", -] - -[[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[package]] -name = "glob" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" - -[[package]] -name = "half" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" - -[[package]] -name = "hash32" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" -dependencies = [ - "byteorder", -] - -[[package]] -name = "hashbrown" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", -] - -[[package]] -name = "heapless" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" -dependencies = [ - "hash32", - "stable_deref_trait", -] - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hermit-abi" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e" - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "home" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "icu_collections" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" - -[[package]] -name = "icu_normalizer" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" - -[[package]] -name = "icu_properties" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locid_transform", - "icu_properties_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" - -[[package]] -name = "icu_provider" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "idna" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[package]] -name = "indenter" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" - -[[package]] -name = "indexmap" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" -dependencies = [ - "equivalent", - "hashbrown", -] - -[[package]] -name = "is-terminal" -version = "0.4.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" -dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "is_ci" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" - -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" - -[[package]] -name = "js-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "libc" -version = "0.2.171" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" - -[[package]] -name = "libloading" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" -dependencies = [ - "cfg-if", - "windows-targets", -] - -[[package]] -name = "linux-raw-sys" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" - -[[package]] -name = "litemap" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" - -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" -dependencies = [ - "adler2", -] - -[[package]] -name = "mio" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" -dependencies = [ - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", -] - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "objc2-core-foundation" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daeaf60f25471d26948a1c2f840e3f7d86f4109e3af4e8e4b5cd70c39690d925" -dependencies = [ - "bitflags", -] - -[[package]] -name = "object" -version = "0.36.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" - -[[package]] -name = "owo-colors" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1036865bb9422d3300cf723f657c2851d0e9ab12567854b1f4eba3d77decf564" -dependencies = [ - "supports-color 2.1.0", - "supports-color 3.0.2", -] - -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "pathsearch" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da983bc5e582ab17179c190b4b66c7d76c5943a69c6d34df2a2b6bf8a2977b05" -dependencies = [ - "anyhow", - "libc", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "petgraph" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a98c6720655620a521dcc722d0ad66cd8afd5d86e34a89ef691c50b7b24de06" -dependencies = [ - "fixedbitset", - "hashbrown", - "indexmap", - "serde", -] - -[[package]] -name = "pgrx" -version = "0.13.1" -dependencies = [ - "atomic-traits", - "bitflags", - "bitvec", - "enum-map", - "heapless", - "libc", - "once_cell", - "pgrx-macros", - "pgrx-pg-sys", - "pgrx-sql-entity-graph", - "seahash", - "serde", - "serde_cbor", - "serde_json", - "thiserror 2.0.12", - "uuid", -] - -[[package]] -name = "pgrx-bindgen" -version = "0.13.1" -dependencies = [ - "bindgen", - "cc", - "clang-sys", - "eyre", - "pgrx-pg-config", - "proc-macro2", - "quote", - "regex", - "shlex", - "syn", - "walkdir", -] - -[[package]] -name = "pgrx-macros" -version = "0.13.1" -dependencies = [ - "pgrx-sql-entity-graph", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pgrx-pg-config" -version = "0.13.1" -dependencies = [ - "cargo_toml", - "eyre", - "home", - "owo-colors", - "pathsearch", - "serde", - "serde_json", - "thiserror 2.0.12", - "toml", - "url", -] - -[[package]] -name = "pgrx-pg-sys" -version = "0.13.1" -dependencies = [ - "cee-scape", - "libc", - "pgrx-bindgen", - "pgrx-macros", - "pgrx-sql-entity-graph", - "serde", - "sptr", -] - -[[package]] -name = "pgrx-sql-entity-graph" -version = "0.13.1" -dependencies = [ - "convert_case", - "eyre", - "petgraph", - "proc-macro2", - "quote", - "syn", - "thiserror 2.0.12", - "unescape", -] - -[[package]] -name = "pgrx-tests" -version = "0.13.1" -dependencies = [ - "clap-cargo", - "eyre", - "libc", - "owo-colors", - "paste", - "pgrx", - "pgrx-macros", - "pgrx-pg-config", - "postgres", - "proptest", - "rand 0.9.0", - "regex", - "serde", - "serde_json", - "shlex", - "sysinfo", - "tempfile", - "thiserror 2.0.12", - "winapi", -] - -[[package]] -name = "pgtrybuilder" -version = "0.0.0" -dependencies = [ - "pgrx", - "pgrx-tests", -] - -[[package]] -name = "phf" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" -dependencies = [ - "phf_shared", -] - -[[package]] -name = "phf_shared" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" -dependencies = [ - "siphasher", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "postgres" -version = "0.19.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "363e6dfbdd780d3aa3597b6eb430db76bb315fa9bad7fae595bb8def808b8470" -dependencies = [ - "bytes", - "fallible-iterator", - "futures-util", - "log", - "tokio", - "tokio-postgres", -] - -[[package]] -name = "postgres-protocol" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ff0abab4a9b844b93ef7b81f1efc0a366062aaef2cd702c76256b5dc075c54" -dependencies = [ - "base64", - "byteorder", - "bytes", - "fallible-iterator", - "hmac", - "md-5", - "memchr", - "rand 0.9.0", - "sha2", - "stringprep", -] - -[[package]] -name = "postgres-types" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613283563cd90e1dfc3518d548caee47e0e725455ed619881f5cf21f36de4b48" -dependencies = [ - "bytes", - "fallible-iterator", - "postgres-protocol", -] - -[[package]] -name = "ppv-lite86" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "proc-macro2" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "proptest" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" -dependencies = [ - "bit-set", - "bit-vec", - "bitflags", - "lazy_static", - "num-traits", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_xorshift", - "regex-syntax", - "rusty-fork", - "tempfile", - "unarray", -] - -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - -[[package]] -name = "quote" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r-efi" -version = "5.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" - -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" -dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.3", - "zerocopy", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.15", -] - -[[package]] -name = "rand_core" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" -dependencies = [ - "getrandom 0.3.2", -] - -[[package]] -name = "rand_xorshift" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "redox_syscall" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" -dependencies = [ - "bitflags", -] - -[[package]] -name = "regex" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustc-hash" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" - -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] - -[[package]] -name = "rustix" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.59.0", -] - -[[package]] -name = "rusty-fork" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" -dependencies = [ - "fnv", - "quick-error", - "tempfile", - "wait-timeout", -] - -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - -[[package]] -name = "semver" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" -dependencies = [ - "serde", -] - -[[package]] -name = "serde" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_cbor" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" -dependencies = [ - "half", - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.140" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_spanned" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" -dependencies = [ - "serde", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "siphasher" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" - -[[package]] -name = "socket2" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "sptr" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "stringprep" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" -dependencies = [ - "unicode-bidi", - "unicode-normalization", - "unicode-properties", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "supports-color" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89" -dependencies = [ - "is-terminal", - "is_ci", -] - -[[package]] -name = "supports-color" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64fc7232dd8d2e4ac5ce4ef302b1d81e0b80d055b9d77c7c4f51f6aa4c867d6" -dependencies = [ - "is_ci", -] - -[[package]] -name = "syn" -version = "2.0.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "synstructure" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sysinfo" -version = "0.34.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b93974b3d3aeaa036504b8eefd4c039dced109171c1ae973f1dc63b2c7e4b2" -dependencies = [ - "libc", - "memchr", - "ntapi", - "objc2-core-foundation", - "windows", -] - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tempfile" -version = "3.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" -dependencies = [ - "fastrand", - "getrandom 0.3.2", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" -dependencies = [ - "thiserror-impl 2.0.12", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tinystr" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" -dependencies = [ - "displaydoc", - "zerovec", -] - -[[package]] -name = "tinyvec" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.44.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "pin-project-lite", - "socket2", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-postgres" -version = "0.7.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c95d533c83082bb6490e0189acaa0bbeef9084e60471b696ca6988cd0541fb0" -dependencies = [ - "async-trait", - "byteorder", - "bytes", - "fallible-iterator", - "futures-channel", - "futures-util", - "log", - "parking_lot", - "percent-encoding", - "phf", - "pin-project-lite", - "postgres-protocol", - "postgres-types", - "rand 0.9.0", - "socket2", - "tokio", - "tokio-util", - "whoami", -] - -[[package]] -name = "tokio-util" -version = "0.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", -] - -[[package]] -name = "toml_datetime" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.22.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" -dependencies = [ - "indexmap", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "typenum" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" - -[[package]] -name = "unarray" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" - -[[package]] -name = "unescape" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb97dac3243214f8d8507998906ca3e2e0b900bf9bf4870477f125b82e68f6e" - -[[package]] -name = "unicode-bidi" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" - -[[package]] -name = "unicode-ident" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-properties" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" - -[[package]] -name = "unicode-segmentation" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" - -[[package]] -name = "unicode-width" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" - -[[package]] -name = "url" -version = "2.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - -[[package]] -name = "uuid" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" -dependencies = [ - "getrandom 0.3.2", -] - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "wait-timeout" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" -dependencies = [ - "libc", -] - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" -dependencies = [ - "wit-bindgen-rt", -] - -[[package]] -name = "wasite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - -[[package]] -name = "wasm-bindgen" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" -dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "web-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "whoami" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" -dependencies = [ - "redox_syscall", - "wasite", - "web-sys", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" -dependencies = [ - "windows-core", - "windows-targets", -] - -[[package]] -name = "windows-core" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-result", - "windows-targets", -] - -[[package]] -name = "windows-implement" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "windows-interface" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "windows-result" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "winnow" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63d3fcd9bba44b03821e7d699eeee959f3126dcc4aa8e4ae18ec617c2a5cea10" -dependencies = [ - "memchr", -] - -[[package]] -name = "wit-bindgen-rt" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags", -] - -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - -[[package]] -name = "writeable" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - -[[package]] -name = "yoke" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zerocopy" -version = "0.8.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zerofrom" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zerovec" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] diff --git a/pgrx-examples/pgtrybuilder/Cargo.toml b/pgrx-examples/pgtrybuilder/Cargo.toml index e7c7e40185..13060bf287 100644 --- a/pgrx-examples/pgtrybuilder/Cargo.toml +++ b/pgrx-examples/pgtrybuilder/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/pgtrybuilder/src/lib.rs b/pgrx-examples/pgtrybuilder/src/lib.rs index 16ec0e83d1..e517dc51af 100644 --- a/pgrx-examples/pgtrybuilder/src/lib.rs +++ b/pgrx-examples/pgtrybuilder/src/lib.rs @@ -10,7 +10,7 @@ use pgrx::pg_sys::panic::CaughtError; use pgrx::prelude::*; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"pgtrybuilder", pgrx::pg_sys::PG_VERSION); #[pg_extern] fn is_valid_number(i: i32) -> i32 { diff --git a/pgrx-examples/range/Cargo.toml b/pgrx-examples/range/Cargo.toml index 03c2112fcb..c9abb9c3e4 100644 --- a/pgrx-examples/range/Cargo.toml +++ b/pgrx-examples/range/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/range/src/lib.rs b/pgrx-examples/range/src/lib.rs index df85d8bef4..7e28b0eec7 100644 --- a/pgrx-examples/range/src/lib.rs +++ b/pgrx-examples/range/src/lib.rs @@ -9,7 +9,7 @@ //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. use pgrx::prelude::*; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"range", pgrx::pg_sys::PG_VERSION); #[pg_extern] fn range(s: i32, e: i32) -> pgrx::Range { diff --git a/pgrx-examples/schemas/Cargo.toml b/pgrx-examples/schemas/Cargo.toml index c5cf71ade4..12f0f5bd37 100644 --- a/pgrx-examples/schemas/Cargo.toml +++ b/pgrx-examples/schemas/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/schemas/src/lib.rs b/pgrx-examples/schemas/src/lib.rs index bdf59ef39d..052065123f 100644 --- a/pgrx-examples/schemas/src/lib.rs +++ b/pgrx-examples/schemas/src/lib.rs @@ -13,7 +13,7 @@ use pgrx::prelude::*; use serde::{Deserialize, Serialize}; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"schemas", pgrx::pg_sys::PG_VERSION); #[derive(PostgresType, Serialize, Deserialize)] pub struct MyType(pub(crate) String); diff --git a/pgrx-examples/shmem/Cargo.toml b/pgrx-examples/shmem/Cargo.toml index c9963df21a..19eff10a12 100644 --- a/pgrx-examples/shmem/Cargo.toml +++ b/pgrx-examples/shmem/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/shmem/src/lib.rs b/pgrx-examples/shmem/src/lib.rs index 56f7b9d74e..3a96d5cc46 100644 --- a/pgrx-examples/shmem/src/lib.rs +++ b/pgrx-examples/shmem/src/lib.rs @@ -15,7 +15,7 @@ use pgrx::{pg_shmem_init, warning}; use serde::*; use std::sync::atomic::Ordering; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"shmem", pgrx::pg_sys::PG_VERSION); // types behind a `LwLock` must derive/implement `Copy` and `Clone` #[derive(Copy, Clone)] diff --git a/pgrx-examples/spi/Cargo.toml b/pgrx-examples/spi/Cargo.toml index cbc63de936..3179029f9f 100644 --- a/pgrx-examples/spi/Cargo.toml +++ b/pgrx-examples/spi/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/spi/src/lib.rs b/pgrx-examples/spi/src/lib.rs index 238444425a..82b6413a53 100644 --- a/pgrx-examples/spi/src/lib.rs +++ b/pgrx-examples/spi/src/lib.rs @@ -9,7 +9,7 @@ //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. use pgrx::prelude::*; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"spi", pgrx::pg_sys::PG_VERSION); extension_sql!( r#" @@ -43,6 +43,8 @@ fn spi_return_query() -> Result< let query = "SELECT oid, relname::text || '-pg16' FROM pg_class"; #[cfg(feature = "pg17")] let query = "SELECT oid, relname::text || '-pg17' FROM pg_class"; + #[cfg(feature = "pg18")] + let query = "SELECT oid, relname::text || '-pg18' FROM pg_class"; Spi::connect(|client| { client diff --git a/pgrx-examples/spi_srf/Cargo.toml b/pgrx-examples/spi_srf/Cargo.toml index 19b43e39c6..2d8d50d49c 100644 --- a/pgrx-examples/spi_srf/Cargo.toml +++ b/pgrx-examples/spi_srf/Cargo.toml @@ -29,6 +29,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/spi_srf/src/lib.rs b/pgrx-examples/spi_srf/src/lib.rs index 63027fed34..a890adb78c 100644 --- a/pgrx-examples/spi_srf/src/lib.rs +++ b/pgrx-examples/spi_srf/src/lib.rs @@ -9,7 +9,7 @@ //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. use pgrx::prelude::*; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"spi_srf", pgrx::pg_sys::PG_VERSION); extension_sql!( r#" diff --git a/pgrx-examples/srf/Cargo.toml b/pgrx-examples/srf/Cargo.toml index c67c4f2f2c..b6a6eb0339 100644 --- a/pgrx-examples/srf/Cargo.toml +++ b/pgrx-examples/srf/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/srf/src/lib.rs b/pgrx-examples/srf/src/lib.rs index 3f95fefb10..76a4037e57 100644 --- a/pgrx-examples/srf/src/lib.rs +++ b/pgrx-examples/srf/src/lib.rs @@ -9,7 +9,7 @@ //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. use pgrx::prelude::*; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"srf", pgrx::pg_sys::PG_VERSION); #[pg_extern] fn generate_series(start: i64, finish: i64, step: default!(i64, 1)) -> SetOfIterator<'static, i64> { diff --git a/pgrx-examples/strings/Cargo.toml b/pgrx-examples/strings/Cargo.toml index 8d1532780b..98054d10f8 100644 --- a/pgrx-examples/strings/Cargo.toml +++ b/pgrx-examples/strings/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/strings/src/lib.rs b/pgrx-examples/strings/src/lib.rs index c5d8d1494b..f84353f26e 100644 --- a/pgrx-examples/strings/src/lib.rs +++ b/pgrx-examples/strings/src/lib.rs @@ -9,7 +9,7 @@ //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. use pgrx::prelude::*; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"strings", pgrx::pg_sys::PG_VERSION); #[pg_extern] fn return_static() -> &'static str { diff --git a/pgrx-examples/triggers/Cargo.toml b/pgrx-examples/triggers/Cargo.toml index 4912c0d73f..2fdf164d15 100644 --- a/pgrx-examples/triggers/Cargo.toml +++ b/pgrx-examples/triggers/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/triggers/src/lib.rs b/pgrx-examples/triggers/src/lib.rs index 66166cee2f..1b8288a2a4 100644 --- a/pgrx-examples/triggers/src/lib.rs +++ b/pgrx-examples/triggers/src/lib.rs @@ -9,7 +9,7 @@ //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. use pgrx::prelude::*; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"triggers", pgrx::pg_sys::PG_VERSION); #[derive(thiserror::Error, Debug)] enum TriggerError { diff --git a/pgrx-examples/versioned_custom_libname_so/Cargo.toml b/pgrx-examples/versioned_custom_libname_so/Cargo.toml index 1637bbb4ce..e90260afa5 100644 --- a/pgrx-examples/versioned_custom_libname_so/Cargo.toml +++ b/pgrx-examples/versioned_custom_libname_so/Cargo.toml @@ -29,6 +29,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/versioned_custom_libname_so/src/lib.rs b/pgrx-examples/versioned_custom_libname_so/src/lib.rs index 089c23a514..24e8cf0dd3 100644 --- a/pgrx-examples/versioned_custom_libname_so/src/lib.rs +++ b/pgrx-examples/versioned_custom_libname_so/src/lib.rs @@ -9,7 +9,7 @@ //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. use pgrx::prelude::*; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"versioned_custom_libname_so", pgrx::pg_sys::PG_VERSION); #[pg_extern] fn hello_versioned_custom_libname_so() -> &'static str { diff --git a/pgrx-examples/versioned_so/Cargo.toml b/pgrx-examples/versioned_so/Cargo.toml index 1b5d2859a0..dfcc9c3a4e 100644 --- a/pgrx-examples/versioned_so/Cargo.toml +++ b/pgrx-examples/versioned_so/Cargo.toml @@ -28,6 +28,7 @@ pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/versioned_so/src/lib.rs b/pgrx-examples/versioned_so/src/lib.rs index 3d2031e53d..261a0faa33 100644 --- a/pgrx-examples/versioned_so/src/lib.rs +++ b/pgrx-examples/versioned_so/src/lib.rs @@ -9,7 +9,7 @@ //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. use pgrx::prelude::*; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"versioned_so", pgrx::pg_sys::PG_VERSION); #[pg_extern] fn hello_versioned_so() -> &'static str { diff --git a/pgrx-examples/wal_decoder/Cargo.toml b/pgrx-examples/wal_decoder/Cargo.toml index bb4487fb03..db89ab1763 100644 --- a/pgrx-examples/wal_decoder/Cargo.toml +++ b/pgrx-examples/wal_decoder/Cargo.toml @@ -12,11 +12,12 @@ path = "./src/bin/pgrx_embed.rs" [features] default = ["pg13"] -pg13 = ["pgrx/pg13", "pgrx-tests/pg13" ] -pg14 = ["pgrx/pg14", "pgrx-tests/pg14" ] -pg15 = ["pgrx/pg15", "pgrx-tests/pg15" ] -pg16 = ["pgrx/pg16", "pgrx-tests/pg16" ] -pg17 = ["pgrx/pg17", "pgrx-tests/pg17" ] +pg13 = ["pgrx/pg13", "pgrx-tests/pg13"] +pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] +pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] +pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] +pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] diff --git a/pgrx-examples/wal_decoder/src/lib.rs b/pgrx-examples/wal_decoder/src/lib.rs index 20a1b2693c..6a90d3c21a 100644 --- a/pgrx-examples/wal_decoder/src/lib.rs +++ b/pgrx-examples/wal_decoder/src/lib.rs @@ -4,7 +4,7 @@ use serde::ser::{SerializeStruct, Serializer}; use serde::Serialize; use std::alloc::{alloc, dealloc, Layout}; -::pgrx::pg_module_magic!(); +pgrx::pg_module_magic!(c"wal_decoder", pgrx::pg_sys::PG_VERSION); // An Action describe a change that occurred on a table #[derive(Serialize)] @@ -38,10 +38,14 @@ impl Action { // This is a simple COMMIT Statement pub fn commit(txn: PgBox, change_count: i64) -> Self { + #[cfg(any(feature = "pg13", feature = "pg14"))] + let committed = txn.commit_time; + #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17", feature = "pg18"))] + let committed = unsafe { txn.xact_time.commit_time }; Self { typ: "COMMIT".into(), // TODO: convert the commit timestamp into a human readable format ? - committed: Some(txn.commit_time), + committed: Some(committed), rel: None, old: None, new: None, @@ -134,7 +138,10 @@ struct DecodingState { // A Tuple describes the values of a table row before or after a change struct Tuple { rel: pgrx::PgRelation, + #[cfg(any(feature = "pg13", feature = "pg14", feature = "pg15", feature = "pg16"))] data: PgBox, + #[cfg(any(feature = "pg17", feature = "pg18"))] + data: PgBox, } // Loop over the Tuple attributes and serialize them @@ -159,14 +166,14 @@ impl Serialize for Tuple { } .to_str() .unwrap(); - let mut tuple = self.data.tuple; + + #[cfg(any(feature = "pg13", feature = "pg14", feature = "pg15", feature = "pg16"))] + let tuple = unsafe { &raw mut (*self.data.as_ptr()).tuple }; + #[cfg(any(feature = "pg17", feature = "pg18"))] + let tuple = self.data.as_ptr(); + let datum = unsafe { - pg_sys::heap_getattr( - &mut tuple, - attribute.attnum.into(), - desc.as_ptr(), - &mut isnull, - ) + pg_sys::heap_getattr(tuple, attribute.attnum.into(), desc.as_ptr(), &mut isnull) }; if isnull { continue; diff --git a/pgrx-pg-config/src/lib.rs b/pgrx-pg-config/src/lib.rs index 4192b2cb84..428f21f05f 100644 --- a/pgrx-pg-config/src/lib.rs +++ b/pgrx-pg-config/src/lib.rs @@ -707,6 +707,16 @@ pub fn SUPPORTED_VERSIONS() -> Vec { PgVersion::new(15, PgMinorVersion::Latest, None), PgVersion::new(16, PgMinorVersion::Latest, None), PgVersion::new(17, PgMinorVersion::Latest, None), + PgVersion::new( + 18, + PgMinorVersion::Beta(1), + Some( + Url::parse( + "https://ftp.postgresql.org/pub/source/v18beta1/postgresql-18beta1.tar.bz2", + ) + .expect("malformed pg18beta1 url"), + ), + ), ] } diff --git a/pgrx-pg-sys/Cargo.toml b/pgrx-pg-sys/Cargo.toml index 3e9597a74f..c30770b2c5 100644 --- a/pgrx-pg-sys/Cargo.toml +++ b/pgrx-pg-sys/Cargo.toml @@ -29,6 +29,7 @@ pg14 = [] pg15 = [] pg16 = [] pg17 = [] +pg18 = [] cshim = [] [package.metadata.docs.rs] diff --git a/pgrx-pg-sys/include/pg18.h b/pgrx-pg-sys/include/pg18.h new file mode 100644 index 0000000000..948c26313f --- /dev/null +++ b/pgrx-pg-sys/include/pg18.h @@ -0,0 +1,204 @@ +//LICENSE Portions Copyright 2019-2021 ZomboDB, LLC. +//LICENSE +//LICENSE Portions Copyright 2021-2023 Technology Concepts & Design, Inc. +//LICENSE +//LICENSE Portions Copyright 2023-2023 PgCentral Foundation, Inc. +//LICENSE +//LICENSE All rights reserved. +//LICENSE +//LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. + + +#include "postgres.h" +#include "pg_config.h" +#include "funcapi.h" +#include "miscadmin.h" +#include "pgstat.h" +#include "varatt.h" + +#include "access/amapi.h" +#include "access/detoast.h" +#include "access/genam.h" +#include "access/generic_xlog.h" +#include "access/gin.h" +#include "access/gist.h" +#include "access/heapam.h" +#include "access/htup.h" +#include "access/htup_details.h" +#include "access/multixact.h" +#include "access/relation.h" +#include "access/reloptions.h" +#include "access/relscan.h" +#include "access/rmgr.h" +#include "access/skey.h" +#include "access/sysattr.h" +#include "access/table.h" +#include "access/visibilitymap.h" +#include "access/xact.h" +#include "access/xlog_internal.h" +#include "access/xlogreader.h" +#include "access/xlogrecovery.h" +#include "access/xlogutils.h" +#include "catalog/catalog.h" +#include "catalog/dependency.h" +#include "catalog/index.h" +#include "catalog/indexing.h" +#include "catalog/namespace.h" +#include "catalog/objectaccess.h" +#include "catalog/objectaddress.h" +#include "catalog/pg_am.h" +#include "catalog/pg_amop.h" +#include "catalog/pg_amproc.h" +#include "catalog/pg_authid.h" +#include "catalog/pg_class.h" +#include "catalog/pg_collation.h" +#include "catalog/pg_database.h" +#include "catalog/pg_enum.h" +#include "catalog/pg_extension.h" +#include "catalog/pg_foreign_data_wrapper.h" +#include "catalog/pg_foreign_server.h" +#include "catalog/pg_foreign_table.h" +#include "catalog/pg_operator.h" +#include "catalog/pg_opclass.h" +#include "catalog/pg_opfamily.h" +#include "catalog/pg_proc.h" +#include "catalog/pg_namespace.h" +#include "catalog/pg_seclabel.h" +#include "catalog/pg_tablespace.h" +#include "catalog/pg_trigger.h" +#include "catalog/pg_type.h" +#include "catalog/pg_user_mapping.h" +#include "catalog/storage.h" +#include "commands/comment.h" +#include "commands/copy.h" +#include "commands/dbcommands.h" +#include "commands/defrem.h" +#include "commands/event_trigger.h" +#include "commands/explain.h" +#include "commands/extension.h" +#include "commands/prepare.h" +#include "commands/proclang.h" +#include "commands/progress.h" +#include "commands/seclabel.h" +#include "commands/tablespace.h" +#include "commands/tablecmds.h" +#include "commands/trigger.h" +#include "commands/user.h" +#include "commands/vacuum.h" +#include "common/config_info.h" +#include "common/controldata_utils.h" +#include "executor/execExpr.h" +#include "executor/executor.h" +#include "executor/spi.h" +#include "executor/tuptable.h" +#include "foreign/fdwapi.h" +#include "foreign/foreign.h" +#include "jit/jit.h" +#include "lib/stringinfo.h" +#include "libpq/pqformat.h" +#include "mb/pg_wchar.h" +#include "nodes/execnodes.h" +#include "nodes/extensible.h" +#include "nodes/makefuncs.h" +#include "nodes/miscnodes.h" +#include "nodes/nodeFuncs.h" +#include "nodes/nodes.h" +#include "nodes/parsenodes.h" +#include "nodes/primnodes.h" +#include "nodes/print.h" +#include "nodes/replnodes.h" +#include "nodes/subscripting.h" +#include "nodes/supportnodes.h" +#include "nodes/tidbitmap.h" +#include "nodes/value.h" +#include "optimizer/appendinfo.h" +#include "optimizer/clauses.h" +#include "optimizer/cost.h" +#include "optimizer/optimizer.h" +#include "optimizer/pathnode.h" +#include "optimizer/paths.h" +#include "optimizer/plancat.h" +#include "optimizer/planmain.h" +#include "optimizer/planner.h" +#include "optimizer/restrictinfo.h" +#include "optimizer/tlist.h" +#include "parser/analyze.h" +#include "parser/parse_collate.h" +#include "parser/parse_expr.h" +#include "parser/parse_func.h" +#include "parser/parse_oper.h" +#include "parser/parse_relation.h" +#include "parser/parse_type.h" +#include "parser/parse_coerce.h" +#include "parser/parser.h" +#include "parser/parsetree.h" +#include "parser/scansup.h" +#include "partitioning/partbounds.h" +#include "partitioning/partdefs.h" +#include "partitioning/partdesc.h" +#include "partitioning/partprune.h" +#include "plpgsql.h" +#include "postmaster/bgworker.h" +#include "postmaster/postmaster.h" +#include "postmaster/syslogger.h" +#include "replication/logical.h" +#include "replication/logicalworker.h" +#include "replication/output_plugin.h" +#include "rewrite/rewriteHandler.h" +#include "rewrite/rowsecurity.h" +#include "storage/block.h" +#include "storage/buf_internals.h" +#include "storage/bufmgr.h" +#include "storage/buffile.h" +#include "storage/bufpage.h" +#include "storage/indexfsm.h" +#include "storage/freespace.h" +#include "storage/ipc.h" +#include "storage/itemptr.h" +#include "storage/lmgr.h" +#include "storage/lwlock.h" +#include "storage/procarray.h" +#include "storage/relfilelocator.h" +#include "storage/smgr.h" +#include "storage/spin.h" +#include "storage/sync.h" +#include "tcop/pquery.h" +#include "tcop/tcopprot.h" +#include "tcop/utility.h" +#include "tsearch/ts_cache.h" +#include "tsearch/ts_public.h" +#include "tsearch/ts_utils.h" +#include "utils/acl.h" +#include "utils/builtins.h" +#include "utils/date.h" +#include "utils/datetime.h" +#include "utils/elog.h" +#include "utils/float.h" +#include "utils/fmgroids.h" +#include "utils/fmgrprotos.h" +#include "utils/geo_decls.h" +#include "utils/guc.h" +#include "utils/json.h" +#include "utils/jsonb.h" +#include "utils/lsyscache.h" +#include "utils/memutils.h" +#include "utils/numeric.h" +#include "utils/palloc.h" +#include "utils/regproc.h" +#include "utils/rel.h" +#include "utils/relcache.h" +#include "utils/resowner.h" +#include "utils/rls.h" +#include "utils/ruleutils.h" +#include "utils/sampling.h" +#include "utils/selfuncs.h" +#include "utils/snapmgr.h" +#include "utils/sortsupport.h" +#include "utils/spccache.h" +#include "utils/catcache.h" +#include "utils/syscache.h" +#include "utils/tuplestore.h" +#include "utils/typcache.h" +#include "utils/rangetypes.h" +#include "utils/rel.h" +#include "utils/varlena.h" diff --git a/pgrx-pg-sys/src/include.rs b/pgrx-pg-sys/src/include.rs index 9524e30a4f..0e35f07bc2 100644 --- a/pgrx-pg-sys/src/include.rs +++ b/pgrx-pg-sys/src/include.rs @@ -42,6 +42,14 @@ pub(crate) mod pg17 { #[cfg(all(feature = "pg17", docsrs))] pub(crate) mod pg17; +#[cfg(all(feature = "pg18", not(docsrs)))] +pub(crate) mod pg18 { + #![allow(clippy::all)] + include!(concat!(env!("OUT_DIR"), "/pg18.rs")); +} +#[cfg(all(feature = "pg18", docsrs))] +pub(crate) mod pg18; + // export each module publicly #[cfg(feature = "pg13")] pub use pg13::*; @@ -53,6 +61,8 @@ pub use pg15::*; pub use pg16::*; #[cfg(feature = "pg17")] pub use pg17::*; +#[cfg(feature = "pg18")] +pub use pg18::*; // feature gate each pg-specific oid module #[cfg(all(feature = "pg13", not(docsrs)))] @@ -88,6 +98,12 @@ mod pg17_oids { } #[cfg(all(feature = "pg17", docsrs))] mod pg17_oids; +#[cfg(all(feature = "pg18", not(docsrs)))] +mod pg18_oids { + include!(concat!(env!("OUT_DIR"), "/pg18_oids.rs")); +} +#[cfg(all(feature = "pg18", docsrs))] +mod pg18_oids; // export that module publicly #[cfg(feature = "pg13")] @@ -100,6 +116,8 @@ pub use pg15_oids::*; pub use pg16_oids::*; #[cfg(feature = "pg17")] pub use pg17_oids::*; +#[cfg(feature = "pg18")] +pub use pg18_oids::*; mod internal { //! @@ -285,6 +303,42 @@ mod internal { ); } } + + #[cfg(feature = "pg18")] + pub(crate) mod pg18 { + pub use crate::pg18::AllocSetContextCreateInternal as AllocSetContextCreateExtended; + + pub const QTW_EXAMINE_RTES: u32 = crate::pg18::QTW_EXAMINE_RTES_BEFORE; + + /// # Safety + /// + /// This function wraps Postgres' internal `IndexBuildHeapScan` method, and therefore, is + /// inherently unsafe + pub unsafe fn IndexBuildHeapScan( + heap_relation: crate::Relation, + index_relation: crate::Relation, + index_info: *mut crate::IndexInfo, + build_callback: crate::IndexBuildCallback, + build_callback_state: *mut T, + ) { + let heap_relation_ref = heap_relation.as_ref().unwrap(); + let table_am = heap_relation_ref.rd_tableam.as_ref().unwrap(); + + table_am.index_build_range_scan.unwrap()( + heap_relation, + index_relation, + index_info, + true, + false, + true, + 0, + crate::InvalidBlockNumber, + build_callback, + build_callback_state as *mut std::os::raw::c_void, + std::ptr::null_mut(), + ); + } + } } // and things that are version-specific @@ -302,3 +356,6 @@ pub use internal::pg16::*; #[cfg(feature = "pg17")] pub use internal::pg17::*; + +#[cfg(feature = "pg18")] +pub use internal::pg18::*; diff --git a/pgrx-pg-sys/src/include/pg18.rs b/pgrx-pg-sys/src/include/pg18.rs new file mode 100644 index 0000000000..eda746e3f7 --- /dev/null +++ b/pgrx-pg-sys/src/include/pg18.rs @@ -0,0 +1,60962 @@ +/* Automatically generated by bindgen. Do not hand-edit. */ +use crate as pg_sys; +use crate::{Datum, MultiXactId, Oid, PgNode, TransactionId}; +#[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] + fn extract_bit(byte: u8, index: usize) -> bool { + 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 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]; + Self::extract_bit(byte, index) + } + #[inline] + pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { + debug_assert!(index / 8 < core::mem::size_of::()); + let byte_index = index / 8; + let byte = *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize); + Self::extract_bit(byte, index) + } + #[inline] + fn change_bit(byte: u8, index: usize, val: bool) -> u8 { + 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 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]; + *byte = Self::change_bit(*byte, index, val); + } + #[inline] + pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { + debug_assert!(index / 8 < core::mem::size_of::()); + let byte_index = index / 8; + let byte = + (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize); + *byte = Self::change_bit(*byte, index, val); + } + #[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 unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { + debug_assert!(bit_width <= 64); + debug_assert!(bit_offset / 8 < core::mem::size_of::()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); + let mut val = 0; + for i in 0..(bit_width as usize) { + if Self::raw_get_bit(this, 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); + } + } + #[inline] + pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { + debug_assert!(bit_width <= 64); + debug_assert!(bit_offset / 8 < core::mem::size_of::()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); + 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::raw_set_bit(this, index + bit_offset, val_bit_is_set); + } + } +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +impl __IncompleteArrayField { + #[inline] + pub const fn new() -> Self { + __IncompleteArrayField(::core::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] { + unsafe { ::core::slice::from_raw_parts(self.as_ptr(), len) } + } + #[inline] + pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { + unsafe { ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) } + } +} +impl ::core::fmt::Debug for __IncompleteArrayField { + fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + fmt.write_str("__IncompleteArrayField") + } +} +pub const ALIGNOF_DOUBLE: u32 = 8; +pub const ALIGNOF_INT: u32 = 4; +pub const ALIGNOF_INT64_T: u32 = 8; +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 DEF_PGPORT: u32 = 28800; +pub const DEF_PGPORT_STR: &::core::ffi::CStr = c"28800"; +pub const DLSUFFIX: &::core::ffi::CStr = c".so"; +pub const MAXIMUM_ALIGNOF: u32 = 8; +pub const MEMSET_LOOP_LIMIT: u32 = 1024; +pub const PACKAGE_BUGREPORT: &::core::ffi::CStr = c"pgsql-bugs@lists.postgresql.org"; +pub const PACKAGE_NAME: &::core::ffi::CStr = c"PostgreSQL"; +pub const PACKAGE_STRING: &::core::ffi::CStr = c"PostgreSQL 18beta1"; +pub const PACKAGE_TARNAME: &::core::ffi::CStr = c"postgresql"; +pub const PACKAGE_URL: &::core::ffi::CStr = c"https://www.postgresql.org/"; +pub const PACKAGE_VERSION: &::core::ffi::CStr = c"18beta1"; +pub const PG_KRB_SRVNAM: &::core::ffi::CStr = c"postgres"; +pub const PG_MAJORVERSION: &::core::ffi::CStr = c"18"; +pub const PG_MAJORVERSION_NUM: u32 = 18; +pub const PG_MINORVERSION_NUM: u32 = 0; +pub const PG_VERSION: &::core::ffi::CStr = c"18beta1"; +pub const PG_VERSION_NUM: u32 = 180000; +pub const PG_VERSION_STR: &::core::ffi::CStr = + c"PostgreSQL 18beta1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 14.2.1 20250207, 64-bit"; +pub const RELSEG_SIZE: u32 = 131072; +pub const SIZEOF_LONG: u32 = 8; +pub const SIZEOF_LONG_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_ASSERT_CHECKING: u32 = 1; +pub const USE_AVX512_CRC32C_WITH_RUNTIME_CHECK: u32 = 1; +pub const USE_AVX512_POPCNT_WITH_RUNTIME_CHECK: u32 = 1; +pub const USE_ICU: u32 = 1; +pub const USE_LIBURING: u32 = 1; +pub const USE_SSE42_CRC32C_WITH_RUNTIME_CHECK: 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 FMGR_ABI_EXTRA: &::core::ffi::CStr = c"PostgreSQL"; +pub const INDEX_MAX_KEYS: u32 = 32; +pub const PARTITION_MAX_KEYS: u32 = 32; +pub const USE_FLOAT8_BYVAL: u32 = 1; +pub const MAXPGPATH: u32 = 1024; +pub const BITS_PER_BYTE: u32 = 8; +pub const ALIGNOF_BUFFER: u32 = 32; +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: &::core::ffi::CStr = c"/tmp"; +pub const DEFAULT_EVENT_SOURCE: &::core::ffi::CStr = c"PostgreSQL"; +pub const PG_CACHE_LINE_SIZE: u32 = 128; +pub const PG_IO_ALIGN_SIZE: u32 = 4096; +pub const SIG_ATOMIC_MIN: i32 = -2147483648; +pub const SIG_ATOMIC_MAX: u32 = 2147483647; +pub const SIG_ATOMIC_WIDTH: u32 = 32; +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 INT64_FORMAT: &::core::ffi::CStr = c"%ld"; +pub const UINT64_FORMAT: &::core::ffi::CStr = c"%lu"; +pub const INT64_HEX_FORMAT: &::core::ffi::CStr = c"%lx"; +pub const UINT64_HEX_FORMAT: &::core::ffi::CStr = c"%lx"; +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 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: &::core::ffi::CStr = c"a"; +pub const PG_BINARY_R: &::core::ffi::CStr = c"r"; +pub const PG_BINARY_W: &::core::ffi::CStr = c"w"; +pub const PGINVALID_SOCKET: i32 = -1; +pub const PG_BACKEND_VERSIONSTR: &::core::ffi::CStr = c"postgres (PostgreSQL) 18beta1\n"; +pub const EXE: &::core::ffi::CStr = c""; +pub const DEVNULL: &::core::ffi::CStr = c"/dev/null"; +pub const USE_REPL_SNPRINTF: u32 = 1; +pub const PG_STRERROR_R_BUFLEN: u32 = 256; +pub const PG_IOLBF: u32 = 1; +pub const STRINGINFO_DEFAULT_SIZE: u32 = 1024; +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 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 LOG_DESTINATION_JSONLOG: u32 = 16; +pub const MCXT_ALLOC_HUGE: u32 = 1; +pub const MCXT_ALLOC_NO_OOM: u32 = 2; +pub const MCXT_ALLOC_ZERO: u32 = 4; +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: Oid = Oid(1249); +pub const AttributeRelation_Rowtype_Id: u32 = 75; +pub const AttributeRelidNameIndexId: u32 = 2658; +pub const AttributeRelidNumIndexId: u32 = 2659; +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_attlen: u32 = 4; +pub const Anum_pg_attribute_attnum: u32 = 5; +pub const Anum_pg_attribute_atttypmod: u32 = 6; +pub const Anum_pg_attribute_attndims: u32 = 7; +pub const Anum_pg_attribute_attbyval: u32 = 8; +pub const Anum_pg_attribute_attalign: u32 = 9; +pub const Anum_pg_attribute_attstorage: u32 = 10; +pub const Anum_pg_attribute_attcompression: u32 = 11; +pub const Anum_pg_attribute_attnotnull: u32 = 12; +pub const Anum_pg_attribute_atthasdef: u32 = 13; +pub const Anum_pg_attribute_atthasmissing: u32 = 14; +pub const Anum_pg_attribute_attidentity: u32 = 15; +pub const Anum_pg_attribute_attgenerated: u32 = 16; +pub const Anum_pg_attribute_attisdropped: u32 = 17; +pub const Anum_pg_attribute_attislocal: u32 = 18; +pub const Anum_pg_attribute_attinhcount: u32 = 19; +pub const Anum_pg_attribute_attcollation: u32 = 20; +pub const Anum_pg_attribute_attstattarget: u32 = 21; +pub const Anum_pg_attribute_attacl: u32 = 22; +pub const Anum_pg_attribute_attoptions: u32 = 23; +pub const Anum_pg_attribute_attfdwoptions: u32 = 24; +pub const Anum_pg_attribute_attmissingval: u32 = 25; +pub const Natts_pg_attribute: u32 = 25; +pub const ATTRIBUTE_IDENTITY_ALWAYS: u8 = 97u8; +pub const ATTRIBUTE_IDENTITY_BY_DEFAULT: u8 = 100u8; +pub const ATTRIBUTE_GENERATED_STORED: u8 = 115u8; +pub const ATTRIBUTE_GENERATED_VIRTUAL: u8 = 118u8; +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 ATTNULLABLE_UNRESTRICTED: u8 = 102u8; +pub const ATTNULLABLE_UNKNOWN: u8 = 117u8; +pub const ATTNULLABLE_VALID: u8 = 118u8; +pub const ATTNULLABLE_INVALID: u8 = 105u8; +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 InvalidXLogRecPtr: u32 = 0; +pub const FirstGenbkiObjectId: u32 = 10000; +pub const FirstUnpinnedObjectId: u32 = 12000; +pub const FirstNormalObjectId: u32 = 16384; +pub const TypeRelationId: Oid = Oid(1247); +pub const TypeRelation_Rowtype_Id: u32 = 71; +pub const TypeOidIndexId: u32 = 2703; +pub const TypeNameNspIndexId: u32 = 2704; +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 TYPCATEGORY_INTERNAL: u8 = 90u8; +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: Oid = Oid(16); +pub const BYTEAOID: Oid = Oid(17); +pub const CHAROID: Oid = Oid(18); +pub const NAMEOID: Oid = Oid(19); +pub const INT8OID: Oid = Oid(20); +pub const INT2OID: Oid = Oid(21); +pub const INT2VECTOROID: Oid = Oid(22); +pub const INT4OID: Oid = Oid(23); +pub const REGPROCOID: Oid = Oid(24); +pub const TEXTOID: Oid = Oid(25); +pub const OIDOID: Oid = Oid(26); +pub const TIDOID: Oid = Oid(27); +pub const XIDOID: Oid = Oid(28); +pub const CIDOID: Oid = Oid(29); +pub const OIDVECTOROID: Oid = Oid(30); +pub const JSONOID: Oid = Oid(114); +pub const XMLOID: Oid = Oid(142); +pub const PG_NODE_TREEOID: Oid = Oid(194); +pub const PG_NDISTINCTOID: Oid = Oid(3361); +pub const PG_DEPENDENCIESOID: Oid = Oid(3402); +pub const PG_MCV_LISTOID: Oid = Oid(5017); +pub const PG_DDL_COMMANDOID: Oid = Oid(32); +pub const XID8OID: Oid = Oid(5069); +pub const POINTOID: Oid = Oid(600); +pub const LSEGOID: Oid = Oid(601); +pub const PATHOID: Oid = Oid(602); +pub const BOXOID: Oid = Oid(603); +pub const POLYGONOID: Oid = Oid(604); +pub const LINEOID: Oid = Oid(628); +pub const FLOAT4OID: Oid = Oid(700); +pub const FLOAT8OID: Oid = Oid(701); +pub const UNKNOWNOID: Oid = Oid(705); +pub const CIRCLEOID: Oid = Oid(718); +pub const MONEYOID: Oid = Oid(790); +pub const MACADDROID: Oid = Oid(829); +pub const INETOID: Oid = Oid(869); +pub const CIDROID: Oid = Oid(650); +pub const MACADDR8OID: Oid = Oid(774); +pub const ACLITEMOID: Oid = Oid(1033); +pub const BPCHAROID: Oid = Oid(1042); +pub const VARCHAROID: Oid = Oid(1043); +pub const DATEOID: Oid = Oid(1082); +pub const TIMEOID: Oid = Oid(1083); +pub const TIMESTAMPOID: Oid = Oid(1114); +pub const TIMESTAMPTZOID: Oid = Oid(1184); +pub const INTERVALOID: Oid = Oid(1186); +pub const TIMETZOID: Oid = Oid(1266); +pub const BITOID: Oid = Oid(1560); +pub const VARBITOID: Oid = Oid(1562); +pub const NUMERICOID: Oid = Oid(1700); +pub const REFCURSOROID: Oid = Oid(1790); +pub const REGPROCEDUREOID: Oid = Oid(2202); +pub const REGOPEROID: Oid = Oid(2203); +pub const REGOPERATOROID: Oid = Oid(2204); +pub const REGCLASSOID: Oid = Oid(2205); +pub const REGCOLLATIONOID: Oid = Oid(4191); +pub const REGTYPEOID: Oid = Oid(2206); +pub const REGROLEOID: Oid = Oid(4096); +pub const REGNAMESPACEOID: Oid = Oid(4089); +pub const UUIDOID: Oid = Oid(2950); +pub const PG_LSNOID: Oid = Oid(3220); +pub const TSVECTOROID: Oid = Oid(3614); +pub const GTSVECTOROID: Oid = Oid(3642); +pub const TSQUERYOID: Oid = Oid(3615); +pub const REGCONFIGOID: Oid = Oid(3734); +pub const REGDICTIONARYOID: Oid = Oid(3769); +pub const JSONBOID: Oid = Oid(3802); +pub const JSONPATHOID: Oid = Oid(4072); +pub const TXID_SNAPSHOTOID: Oid = Oid(2970); +pub const PG_SNAPSHOTOID: Oid = Oid(5038); +pub const INT4RANGEOID: Oid = Oid(3904); +pub const NUMRANGEOID: Oid = Oid(3906); +pub const TSRANGEOID: Oid = Oid(3908); +pub const TSTZRANGEOID: Oid = Oid(3910); +pub const DATERANGEOID: Oid = Oid(3912); +pub const INT8RANGEOID: Oid = Oid(3926); +pub const INT4MULTIRANGEOID: Oid = Oid(4451); +pub const NUMMULTIRANGEOID: Oid = Oid(4532); +pub const TSMULTIRANGEOID: Oid = Oid(4533); +pub const TSTZMULTIRANGEOID: Oid = Oid(4534); +pub const DATEMULTIRANGEOID: Oid = Oid(4535); +pub const INT8MULTIRANGEOID: Oid = Oid(4536); +pub const RECORDOID: Oid = Oid(2249); +pub const RECORDARRAYOID: Oid = Oid(2287); +pub const CSTRINGOID: Oid = Oid(2275); +pub const ANYOID: Oid = Oid(2276); +pub const ANYARRAYOID: Oid = Oid(2277); +pub const VOIDOID: Oid = Oid(2278); +pub const TRIGGEROID: Oid = Oid(2279); +pub const EVENT_TRIGGEROID: Oid = Oid(3838); +pub const LANGUAGE_HANDLEROID: Oid = Oid(2280); +pub const INTERNALOID: Oid = Oid(2281); +pub const ANYELEMENTOID: Oid = Oid(2283); +pub const ANYNONARRAYOID: Oid = Oid(2776); +pub const ANYENUMOID: Oid = Oid(3500); +pub const FDW_HANDLEROID: Oid = Oid(3115); +pub const INDEX_AM_HANDLEROID: Oid = Oid(325); +pub const TSM_HANDLEROID: Oid = Oid(3310); +pub const TABLE_AM_HANDLEROID: Oid = Oid(269); +pub const ANYRANGEOID: Oid = Oid(3831); +pub const ANYCOMPATIBLEOID: Oid = Oid(5077); +pub const ANYCOMPATIBLEARRAYOID: Oid = Oid(5078); +pub const ANYCOMPATIBLENONARRAYOID: Oid = Oid(5079); +pub const ANYCOMPATIBLERANGEOID: Oid = Oid(5080); +pub const ANYMULTIRANGEOID: Oid = Oid(4537); +pub const ANYCOMPATIBLEMULTIRANGEOID: Oid = Oid(4538); +pub const PG_BRIN_BLOOM_SUMMARYOID: Oid = Oid(4600); +pub const PG_BRIN_MINMAX_MULTI_SUMMARYOID: Oid = Oid(4601); +pub const BOOLARRAYOID: Oid = Oid(1000); +pub const BYTEAARRAYOID: Oid = Oid(1001); +pub const CHARARRAYOID: Oid = Oid(1002); +pub const NAMEARRAYOID: Oid = Oid(1003); +pub const INT8ARRAYOID: Oid = Oid(1016); +pub const INT2ARRAYOID: Oid = Oid(1005); +pub const INT2VECTORARRAYOID: Oid = Oid(1006); +pub const INT4ARRAYOID: Oid = Oid(1007); +pub const REGPROCARRAYOID: Oid = Oid(1008); +pub const TEXTARRAYOID: Oid = Oid(1009); +pub const OIDARRAYOID: Oid = Oid(1028); +pub const TIDARRAYOID: Oid = Oid(1010); +pub const XIDARRAYOID: Oid = Oid(1011); +pub const CIDARRAYOID: Oid = Oid(1012); +pub const OIDVECTORARRAYOID: Oid = Oid(1013); +pub const PG_TYPEARRAYOID: Oid = Oid(210); +pub const PG_ATTRIBUTEARRAYOID: Oid = Oid(270); +pub const PG_PROCARRAYOID: Oid = Oid(272); +pub const PG_CLASSARRAYOID: Oid = Oid(273); +pub const JSONARRAYOID: Oid = Oid(199); +pub const XMLARRAYOID: Oid = Oid(143); +pub const XID8ARRAYOID: Oid = Oid(271); +pub const POINTARRAYOID: Oid = Oid(1017); +pub const LSEGARRAYOID: Oid = Oid(1018); +pub const PATHARRAYOID: Oid = Oid(1019); +pub const BOXARRAYOID: Oid = Oid(1020); +pub const POLYGONARRAYOID: Oid = Oid(1027); +pub const LINEARRAYOID: Oid = Oid(629); +pub const FLOAT4ARRAYOID: Oid = Oid(1021); +pub const FLOAT8ARRAYOID: Oid = Oid(1022); +pub const CIRCLEARRAYOID: Oid = Oid(719); +pub const MONEYARRAYOID: Oid = Oid(791); +pub const MACADDRARRAYOID: Oid = Oid(1040); +pub const INETARRAYOID: Oid = Oid(1041); +pub const CIDRARRAYOID: Oid = Oid(651); +pub const MACADDR8ARRAYOID: Oid = Oid(775); +pub const ACLITEMARRAYOID: Oid = Oid(1034); +pub const BPCHARARRAYOID: Oid = Oid(1014); +pub const VARCHARARRAYOID: Oid = Oid(1015); +pub const DATEARRAYOID: Oid = Oid(1182); +pub const TIMEARRAYOID: Oid = Oid(1183); +pub const TIMESTAMPARRAYOID: Oid = Oid(1115); +pub const TIMESTAMPTZARRAYOID: Oid = Oid(1185); +pub const INTERVALARRAYOID: Oid = Oid(1187); +pub const TIMETZARRAYOID: Oid = Oid(1270); +pub const BITARRAYOID: Oid = Oid(1561); +pub const VARBITARRAYOID: Oid = Oid(1563); +pub const NUMERICARRAYOID: Oid = Oid(1231); +pub const REFCURSORARRAYOID: Oid = Oid(2201); +pub const REGPROCEDUREARRAYOID: Oid = Oid(2207); +pub const REGOPERARRAYOID: Oid = Oid(2208); +pub const REGOPERATORARRAYOID: Oid = Oid(2209); +pub const REGCLASSARRAYOID: Oid = Oid(2210); +pub const REGCOLLATIONARRAYOID: Oid = Oid(4192); +pub const REGTYPEARRAYOID: Oid = Oid(2211); +pub const REGROLEARRAYOID: Oid = Oid(4097); +pub const REGNAMESPACEARRAYOID: Oid = Oid(4090); +pub const UUIDARRAYOID: Oid = Oid(2951); +pub const PG_LSNARRAYOID: Oid = Oid(3221); +pub const TSVECTORARRAYOID: Oid = Oid(3643); +pub const GTSVECTORARRAYOID: Oid = Oid(3644); +pub const TSQUERYARRAYOID: Oid = Oid(3645); +pub const REGCONFIGARRAYOID: Oid = Oid(3735); +pub const REGDICTIONARYARRAYOID: Oid = Oid(3770); +pub const JSONBARRAYOID: Oid = Oid(3807); +pub const JSONPATHARRAYOID: Oid = Oid(4073); +pub const TXID_SNAPSHOTARRAYOID: Oid = Oid(2949); +pub const PG_SNAPSHOTARRAYOID: Oid = Oid(5039); +pub const INT4RANGEARRAYOID: Oid = Oid(3905); +pub const NUMRANGEARRAYOID: Oid = Oid(3907); +pub const TSRANGEARRAYOID: Oid = Oid(3909); +pub const TSTZRANGEARRAYOID: Oid = Oid(3911); +pub const DATERANGEARRAYOID: Oid = Oid(3913); +pub const INT8RANGEARRAYOID: Oid = Oid(3927); +pub const INT4MULTIRANGEARRAYOID: Oid = Oid(6150); +pub const NUMMULTIRANGEARRAYOID: Oid = Oid(6151); +pub const TSMULTIRANGEARRAYOID: Oid = Oid(6152); +pub const TSTZMULTIRANGEARRAYOID: Oid = Oid(6153); +pub const DATEMULTIRANGEARRAYOID: Oid = Oid(6155); +pub const INT8MULTIRANGEARRAYOID: Oid = Oid(6157); +pub const CSTRINGARRAYOID: Oid = Oid(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_LOG_LOG: u32 = 2; +pub const PIV_IGNORE_CHECKSUM_FAILURE: 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 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 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: &::core::ffi::CStr = c"Pg_magic_func"; +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 CATALOG_VERSION_NO: u32 = 202504091; +pub const PG_TBLSPC_DIR: &::core::ffi::CStr = c"pg_tblspc"; +pub const PG_TBLSPC_DIR_SLASH: &::core::ffi::CStr = c"pg_tblspc/"; +pub const OIDCHARS: u32 = 10; +pub const FORKNAMECHARS: u32 = 4; +pub const PROCNUMBER_CHARS: u32 = 6; +pub const INNER_VAR: i32 = -1; +pub const OUTER_VAR: i32 = -2; +pub const INDEX_VAR: i32 = -3; +pub const ROWID_VAR: i32 = -4; +pub const PRS2_OLD_VARNO: u32 = 1; +pub const PRS2_NEW_VARNO: u32 = 2; +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: &::core::ffi::CStr = c"pg_dynshmem"; +pub const PG_DYNSHMEM_MMAP_FILE_PREFIX: &::core::ffi::CStr = c"mmap."; +pub const DSM_CREATE_NULL_IF_MAXSEGMENTS: u32 = 1; +pub const SIZEOF_DSA_POINTER: u32 = 8; +pub const DSA_POINTER_FORMAT: &::core::ffi::CStr = c"%016lx"; +pub const DSA_ALLOC_HUGE: u32 = 1; +pub const DSA_ALLOC_NO_OOM: u32 = 2; +pub const DSA_ALLOC_ZERO: u32 = 4; +pub const DSA_OFFSET_WIDTH: u32 = 40; +pub const INVALID_PROC_NUMBER: i32 = -1; +pub const MAX_BACKENDS_BITS: u32 = 18; +pub const MAX_BACKENDS: u32 = 262143; +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 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 ACL_SET: u32 = 4096; +pub const ACL_ALTER_SYSTEM: u32 = 8192; +pub const ACL_MAINTAIN: u32 = 16384; +pub const N_ACL_RIGHTS: u32 = 15; +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 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 COMPLETION_TAG_BUFSIZE: u32 = 64; +pub const RELEASE_PRIO_BUFFER_IOS: u32 = 100; +pub const RELEASE_PRIO_BUFFER_PINS: u32 = 200; +pub const RELEASE_PRIO_RELCACHE_REFS: u32 = 300; +pub const RELEASE_PRIO_DSMS: u32 = 400; +pub const RELEASE_PRIO_JIT_CONTEXTS: u32 = 500; +pub const RELEASE_PRIO_CRYPTOHASH_CONTEXTS: u32 = 600; +pub const RELEASE_PRIO_HMAC_CONTEXTS: u32 = 700; +pub const RELEASE_PRIO_CATCACHE_REFS: u32 = 100; +pub const RELEASE_PRIO_CATCACHE_LIST_REFS: u32 = 200; +pub const RELEASE_PRIO_PLANCACHE_REFS: u32 = 300; +pub const RELEASE_PRIO_TUPDESC_REFS: u32 = 400; +pub const RELEASE_PRIO_SNAPSHOT_REFS: u32 = 500; +pub const RELEASE_PRIO_FILES: u32 = 600; +pub const RELEASE_PRIO_WAITEVENTSETS: u32 = 700; +pub const RELEASE_PRIO_FIRST: u32 = 1; +pub const RELEASE_PRIO_LAST: u32 = 4294967295; +pub const CACHEDPLANSOURCE_MAGIC: u32 = 195726186; +pub const CACHEDPLAN_MAGIC: u32 = 953717834; +pub const CACHEDEXPR_MAGIC: u32 = 838275847; +pub const IO_DIRECT_DATA: u32 = 1; +pub const IO_DIRECT_WAL: u32 = 2; +pub const IO_DIRECT_WAL_INIT: u32 = 4; +pub const PG_O_DIRECT: u32 = 16384; +pub const SHARED_TUPLESTORE_SINGLE_PASS: u32 = 1; +pub const RELCACHE_INIT_FILENAME: &::core::ffi::CStr = c"pg_internal.init"; +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 InplaceUpdateTupleLock: u32 = 7; +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 BRIN_PROCNUM_OPCINFO: u32 = 1; +pub const BRIN_PROCNUM_ADDVALUE: u32 = 2; +pub const BRIN_PROCNUM_CONSISTENT: u32 = 3; +pub const BRIN_PROCNUM_UNION: u32 = 4; +pub const BRIN_MANDATORY_NPROCS: u32 = 4; +pub const BRIN_PROCNUM_OPTIONS: u32 = 5; +pub const BRIN_FIRST_OPTIONAL_PROCNUM: u32 = 11; +pub const BRIN_LAST_OPTIONAL_PROCNUM: u32 = 15; +pub const BRIN_OFFSET_MASK: u32 = 31; +pub const BRIN_EMPTY_RANGE_MASK: u32 = 32; +pub const BRIN_PLACEHOLDER_MASK: u32 = 64; +pub const BRIN_NULLS_MASK: u32 = 128; +pub const GIN_DATA: u32 = 1; +pub const GIN_LEAF: u32 = 2; +pub const GIN_DELETED: u32 = 4; +pub const GIN_META: u32 = 8; +pub const GIN_LIST: u32 = 16; +pub const GIN_LIST_FULLROW: u32 = 32; +pub const GIN_INCOMPLETE_SPLIT: u32 = 64; +pub const GIN_COMPRESSED: u32 = 128; +pub const GIN_METAPAGE_BLKNO: u32 = 0; +pub const GIN_ROOT_BLKNO: u32 = 1; +pub const GIN_CURRENT_VERSION: u32 = 2; +pub const GIN_CAT_NORM_KEY: u32 = 0; +pub const GIN_CAT_NULL_KEY: u32 = 1; +pub const GIN_CAT_EMPTY_ITEM: u32 = 2; +pub const GIN_CAT_NULL_ITEM: u32 = 3; +pub const GIN_CAT_EMPTY_QUERY: i32 = -1; +pub const GIN_ITUP_COMPRESSED: u32 = 2147483648; +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 TUPLESORT_NONE: u32 = 0; +pub const TUPLESORT_RANDOMACCESS: u32 = 1; +pub const TUPLESORT_ALLOWBOUNDED: u32 = 2; +pub const EEO_FLAG_IS_QUAL: u32 = 1; +pub const EEO_FLAG_HAS_OLD: u32 = 2; +pub const EEO_FLAG_HAS_NEW: u32 = 4; +pub const EEO_FLAG_OLD_IS_NULL: u32 = 8; +pub const EEO_FLAG_NEW_IS_NULL: u32 = 16; +pub const FIELDNO_EXPRSTATE_FLAGS: 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_EXPRCONTEXT_OLDTUPLE: u32 = 14; +pub const FIELDNO_EXPRCONTEXT_NEWTUPLE: u32 = 15; +pub const TRY_POPCNT_X86_64: u32 = 1; +pub const MERGE_INSERT: u32 = 1; +pub const MERGE_UPDATE: u32 = 2; +pub const MERGE_DELETE: u32 = 4; +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 = 54; +pub const NUM_INDIVIDUAL_LWLOCKS: u32 = 54; +pub const LWLOCK_PADDED_SIZE: u32 = 128; +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 = 54; +pub const LOCK_MANAGER_LWLOCK_OFFSET: u32 = 182; +pub const PREDICATELOCK_MANAGER_LWLOCK_OFFSET: u32 = 198; +pub const NUM_FIXED_LWLOCKS: u32 = 214; +pub const SHMEM_INDEX_KEYSIZE: u32 = 48; +pub const SHMEM_INDEX_SIZE: u32 = 64; +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 DAYS_PER_WEEK: u32 = 7; +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 TZ_STRLEN_MAX: u32 = 255; +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 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 RECOVERY_SIGNAL_FILE: &::core::ffi::CStr = c"recovery.signal"; +pub const STANDBY_SIGNAL_FILE: &::core::ffi::CStr = c"standby.signal"; +pub const BACKUP_LABEL_FILE: &::core::ffi::CStr = c"backup_label"; +pub const BACKUP_LABEL_OLD: &::core::ffi::CStr = c"backup_label.old"; +pub const TABLESPACE_MAP: &::core::ffi::CStr = c"tablespace_map"; +pub const TABLESPACE_MAP_OLD: &::core::ffi::CStr = c"tablespace_map.old"; +pub const PROMOTE_SIGNAL_FILE: &::core::ffi::CStr = c"promote"; +pub const RelationRelationId: Oid = Oid(1259); +pub const RelationRelation_Rowtype_Id: u32 = 83; +pub const ClassOidIndexId: u32 = 2662; +pub const ClassNameNspIndexId: u32 = 2663; +pub const ClassTblspcRelfilenodeIndexId: u32 = 3455; +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_relallfrozen: u32 = 13; +pub const Anum_pg_class_reltoastrelid: u32 = 14; +pub const Anum_pg_class_relhasindex: u32 = 15; +pub const Anum_pg_class_relisshared: u32 = 16; +pub const Anum_pg_class_relpersistence: u32 = 17; +pub const Anum_pg_class_relkind: u32 = 18; +pub const Anum_pg_class_relnatts: u32 = 19; +pub const Anum_pg_class_relchecks: u32 = 20; +pub const Anum_pg_class_relhasrules: u32 = 21; +pub const Anum_pg_class_relhastriggers: u32 = 22; +pub const Anum_pg_class_relhassubclass: u32 = 23; +pub const Anum_pg_class_relrowsecurity: u32 = 24; +pub const Anum_pg_class_relforcerowsecurity: u32 = 25; +pub const Anum_pg_class_relispopulated: u32 = 26; +pub const Anum_pg_class_relreplident: u32 = 27; +pub const Anum_pg_class_relispartition: u32 = 28; +pub const Anum_pg_class_relrewrite: u32 = 29; +pub const Anum_pg_class_relfrozenxid: u32 = 30; +pub const Anum_pg_class_relminmxid: u32 = 31; +pub const Anum_pg_class_relacl: u32 = 32; +pub const Anum_pg_class_reloptions: u32 = 33; +pub const Anum_pg_class_relpartbound: u32 = 34; +pub const Natts_pg_class: u32 = 34; +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 IndexRelationId: Oid = Oid(2610); +pub const PgIndexToastTable: u32 = 8149; +pub const PgIndexToastIndex: u32 = 8150; +pub const IndexIndrelidIndexId: u32 = 2678; +pub const IndexRelidIndexId: u32 = 2679; +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_indnullsnotdistinct: u32 = 6; +pub const Anum_pg_index_indisprimary: u32 = 7; +pub const Anum_pg_index_indisexclusion: u32 = 8; +pub const Anum_pg_index_indimmediate: u32 = 9; +pub const Anum_pg_index_indisclustered: u32 = 10; +pub const Anum_pg_index_indisvalid: u32 = 11; +pub const Anum_pg_index_indcheckxmin: u32 = 12; +pub const Anum_pg_index_indisready: u32 = 13; +pub const Anum_pg_index_indislive: u32 = 14; +pub const Anum_pg_index_indisreplident: u32 = 15; +pub const Anum_pg_index_indkey: u32 = 16; +pub const Anum_pg_index_indcollation: u32 = 17; +pub const Anum_pg_index_indclass: u32 = 18; +pub const Anum_pg_index_indoption: u32 = 19; +pub const Anum_pg_index_indexprs: u32 = 20; +pub const Anum_pg_index_indpred: u32 = 21; +pub const Natts_pg_index: u32 = 21; +pub const INDOPTION_DESC: u32 = 1; +pub const INDOPTION_NULLS_FIRST: u32 = 2; +pub const PublicationRelationId: Oid = Oid(6104); +pub const PublicationObjectIndexId: u32 = 6110; +pub const PublicationNameIndexId: u32 = 6111; +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 Anum_pg_publication_pubgencols: u32 = 10; +pub const Natts_pg_publication: u32 = 10; +pub const PGAIO_RESULT_ID_BITS: u32 = 6; +pub const PGAIO_RESULT_STATUS_BITS: u32 = 3; +pub const PGAIO_RESULT_ERROR_BITS: u32 = 23; +pub const HEAP_MIN_FILLFACTOR: u32 = 10; +pub const HEAP_DEFAULT_FILLFACTOR: u32 = 100; +pub const MaxAllocHugeSize: u32 = 0; +pub const InvalidAllocSize: i32 = -1; +pub const MEMORY_CONTEXT_IDENT_SHMEM_SIZE: u32 = 64; +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_EXPLAIN_GENERIC: u32 = 2; +pub const EXEC_FLAG_REWIND: u32 = 4; +pub const EXEC_FLAG_BACKWARD: u32 = 8; +pub const EXEC_FLAG_MARK: u32 = 16; +pub const EXEC_FLAG_SKIP_TRIGGERS: u32 = 32; +pub const EXEC_FLAG_WITH_NO_DATA: u32 = 64; +pub const MAT_SRF_USE_EXPECTED_DESC: u32 = 1; +pub const MAT_SRF_BLESS: u32 = 2; +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 SIGPIPE: u32 = 13; +pub const SIGALRM: u32 = 14; +pub const SIGIOT: u32 = 6; +pub const SIGSTKFLT: u32 = 16; +pub const SIGPWR: u32 = 30; +pub const SIGBUS: u32 = 7; +pub const SIGSYS: u32 = 31; +pub const SIGURG: u32 = 23; +pub const SIGSTOP: u32 = 19; +pub const SIGTSTP: u32 = 20; +pub const SIGCONT: u32 = 18; +pub const SIGCHLD: u32 = 17; +pub const SIGTTIN: u32 = 21; +pub const SIGTTOU: u32 = 22; +pub const SIGPOLL: u32 = 29; +pub const SIGXFSZ: u32 = 25; +pub const SIGXCPU: u32 = 24; +pub const SIGVTALRM: u32 = 26; +pub const SIGPROF: u32 = 27; +pub const SIGUSR1: u32 = 10; +pub const SIGUSR2: u32 = 12; +pub const SIGWINCH: u32 = 28; +pub const SIGIO: u32 = 29; +pub const SIGCLD: u32 = 17; +pub const SIG_BLOCK: u32 = 0; +pub const SIG_UNBLOCK: u32 = 1; +pub const SIG_SETMASK: u32 = 2; +pub const SIGSTKSZ: u32 = 8192; +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 MIN_BAS_VAC_RING_SIZE_KB: u32 = 128; +pub const MAX_BAS_VAC_RING_SIZE_KB: u32 = 16777216; +pub const STACK_DEPTH_SLOP: u32 = 524288; +pub const SECURITY_LOCAL_USERID_CHANGE: u32 = 1; +pub const SECURITY_RESTRICTED_OPERATION: u32 = 2; +pub const SECURITY_NOFORCE_RLS: u32 = 4; +pub const INIT_PG_LOAD_SESSION_LIBS: u32 = 1; +pub const INIT_PG_OVERRIDE_ALLOW_CONNS: u32 = 2; +pub const INIT_PG_OVERRIDE_ROLE_LOGIN: u32 = 4; +pub const MIN_XFN_CHARS: u32 = 16; +pub const MAX_XFN_CHARS: u32 = 40; +pub const VALID_XFN_CHARS: &::core::ffi::CStr = c"0123456789ABCDEF.history.backup.partial"; +pub const PGSTAT_NUM_PROGRESS_PARAM: u32 = 20; +pub const PqMsg_Bind: u8 = 66u8; +pub const PqMsg_Close: u8 = 67u8; +pub const PqMsg_Describe: u8 = 68u8; +pub const PqMsg_Execute: u8 = 69u8; +pub const PqMsg_FunctionCall: u8 = 70u8; +pub const PqMsg_Flush: u8 = 72u8; +pub const PqMsg_Parse: u8 = 80u8; +pub const PqMsg_Query: u8 = 81u8; +pub const PqMsg_Sync: u8 = 83u8; +pub const PqMsg_Terminate: u8 = 88u8; +pub const PqMsg_CopyFail: u8 = 102u8; +pub const PqMsg_GSSResponse: u8 = 112u8; +pub const PqMsg_PasswordMessage: u8 = 112u8; +pub const PqMsg_SASLInitialResponse: u8 = 112u8; +pub const PqMsg_SASLResponse: u8 = 112u8; +pub const PqMsg_ParseComplete: u8 = 49u8; +pub const PqMsg_BindComplete: u8 = 50u8; +pub const PqMsg_CloseComplete: u8 = 51u8; +pub const PqMsg_NotificationResponse: u8 = 65u8; +pub const PqMsg_CommandComplete: u8 = 67u8; +pub const PqMsg_DataRow: u8 = 68u8; +pub const PqMsg_ErrorResponse: u8 = 69u8; +pub const PqMsg_CopyInResponse: u8 = 71u8; +pub const PqMsg_CopyOutResponse: u8 = 72u8; +pub const PqMsg_EmptyQueryResponse: u8 = 73u8; +pub const PqMsg_BackendKeyData: u8 = 75u8; +pub const PqMsg_NoticeResponse: u8 = 78u8; +pub const PqMsg_AuthenticationRequest: u8 = 82u8; +pub const PqMsg_ParameterStatus: u8 = 83u8; +pub const PqMsg_RowDescription: u8 = 84u8; +pub const PqMsg_FunctionCallResponse: u8 = 86u8; +pub const PqMsg_CopyBothResponse: u8 = 87u8; +pub const PqMsg_ReadyForQuery: u8 = 90u8; +pub const PqMsg_NoData: u8 = 110u8; +pub const PqMsg_PortalSuspended: u8 = 115u8; +pub const PqMsg_ParameterDescription: u8 = 116u8; +pub const PqMsg_NegotiateProtocolVersion: u8 = 118u8; +pub const PqMsg_CopyDone: u8 = 99u8; +pub const PqMsg_CopyData: u8 = 100u8; +pub const PqMsg_Progress: u8 = 80u8; +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_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 AUTH_REQ_MAX: u32 = 12; +pub const MAX_STARTUP_PACKET_LENGTH: u32 = 10000; +pub const PG_ALPN_PROTOCOL: &::core::ffi::CStr = c"postgresql"; +pub const PGSTAT_KIND_MIN: u32 = 1; +pub const PGSTAT_KIND_MAX: u32 = 256; +pub const PGSTAT_KIND_INVALID: u32 = 0; +pub const PGSTAT_KIND_DATABASE: u32 = 1; +pub const PGSTAT_KIND_RELATION: u32 = 2; +pub const PGSTAT_KIND_FUNCTION: u32 = 3; +pub const PGSTAT_KIND_REPLSLOT: u32 = 4; +pub const PGSTAT_KIND_SUBSCRIPTION: u32 = 5; +pub const PGSTAT_KIND_BACKEND: u32 = 6; +pub const PGSTAT_KIND_ARCHIVER: u32 = 7; +pub const PGSTAT_KIND_BGWRITER: u32 = 8; +pub const PGSTAT_KIND_CHECKPOINTER: u32 = 9; +pub const PGSTAT_KIND_IO: u32 = 10; +pub const PGSTAT_KIND_SLRU: u32 = 11; +pub const PGSTAT_KIND_WAL: u32 = 12; +pub const PGSTAT_KIND_BUILTIN_MIN: u32 = 1; +pub const PGSTAT_KIND_BUILTIN_MAX: u32 = 12; +pub const PGSTAT_KIND_BUILTIN_SIZE: u32 = 13; +pub const PGSTAT_KIND_CUSTOM_MIN: u32 = 128; +pub const PGSTAT_KIND_CUSTOM_MAX: u32 = 256; +pub const PGSTAT_KIND_CUSTOM_SIZE: u32 = 129; +pub const PGSTAT_KIND_EXPERIMENTAL: u32 = 128; +pub const PG_WAIT_LWLOCK: u32 = 16777216; +pub const PG_WAIT_LOCK: u32 = 50331648; +pub const PG_WAIT_BUFFERPIN: 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 PG_WAIT_INJECTIONPOINT: u32 = 184549376; +pub const PGSTAT_STAT_PERMANENT_DIRECTORY: &::core::ffi::CStr = c"pg_stat"; +pub const PGSTAT_STAT_PERMANENT_FILENAME: &::core::ffi::CStr = c"pg_stat/pgstat.stat"; +pub const PGSTAT_STAT_PERMANENT_TMPFILE: &::core::ffi::CStr = c"pg_stat/pgstat.tmp"; +pub const PG_STAT_TMP_DIR: &::core::ffi::CStr = c"pg_stat_tmp"; +pub const PGSTAT_FILE_FORMAT_ID: u32 = 27638967; +pub const RM_MAX_ID: u32 = 255; +pub const RM_MIN_CUSTOM_ID: u32 = 128; +pub const RM_MAX_CUSTOM_ID: u32 = 255; +pub const RM_N_IDS: u32 = 256; +pub const RM_N_CUSTOM_IDS: u32 = 128; +pub const RM_EXPERIMENTAL_ID: u32 = 128; +pub const XLR_INFO_MASK: u32 = 15; +pub const XLR_RMGR_INFO_MASK: u32 = 240; +pub const XLogRecordMaxSize: u32 = 1069547520; +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_APPLY: u32 = 2; +pub const BKPIMAGE_COMPRESS_PGLZ: u32 = 4; +pub const BKPIMAGE_COMPRESS_LZ4: u32 = 8; +pub const BKPIMAGE_COMPRESS_ZSTD: u32 = 16; +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 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 REGBUF_NO_CHANGE: u32 = 32; +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 PROGRESS_GIN_PHASE_INDEXBUILD_TABLESCAN: u32 = 2; +pub const PROGRESS_GIN_PHASE_PERFORMSORT_1: u32 = 3; +pub const PROGRESS_GIN_PHASE_MERGE_1: u32 = 4; +pub const PROGRESS_GIN_PHASE_PERFORMSORT_2: u32 = 5; +pub const PROGRESS_GIN_PHASE_MERGE_2: u32 = 6; +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 GIST_STRATNUM_PROC: u32 = 12; +pub const GISTNProcs: u32 = 12; +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 SHAREDINVALRELSYNC_ID: i32 = -6; +pub const XLOG_HEAP_INSERT: u32 = 0; +pub const XLOG_HEAP_DELETE: u32 = 16; +pub const XLOG_HEAP_UPDATE: u32 = 32; +pub const XLOG_HEAP_TRUNCATE: u32 = 48; +pub const XLOG_HEAP_HOT_UPDATE: u32 = 64; +pub const XLOG_HEAP_CONFIRM: u32 = 80; +pub const XLOG_HEAP_LOCK: u32 = 96; +pub const XLOG_HEAP_INPLACE: u32 = 112; +pub const XLOG_HEAP_OPMASK: u32 = 112; +pub const XLOG_HEAP_INIT_PAGE: u32 = 128; +pub const XLOG_HEAP2_REWRITE: u32 = 0; +pub const XLOG_HEAP2_PRUNE_ON_ACCESS: u32 = 16; +pub const XLOG_HEAP2_PRUNE_VACUUM_SCAN: u32 = 32; +pub const XLOG_HEAP2_PRUNE_VACUUM_CLEANUP: u32 = 48; +pub const XLOG_HEAP2_VISIBLE: u32 = 64; +pub const XLOG_HEAP2_MULTI_INSERT: u32 = 80; +pub const XLOG_HEAP2_LOCK_UPDATED: u32 = 96; +pub const XLOG_HEAP2_NEW_CID: u32 = 112; +pub const XLH_INSERT_ALL_VISIBLE_CLEARED: u32 = 1; +pub const XLH_INSERT_LAST_IN_MULTI: u32 = 2; +pub const XLH_INSERT_IS_SPECULATIVE: u32 = 4; +pub const XLH_INSERT_CONTAINS_NEW_TUPLE: u32 = 8; +pub const XLH_INSERT_ON_TOAST_RELATION: u32 = 16; +pub const XLH_INSERT_ALL_FROZEN_SET: u32 = 32; +pub const XLH_UPDATE_OLD_ALL_VISIBLE_CLEARED: u32 = 1; +pub const XLH_UPDATE_NEW_ALL_VISIBLE_CLEARED: u32 = 2; +pub const XLH_UPDATE_CONTAINS_OLD_TUPLE: u32 = 4; +pub const XLH_UPDATE_CONTAINS_OLD_KEY: u32 = 8; +pub const XLH_UPDATE_CONTAINS_NEW_TUPLE: u32 = 16; +pub const XLH_UPDATE_PREFIX_FROM_OLD: u32 = 32; +pub const XLH_UPDATE_SUFFIX_FROM_OLD: u32 = 64; +pub const XLH_UPDATE_CONTAINS_OLD: u32 = 12; +pub const XLH_DELETE_ALL_VISIBLE_CLEARED: u32 = 1; +pub const XLH_DELETE_CONTAINS_OLD_TUPLE: u32 = 2; +pub const XLH_DELETE_CONTAINS_OLD_KEY: u32 = 4; +pub const XLH_DELETE_IS_SUPER: u32 = 8; +pub const XLH_DELETE_IS_PARTITION_MOVE: u32 = 16; +pub const XLH_DELETE_CONTAINS_OLD: u32 = 6; +pub const XLH_TRUNCATE_CASCADE: u32 = 1; +pub const XLH_TRUNCATE_RESTART_SEQS: u32 = 2; +pub const XLHP_IS_CATALOG_REL: u32 = 2; +pub const XLHP_CLEANUP_LOCK: u32 = 4; +pub const XLHP_HAS_CONFLICT_HORIZON: u32 = 8; +pub const XLHP_HAS_FREEZE_PLANS: u32 = 16; +pub const XLHP_HAS_REDIRECTIONS: u32 = 32; +pub const XLHP_HAS_DEAD_ITEMS: u32 = 64; +pub const XLHP_HAS_NOW_UNUSED_ITEMS: u32 = 128; +pub const XLH_FREEZE_XVAC: u32 = 2; +pub const XLH_INVALID_XVAC: u32 = 4; +pub const XLHL_XMAX_IS_MULTI: u32 = 1; +pub const XLHL_XMAX_LOCK_ONLY: u32 = 2; +pub const XLHL_XMAX_EXCL_LOCK: u32 = 4; +pub const XLHL_XMAX_KEYSHR_LOCK: u32 = 8; +pub const XLHL_KEYS_UPDATED: u32 = 16; +pub const XLH_LOCK_ALL_FROZEN_CLEARED: u32 = 1; +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_RELFILELOCATORS: 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_XINFO_HAS_DROPPED_STATS: u32 = 256; +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 READ_BUFFERS_ZERO_ON_ERROR: u32 = 1; +pub const READ_BUFFERS_ISSUE_ADVICE: u32 = 2; +pub const READ_BUFFERS_IGNORE_CHECKSUM_FAILURES: u32 = 4; +pub const READ_BUFFERS_SYNCHRONOUSLY: u32 = 8; +pub const DEFAULT_EFFECTIVE_IO_CONCURRENCY: u32 = 16; +pub const DEFAULT_MAINTENANCE_IO_CONCURRENCY: u32 = 16; +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 READ_STREAM_DEFAULT: u32 = 0; +pub const READ_STREAM_MAINTENANCE: u32 = 1; +pub const READ_STREAM_SEQUENTIAL: u32 = 2; +pub const READ_STREAM_FULL: u32 = 4; +pub const READ_STREAM_USE_BATCHING: u32 = 8; +pub const DEFAULT_TABLE_ACCESS_METHOD: &::core::ffi::CStr = c"heap"; +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 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 HEAP_PAGE_PRUNE_MARK_UNUSED_NOW: u32 = 1; +pub const HEAP_PAGE_PRUNE_FREEZE: u32 = 2; +pub const HEAP_FREEZE_CHECK_XMIN_COMMITTED: u32 = 1; +pub const HEAP_FREEZE_CHECK_XMAX_ABORTED: u32 = 2; +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 BITS_PER_HEAPBLOCK: u32 = 2; +pub const VISIBILITYMAP_ALL_VISIBLE: u32 = 1; +pub const VISIBILITYMAP_ALL_FROZEN: u32 = 2; +pub const VISIBILITYMAP_VALID_BITS: u32 = 3; +pub const VISIBILITYMAP_XLOG_CATALOG_REL: u32 = 4; +pub const VISIBILITYMAP_XLOG_VALID_BITS: u32 = 7; +pub const XLOG_PAGE_MAGIC: u32 = 53528; +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: &::core::ffi::CStr = c"pg_wal"; +pub const XLOG_CONTROL_FILE: &::core::ffi::CStr = c"global/pg_control"; +pub const MAXFNAMELEN: u32 = 64; +pub const XLOG_FNAME_LEN: u32 = 24; +pub const PG_CONTROL_VERSION: u32 = 1800; +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: Oid = Oid(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 XLOG_CHECKPOINT_REDO: u32 = 224; +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 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: &::core::ffi::CStr = c"btree"; +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 INDEX_CONSTR_CREATE_WITHOUT_OVERLAPS: u32 = 32; +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: Oid = Oid(2601); +pub const AmNameIndexId: u32 = 2651; +pub const AmOidIndexId: u32 = 2652; +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: Oid = Oid(2); +pub const BTREE_AM_OID: Oid = Oid(403); +pub const HASH_AM_OID: Oid = Oid(405); +pub const GIST_AM_OID: Oid = Oid(783); +pub const GIN_AM_OID: Oid = Oid(2742); +pub const SPGIST_AM_OID: Oid = Oid(4000); +pub const BRIN_AM_OID: Oid = Oid(3580); +pub const AccessMethodOperatorRelationId: Oid = Oid(2602); +pub const AccessMethodStrategyIndexId: u32 = 2653; +pub const AccessMethodOperatorIndexId: u32 = 2654; +pub const AccessMethodOperatorOidIndexId: u32 = 2756; +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 AccessMethodProcedureRelationId: Oid = Oid(2603); +pub const AccessMethodProcedureIndexId: u32 = 2655; +pub const AccessMethodProcedureOidIndexId: u32 = 2757; +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 AuthIdRelationId: Oid = Oid(1260); +pub const AuthIdRelation_Rowtype_Id: u32 = 2842; +pub const AuthIdRolnameIndexId: u32 = 2676; +pub const AuthIdOidIndexId: u32 = 2677; +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 ROLE_PG_CHECKPOINT: u32 = 4544; +pub const ROLE_PG_MAINTAIN: u32 = 6337; +pub const ROLE_PG_USE_RESERVED_CONNECTIONS: u32 = 4550; +pub const ROLE_PG_CREATE_SUBSCRIPTION: u32 = 6304; +pub const ROLE_PG_SIGNAL_AUTOVACUUM_WORKER: u32 = 8916; +pub const CollationRelationId: Oid = Oid(3456); +pub const CollationNameEncNspIndexId: u32 = 3164; +pub const CollationOidIndexId: u32 = 3085; +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_colllocale: u32 = 10; +pub const Anum_pg_collation_collicurules: u32 = 11; +pub const Anum_pg_collation_collversion: u32 = 12; +pub const Natts_pg_collation: u32 = 12; +pub const COLLPROVIDER_DEFAULT: u8 = 100u8; +pub const COLLPROVIDER_BUILTIN: u8 = 98u8; +pub const COLLPROVIDER_ICU: u8 = 105u8; +pub const COLLPROVIDER_LIBC: u8 = 99u8; +pub const DEFAULT_COLLATION_OID: Oid = Oid(100); +pub const C_COLLATION_OID: Oid = Oid(950); +pub const DatabaseRelationId: Oid = Oid(1262); +pub const DatabaseRelation_Rowtype_Id: u32 = 1248; +pub const PgDatabaseToastTable: u32 = 4177; +pub const PgDatabaseToastIndex: u32 = 4178; +pub const DatabaseNameIndexId: u32 = 2671; +pub const DatabaseOidIndexId: u32 = 2672; +pub const Template0DbOid: u32 = 4; +pub const PostgresDbOid: u32 = 5; +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_datlocprovider: u32 = 5; +pub const Anum_pg_database_datistemplate: u32 = 6; +pub const Anum_pg_database_datallowconn: u32 = 7; +pub const Anum_pg_database_dathasloginevt: u32 = 8; +pub const Anum_pg_database_datconnlimit: u32 = 9; +pub const Anum_pg_database_datfrozenxid: u32 = 10; +pub const Anum_pg_database_datminmxid: u32 = 11; +pub const Anum_pg_database_dattablespace: u32 = 12; +pub const Anum_pg_database_datcollate: u32 = 13; +pub const Anum_pg_database_datctype: u32 = 14; +pub const Anum_pg_database_datlocale: u32 = 15; +pub const Anum_pg_database_daticurules: u32 = 16; +pub const Anum_pg_database_datcollversion: u32 = 17; +pub const Anum_pg_database_datacl: u32 = 18; +pub const Natts_pg_database: u32 = 18; +pub const Template1DbOid: u32 = 1; +pub const DATCONNLIMIT_UNLIMITED: i32 = -1; +pub const DATCONNLIMIT_INVALID_DB: i32 = -2; +pub const EnumRelationId: Oid = Oid(3501); +pub const EnumOidIndexId: u32 = 3502; +pub const EnumTypIdLabelIndexId: u32 = 3503; +pub const EnumTypIdSortOrderIndexId: u32 = 3534; +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 ExtensionRelationId: Oid = Oid(3079); +pub const ExtensionOidIndexId: u32 = 3080; +pub const ExtensionNameIndexId: u32 = 3081; +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 ForeignDataWrapperRelationId: Oid = Oid(2328); +pub const ForeignDataWrapperOidIndexId: u32 = 112; +pub const ForeignDataWrapperNameIndexId: u32 = 548; +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 ForeignServerRelationId: Oid = Oid(1417); +pub const ForeignServerOidIndexId: u32 = 113; +pub const ForeignServerNameIndexId: u32 = 549; +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 ForeignTableRelationId: Oid = Oid(3118); +pub const ForeignTableRelidIndexId: u32 = 3119; +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 OperatorRelationId: Oid = Oid(2617); +pub const OperatorOidIndexId: u32 = 2688; +pub const OperatorNameNspIndexId: u32 = 2689; +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 TextPrefixOperator: u32 = 3877; +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_RANGE_INTERSECT_RANGE_OP: u32 = 3900; +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_MULTIRANGE_INTERSECT_MULTIRANGE_OP: u32 = 4394; +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 OperatorClassRelationId: Oid = Oid(2616); +pub const OpclassAmNameNspIndexId: u32 = 2686; +pub const OpclassOidIndexId: u32 = 2687; +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: Oid = Oid(3122); +pub const FLOAT8_BTREE_OPS_OID: Oid = Oid(3123); +pub const INT2_BTREE_OPS_OID: Oid = Oid(1979); +pub const INT4_BTREE_OPS_OID: Oid = Oid(1978); +pub const INT8_BTREE_OPS_OID: Oid = Oid(3124); +pub const NUMERIC_BTREE_OPS_OID: Oid = Oid(3125); +pub const OID_BTREE_OPS_OID: Oid = Oid(1981); +pub const TEXT_BTREE_OPS_OID: Oid = Oid(3126); +pub const TIMESTAMPTZ_BTREE_OPS_OID: Oid = Oid(3127); +pub const TIMESTAMP_BTREE_OPS_OID: Oid = Oid(3128); +pub const TEXT_BTREE_PATTERN_OPS_OID: Oid = Oid(4217); +pub const VARCHAR_BTREE_PATTERN_OPS_OID: Oid = Oid(4218); +pub const BPCHAR_BTREE_PATTERN_OPS_OID: Oid = Oid(4219); +pub const OperatorFamilyRelationId: Oid = Oid(2753); +pub const OpfamilyAmNameNspIndexId: u32 = 2754; +pub const OpfamilyOidIndexId: u32 = 2755; +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: Oid = Oid(424); +pub const BPCHAR_BTREE_FAM_OID: Oid = Oid(426); +pub const BYTEA_BTREE_FAM_OID: Oid = Oid(428); +pub const NETWORK_BTREE_FAM_OID: Oid = Oid(1974); +pub const INTEGER_BTREE_FAM_OID: Oid = Oid(1976); +pub const INTERVAL_BTREE_FAM_OID: Oid = Oid(1982); +pub const OID_BTREE_FAM_OID: Oid = Oid(1989); +pub const TEXT_BTREE_FAM_OID: Oid = Oid(1994); +pub const TEXT_PATTERN_BTREE_FAM_OID: Oid = Oid(2095); +pub const BPCHAR_PATTERN_BTREE_FAM_OID: Oid = Oid(2097); +pub const BOOL_HASH_FAM_OID: Oid = Oid(2222); +pub const TEXT_SPGIST_FAM_OID: Oid = Oid(4017); +pub const ProcedureRelationId: Oid = Oid(1255); +pub const ProcedureRelation_Rowtype_Id: u32 = 81; +pub const ProcedureOidIndexId: u32 = 2690; +pub const ProcedureNameArgsNspIndexId: u32 = 2691; +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 NamespaceRelationId: Oid = Oid(2615); +pub const NamespaceNameIndexId: u32 = 2684; +pub const NamespaceOidIndexId: u32 = 2685; +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_SET_CHR: u8 = 115u8; +pub const ACL_ALTER_SYSTEM_CHR: u8 = 65u8; +pub const ACL_MAINTAIN_CHR: u8 = 109u8; +pub const ACL_ALL_RIGHTS_STR: &::core::ffi::CStr = c"arwdDxtXUCTcsAm"; +pub const ACL_ALL_RIGHTS_COLUMN: u32 = 39; +pub const ACL_ALL_RIGHTS_RELATION: u32 = 16511; +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_PARAMETER_ACL: u32 = 12288; +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 SecLabelRelationId: Oid = Oid(3596); +pub const SecLabelObjectIndexId: u32 = 3597; +pub const Anum_pg_seclabel_objoid: u32 = 1; +pub const Anum_pg_seclabel_classoid: u32 = 2; +pub const Anum_pg_seclabel_objsubid: u32 = 3; +pub const Anum_pg_seclabel_provider: u32 = 4; +pub const Anum_pg_seclabel_label: u32 = 5; +pub const Natts_pg_seclabel: u32 = 5; +pub const TableSpaceRelationId: Oid = Oid(1213); +pub const PgTablespaceToastTable: u32 = 4185; +pub const PgTablespaceToastIndex: u32 = 4186; +pub const TablespaceOidIndexId: u32 = 2697; +pub const TablespaceNameIndexId: u32 = 2698; +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: Oid = Oid(1663); +pub const GLOBALTABLESPACE_OID: Oid = Oid(1664); +pub const TriggerRelationId: Oid = Oid(2620); +pub const TriggerConstraintIndexId: u32 = 2699; +pub const TriggerRelidNameIndexId: u32 = 2701; +pub const TriggerOidIndexId: u32 = 2702; +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 UserMappingRelationId: Oid = Oid(1418); +pub const UserMappingOidIndexId: u32 = 174; +pub const UserMappingUserServerIndexId: u32 = 175; +pub const Anum_pg_user_mapping_oid: u32 = 1; +pub const Anum_pg_user_mapping_umuser: u32 = 2; +pub const Anum_pg_user_mapping_umserver: u32 = 3; +pub const Anum_pg_user_mapping_umoptions: u32 = 4; +pub const Natts_pg_user_mapping: u32 = 4; +pub const EOH_HEADER_MAGIC: i32 = -1; +pub const MAXDIM: u32 = 6; +pub const EA_MAGIC: u32 = 689375833; +pub const EventTriggerRelationId: Oid = Oid(3466); +pub const EventTriggerNameIndexId: u32 = 3467; +pub const EventTriggerOidIndexId: u32 = 3468; +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 AT_REWRITE_ALTER_PERSISTENCE: u32 = 1; +pub const AT_REWRITE_DEFAULT_VAL: u32 = 2; +pub const AT_REWRITE_COLUMN_REWRITE: u32 = 4; +pub const AT_REWRITE_ACCESS_METHOD: u32 = 8; +pub const PROGRESS_VACUUM_PHASE: u32 = 0; +pub const PROGRESS_VACUUM_TOTAL_HEAP_BLKS: u32 = 1; +pub const PROGRESS_VACUUM_HEAP_BLKS_SCANNED: u32 = 2; +pub const PROGRESS_VACUUM_HEAP_BLKS_VACUUMED: u32 = 3; +pub const PROGRESS_VACUUM_NUM_INDEX_VACUUMS: u32 = 4; +pub const PROGRESS_VACUUM_MAX_DEAD_TUPLE_BYTES: u32 = 5; +pub const PROGRESS_VACUUM_DEAD_TUPLE_BYTES: u32 = 6; +pub const PROGRESS_VACUUM_NUM_DEAD_ITEM_IDS: u32 = 7; +pub const PROGRESS_VACUUM_INDEXES_TOTAL: u32 = 8; +pub const PROGRESS_VACUUM_INDEXES_PROCESSED: u32 = 9; +pub const PROGRESS_VACUUM_DELAY_TIME: u32 = 10; +pub const PROGRESS_VACUUM_PHASE_SCAN_HEAP: u32 = 1; +pub const PROGRESS_VACUUM_PHASE_VACUUM_INDEX: u32 = 2; +pub const PROGRESS_VACUUM_PHASE_VACUUM_HEAP: u32 = 3; +pub const PROGRESS_VACUUM_PHASE_INDEX_CLEANUP: u32 = 4; +pub const PROGRESS_VACUUM_PHASE_TRUNCATE: u32 = 5; +pub const PROGRESS_VACUUM_PHASE_FINAL_CLEANUP: u32 = 6; +pub const PROGRESS_ANALYZE_PHASE: u32 = 0; +pub const PROGRESS_ANALYZE_BLOCKS_TOTAL: u32 = 1; +pub const PROGRESS_ANALYZE_BLOCKS_DONE: u32 = 2; +pub const PROGRESS_ANALYZE_EXT_STATS_TOTAL: u32 = 3; +pub const PROGRESS_ANALYZE_EXT_STATS_COMPUTED: u32 = 4; +pub const PROGRESS_ANALYZE_CHILD_TABLES_TOTAL: u32 = 5; +pub const PROGRESS_ANALYZE_CHILD_TABLES_DONE: u32 = 6; +pub const PROGRESS_ANALYZE_CURRENT_CHILD_TABLE_RELID: u32 = 7; +pub const PROGRESS_ANALYZE_DELAY_TIME: u32 = 8; +pub const PROGRESS_ANALYZE_PHASE_ACQUIRE_SAMPLE_ROWS: u32 = 1; +pub const PROGRESS_ANALYZE_PHASE_ACQUIRE_SAMPLE_ROWS_INH: u32 = 2; +pub const PROGRESS_ANALYZE_PHASE_COMPUTE_STATS: u32 = 3; +pub const PROGRESS_ANALYZE_PHASE_COMPUTE_EXT_STATS: u32 = 4; +pub const PROGRESS_ANALYZE_PHASE_FINALIZE_ANALYZE: u32 = 5; +pub const PROGRESS_CLUSTER_COMMAND: u32 = 0; +pub const PROGRESS_CLUSTER_PHASE: u32 = 1; +pub const PROGRESS_CLUSTER_INDEX_RELID: u32 = 2; +pub const PROGRESS_CLUSTER_HEAP_TUPLES_SCANNED: u32 = 3; +pub const PROGRESS_CLUSTER_HEAP_TUPLES_WRITTEN: u32 = 4; +pub const PROGRESS_CLUSTER_TOTAL_HEAP_BLKS: u32 = 5; +pub const PROGRESS_CLUSTER_HEAP_BLKS_SCANNED: u32 = 6; +pub const PROGRESS_CLUSTER_INDEX_REBUILD_COUNT: u32 = 7; +pub const PROGRESS_CLUSTER_PHASE_SEQ_SCAN_HEAP: u32 = 1; +pub const PROGRESS_CLUSTER_PHASE_INDEX_SCAN_HEAP: u32 = 2; +pub const PROGRESS_CLUSTER_PHASE_SORT_TUPLES: u32 = 3; +pub const PROGRESS_CLUSTER_PHASE_WRITE_NEW_HEAP: u32 = 4; +pub const PROGRESS_CLUSTER_PHASE_SWAP_REL_FILES: u32 = 5; +pub const PROGRESS_CLUSTER_PHASE_REBUILD_INDEX: u32 = 6; +pub const PROGRESS_CLUSTER_PHASE_FINAL_CLEANUP: u32 = 7; +pub const PROGRESS_CLUSTER_COMMAND_CLUSTER: u32 = 1; +pub const PROGRESS_CLUSTER_COMMAND_VACUUM_FULL: u32 = 2; +pub const PROGRESS_CREATEIDX_COMMAND: u32 = 0; +pub const PROGRESS_CREATEIDX_INDEX_OID: Oid = Oid(6); +pub const PROGRESS_CREATEIDX_ACCESS_METHOD_OID: Oid = Oid(8); +pub const PROGRESS_CREATEIDX_PHASE: u32 = 9; +pub const PROGRESS_CREATEIDX_SUBPHASE: u32 = 10; +pub const PROGRESS_CREATEIDX_TUPLES_TOTAL: u32 = 11; +pub const PROGRESS_CREATEIDX_TUPLES_DONE: u32 = 12; +pub const PROGRESS_CREATEIDX_PARTITIONS_TOTAL: u32 = 13; +pub const PROGRESS_CREATEIDX_PARTITIONS_DONE: u32 = 14; +pub const PROGRESS_CREATEIDX_PHASE_WAIT_1: u32 = 1; +pub const PROGRESS_CREATEIDX_PHASE_BUILD: u32 = 2; +pub const PROGRESS_CREATEIDX_PHASE_WAIT_2: u32 = 3; +pub const PROGRESS_CREATEIDX_PHASE_VALIDATE_IDXSCAN: u32 = 4; +pub const PROGRESS_CREATEIDX_PHASE_VALIDATE_SORT: u32 = 5; +pub const PROGRESS_CREATEIDX_PHASE_VALIDATE_TABLESCAN: u32 = 6; +pub const PROGRESS_CREATEIDX_PHASE_WAIT_3: u32 = 7; +pub const PROGRESS_CREATEIDX_PHASE_WAIT_4: u32 = 8; +pub const PROGRESS_CREATEIDX_PHASE_WAIT_5: u32 = 9; +pub const PROGRESS_CREATEIDX_SUBPHASE_INITIALIZE: u32 = 1; +pub const PROGRESS_CREATEIDX_COMMAND_CREATE: u32 = 1; +pub const PROGRESS_CREATEIDX_COMMAND_CREATE_CONCURRENTLY: u32 = 2; +pub const PROGRESS_CREATEIDX_COMMAND_REINDEX: u32 = 3; +pub const PROGRESS_CREATEIDX_COMMAND_REINDEX_CONCURRENTLY: u32 = 4; +pub const PROGRESS_WAITFOR_TOTAL: u32 = 3; +pub const PROGRESS_WAITFOR_DONE: u32 = 4; +pub const PROGRESS_WAITFOR_CURRENT_PID: u32 = 5; +pub const PROGRESS_SCAN_BLOCKS_TOTAL: u32 = 15; +pub const PROGRESS_SCAN_BLOCKS_DONE: u32 = 16; +pub const PROGRESS_BASEBACKUP_PHASE: u32 = 0; +pub const PROGRESS_BASEBACKUP_BACKUP_TOTAL: u32 = 1; +pub const PROGRESS_BASEBACKUP_BACKUP_STREAMED: u32 = 2; +pub const PROGRESS_BASEBACKUP_TBLSPC_TOTAL: u32 = 3; +pub const PROGRESS_BASEBACKUP_TBLSPC_STREAMED: u32 = 4; +pub const PROGRESS_BASEBACKUP_PHASE_WAIT_CHECKPOINT: u32 = 1; +pub const PROGRESS_BASEBACKUP_PHASE_ESTIMATE_BACKUP_SIZE: u32 = 2; +pub const PROGRESS_BASEBACKUP_PHASE_STREAM_BACKUP: u32 = 3; +pub const PROGRESS_BASEBACKUP_PHASE_WAIT_WAL_ARCHIVE: u32 = 4; +pub const PROGRESS_BASEBACKUP_PHASE_TRANSFER_WAL: u32 = 5; +pub const PROGRESS_COPY_BYTES_PROCESSED: u32 = 0; +pub const PROGRESS_COPY_BYTES_TOTAL: u32 = 1; +pub const PROGRESS_COPY_TUPLES_PROCESSED: u32 = 2; +pub const PROGRESS_COPY_TUPLES_EXCLUDED: u32 = 3; +pub const PROGRESS_COPY_COMMAND: u32 = 4; +pub const PROGRESS_COPY_TYPE: u32 = 5; +pub const PROGRESS_COPY_TUPLES_SKIPPED: u32 = 6; +pub const PROGRESS_COPY_COMMAND_FROM: u32 = 1; +pub const PROGRESS_COPY_COMMAND_TO: u32 = 2; +pub const PROGRESS_COPY_TYPE_FILE: u32 = 1; +pub const PROGRESS_COPY_TYPE_PROGRAM: u32 = 2; +pub const PROGRESS_COPY_TYPE_PIPE: u32 = 3; +pub const PROGRESS_COPY_TYPE_CALLBACK: 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 MAX_ENCRYPTED_PASSWORD_LEN: u32 = 512; +pub const PG_AUTOCONF_FILENAME: &::core::ffi::CStr = c"postgresql.auto.conf"; +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: u32 = 8; +pub const GUC_NO_RESET_ALL: u32 = 16; +pub const GUC_EXPLAIN: u32 = 32; +pub const GUC_REPORT: u32 = 64; +pub const GUC_NOT_IN_SAMPLE: u32 = 128; +pub const GUC_DISALLOW_IN_FILE: u32 = 256; +pub const GUC_CUSTOM_PLACEHOLDER: u32 = 512; +pub const GUC_SUPERUSER_ONLY: u32 = 1024; +pub const GUC_IS_NAME: u32 = 2048; +pub const GUC_NOT_WHILE_SEC_REST: u32 = 4096; +pub const GUC_DISALLOW_IN_AUTO_FILE: u32 = 8192; +pub const GUC_RUNTIME_COMPUTED: u32 = 16384; +pub const GUC_ALLOW_IN_PARALLEL: u32 = 32768; +pub const GUC_UNIT_KB: u32 = 16777216; +pub const GUC_UNIT_BLOCKS: u32 = 33554432; +pub const GUC_UNIT_XBLOCKS: u32 = 50331648; +pub const GUC_UNIT_MB: u32 = 67108864; +pub const GUC_UNIT_BYTE: u32 = 83886080; +pub const GUC_UNIT_MEMORY: u32 = 251658240; +pub const GUC_UNIT_MS: u32 = 268435456; +pub const GUC_UNIT_S: u32 = 536870912; +pub const GUC_UNIT_MIN: u32 = 805306368; +pub const GUC_UNIT_TIME: u32 = 1879048192; +pub const GUC_UNIT: u32 = 2130706432; +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 BGWORKER_BYPASS_ROLELOGINCHECK: u32 = 2; +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_CLOSED: u32 = 128; +pub const WL_SOCKET_ACCEPT: u32 = 2; +pub const WL_SOCKET_MASK: u32 = 134; +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_AFFECTS_ALL_HORIZONS: u32 = 32; +pub const PROC_VACUUM_STATE_MASK: u32 = 14; +pub const PROC_XMIN_FLAGS: u32 = 6; +pub const FP_LOCK_GROUPS_PER_BACKEND_MAX: u32 = 1024; +pub const FP_LOCK_SLOTS_PER_GROUP: u32 = 16; +pub const DELAY_CHKPT_START: u32 = 1; +pub const DELAY_CHKPT_COMPLETE: u32 = 2; +pub const NUM_SPECIAL_WORKER_PROCS: u32 = 2; +pub const MAX_IO_WORKERS: u32 = 32; +pub const NUM_AUXILIARY_PROCS: u32 = 38; +pub const StatisticRelationId: Oid = Oid(2619); +pub const StatisticRelidAttnumInhIndexId: u32 = 2696; +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 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_MAIN: u32 = 64; +pub const VACOPT_PROCESS_TOAST: u32 = 128; +pub const VACOPT_DISABLE_PAGE_SKIPPING: u32 = 256; +pub const VACOPT_SKIP_DATABASE_STATS: u32 = 512; +pub const VACOPT_ONLY_DATABASE_STATS: u32 = 1024; +pub const MAX_STATISTICS_TARGET: u32 = 10000; +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 = 32; +pub const EEO_FLAG_DIRECT_THREADED: u32 = 64; +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_OK_MERGE: u32 = 18; +pub const SPI_OK_MERGE_RETURNING: u32 = 19; +pub const SPI_OPT_NONATOMIC: u32 = 1; +pub const AMFLAG_HAS_TID_RANGE: 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 PGJIT_NONE: u32 = 0; +pub const PGJIT_PERFORM: u32 = 1; +pub const PGJIT_OPT3: u32 = 2; +pub const PGJIT_INLINE: u32 = 4; +pub const PGJIT_EXPR: u32 = 8; +pub const PGJIT_DEFORM: u32 = 16; +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 CUSTOMPATH_SUPPORT_PROJECTION: u32 = 4; +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 QTW_IGNORE_GROUPEXPRS: u32 = 256; +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_RECURSIVE_WORKTABLE_FACTOR: f64 = 10.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 PVC_INCLUDE_CONVERTROWTYPES: u32 = 64; +pub const DEFAULT_CURSOR_TUPLE_FRACTION: f64 = 0.1; +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 PLPGSQL_OTHERS: i32 = -1; +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 PIPE_PROTO_IS_LAST: u32 = 1; +pub const PIPE_PROTO_DEST_STDERR: u32 = 16; +pub const PIPE_PROTO_DEST_CSVLOG: u32 = 32; +pub const PIPE_PROTO_DEST_JSONLOG: u32 = 64; +pub const LOG_METAINFO_DATAFILE: &::core::ffi::CStr = c"current_logfiles"; +pub const LOG_METAINFO_DATAFILE_TMP: &::core::ffi::CStr = c"current_logfiles.tmp"; +pub const PG_LOGICAL_DIR: &::core::ffi::CStr = c"pg_logical"; +pub const PG_LOGICAL_MAPPINGS_DIR: &::core::ffi::CStr = c"pg_logical/mappings"; +pub const PG_LOGICAL_SNAPSHOTS_DIR: &::core::ffi::CStr = c"pg_logical/snapshots"; +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_IS_PREPARED: u32 = 64; +pub const RBTXN_SKIPPED_PREPARE: u32 = 128; +pub const RBTXN_HAS_STREAMABLE_CHANGE: u32 = 256; +pub const RBTXN_SENT_PREPARE: u32 = 512; +pub const RBTXN_IS_COMMITTED: u32 = 1024; +pub const RBTXN_IS_ABORTED: u32 = 2048; +pub const RBTXN_PREPARE_STATUS_MASK: u32 = 704; +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_TWOPHASE_VERSION_NUM: u32 = 3; +pub const LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM: u32 = 4; +pub const LOGICALREP_PROTO_MAX_VERSION_NUM: u32 = 4; +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 PG_REPLSLOT_DIR: &::core::ffi::CStr = c"pg_replslot"; +pub const RS_INVAL_MAX_CAUSES: u32 = 4; +pub const BUF_REFCOUNT_BITS: u32 = 18; +pub const BUF_USAGECOUNT_BITS: u32 = 4; +pub const BUF_FLAG_BITS: u32 = 10; +pub const BUF_REFCOUNT_ONE: u32 = 1; +pub const BUF_REFCOUNT_MASK: u32 = 262143; +pub const BUF_USAGECOUNT_MASK: u32 = 3932160; +pub const BUF_USAGECOUNT_ONE: u32 = 262144; +pub const BUF_USAGECOUNT_SHIFT: u32 = 18; +pub const BUF_FLAG_MASK: u32 = 4290772992; +pub const BM_LOCKED: u32 = 4194304; +pub const BM_DIRTY: u32 = 8388608; +pub const BM_VALID: u32 = 16777216; +pub const BM_TAG_VALID: u32 = 33554432; +pub const BM_IO_IN_PROGRESS: u32 = 67108864; +pub const BM_IO_ERROR: u32 = 134217728; +pub const BM_JUST_DIRTIED: u32 = 268435456; +pub const BM_PIN_COUNT_WAITER: u32 = 536870912; +pub const BM_CHECKPOINT_NEEDED: u32 = 1073741824; +pub const BM_PERMANENT: u32 = 2147483648; +pub const BM_MAX_USAGE_COUNT: u32 = 5; +pub const FREENEXT_END_OF_LIST: i32 = -1; +pub const FREENEXT_NOT_IN_LIST: i32 = -2; +pub const MAX_CANCEL_KEY_LENGTH: u32 = 32; +pub const XLOG_STANDBY_LOCK: u32 = 0; +pub const XLOG_RUNNING_XACTS: u32 = 16; +pub const XLOG_INVALIDATIONS: u32 = 32; +pub const RESTRICT_RELKIND_VIEW: u32 = 1; +pub const RESTRICT_RELKIND_FOREIGN_TABLE: u32 = 2; +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: &::core::ffi::CStr = c"ago"; +pub const DCURRENT: &::core::ffi::CStr = c"current"; +pub const EPOCH: &::core::ffi::CStr = c"epoch"; +pub const INVALID: &::core::ffi::CStr = c"invalid"; +pub const EARLY: &::core::ffi::CStr = c"-infinity"; +pub const LATE: &::core::ffi::CStr = c"infinity"; +pub const NOW: &::core::ffi::CStr = c"now"; +pub const TODAY: &::core::ffi::CStr = c"today"; +pub const TOMORROW: &::core::ffi::CStr = c"tomorrow"; +pub const YESTERDAY: &::core::ffi::CStr = c"yesterday"; +pub const ZULU: &::core::ffi::CStr = c"zulu"; +pub const DMICROSEC: &::core::ffi::CStr = c"usecond"; +pub const DMILLISEC: &::core::ffi::CStr = c"msecond"; +pub const DSECOND: &::core::ffi::CStr = c"second"; +pub const DMINUTE: &::core::ffi::CStr = c"minute"; +pub const DHOUR: &::core::ffi::CStr = c"hour"; +pub const DDAY: &::core::ffi::CStr = c"day"; +pub const DWEEK: &::core::ffi::CStr = c"week"; +pub const DMONTH: &::core::ffi::CStr = c"month"; +pub const DQUARTER: &::core::ffi::CStr = c"quarter"; +pub const DYEAR: &::core::ffi::CStr = c"year"; +pub const DDECADE: &::core::ffi::CStr = c"decade"; +pub const DCENTURY: &::core::ffi::CStr = c"century"; +pub const DMILLENNIUM: &::core::ffi::CStr = c"millennium"; +pub const DA_D: &::core::ffi::CStr = c"ad"; +pub const DB_C: &::core::ffi::CStr = c"bc"; +pub const DTIMEZONE: &::core::ffi::CStr = c"timezone"; +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 DTERR_BAD_TIMEZONE: i32 = -6; +pub const DTERR_BAD_ZONE_ABBREV: i32 = -7; +pub const TZNAME_FIXED_OFFSET: u32 = 0; +pub const TZNAME_DYNTZ: u32 = 1; +pub const TZNAME_ZONE: u32 = 2; +pub const RADIANS_PER_DEGREE: f64 = 0.017453292519943295; +pub const F_HEAP_TABLEAM_HANDLER: u32 = 3; +pub const F_BYTEAOUT: u32 = 31; +pub const F_CHAROUT: u32 = 33; +pub const F_NAMEIN: u32 = 34; +pub const F_NAMEOUT: u32 = 35; +pub const F_INT2IN: u32 = 38; +pub const F_INT2OUT: u32 = 39; +pub const F_INT2VECTORIN: u32 = 40; +pub const F_INT2VECTOROUT: u32 = 41; +pub const F_INT4IN: u32 = 42; +pub const F_INT4OUT: u32 = 43; +pub const F_REGPROCIN: u32 = 44; +pub const F_REGPROCOUT: u32 = 45; +pub const F_TEXTIN: u32 = 46; +pub const F_TEXTOUT: u32 = 47; +pub const F_TIDIN: u32 = 48; +pub const F_TIDOUT: u32 = 49; +pub const F_XIDIN: u32 = 50; +pub const F_XIDOUT: u32 = 51; +pub const F_CIDIN: u32 = 52; +pub const F_CIDOUT: u32 = 53; +pub const F_OIDVECTORIN: u32 = 54; +pub const F_OIDVECTOROUT: u32 = 55; +pub const F_BOOLLT: u32 = 56; +pub const F_BOOLGT: u32 = 57; +pub const F_BOOLEQ: u32 = 60; +pub const F_CHAREQ: u32 = 61; +pub const F_NAMEEQ: u32 = 62; +pub const F_INT2EQ: u32 = 63; +pub const F_INT2LT: u32 = 64; +pub const F_INT4EQ: u32 = 65; +pub const F_INT4LT: u32 = 66; +pub const F_TEXTEQ: u32 = 67; +pub const F_XIDEQ: u32 = 68; +pub const F_CIDEQ: u32 = 69; +pub const F_CHARNE: u32 = 70; +pub const F_CHARLE: u32 = 72; +pub const F_CHARGT: u32 = 73; +pub const F_CHARGE: u32 = 74; +pub const F_INT4_CHAR: u32 = 77; +pub const F_CHAR_INT4: u32 = 78; +pub const F_NAMEREGEXEQ: u32 = 79; +pub const F_BOOLNE: u32 = 84; +pub const F_PG_DDL_COMMAND_IN: u32 = 86; +pub const F_PG_DDL_COMMAND_OUT: u32 = 87; +pub const F_PG_DDL_COMMAND_RECV: u32 = 88; +pub const F_VERSION: u32 = 89; +pub const F_PG_DDL_COMMAND_SEND: u32 = 90; +pub const F_EQSEL: u32 = 101; +pub const F_NEQSEL: u32 = 102; +pub const F_SCALARLTSEL: u32 = 103; +pub const F_SCALARGTSEL: u32 = 104; +pub const F_EQJOINSEL: u32 = 105; +pub const F_NEQJOINSEL: u32 = 106; +pub const F_SCALARLTJOINSEL: u32 = 107; +pub const F_SCALARGTJOINSEL: u32 = 108; +pub const F_UNKNOWNIN: u32 = 109; +pub const F_UNKNOWNOUT: u32 = 110; +pub const F_BOX_ABOVE_EQ: u32 = 115; +pub const F_BOX_BELOW_EQ: u32 = 116; +pub const F_POINT_IN: u32 = 117; +pub const F_POINT_OUT: u32 = 118; +pub const F_LSEG_IN: u32 = 119; +pub const F_LSEG_OUT: u32 = 120; +pub const F_PATH_IN: u32 = 121; +pub const F_PATH_OUT: u32 = 122; +pub const F_BOX_IN: u32 = 123; +pub const F_BOX_OUT: u32 = 124; +pub const F_BOX_OVERLAP: u32 = 125; +pub const F_BOX_GE: u32 = 126; +pub const F_BOX_GT: u32 = 127; +pub const F_BOX_EQ: u32 = 128; +pub const F_BOX_LT: u32 = 129; +pub const F_BOX_LE: u32 = 130; +pub const F_POINT_ABOVE: u32 = 131; +pub const F_POINT_LEFT: u32 = 132; +pub const F_POINT_RIGHT: u32 = 133; +pub const F_POINT_BELOW: u32 = 134; +pub const F_POINT_EQ: u32 = 135; +pub const F_ON_PB: u32 = 136; +pub const F_ON_PPATH: u32 = 137; +pub const F_BOX_CENTER: u32 = 138; +pub const F_AREASEL: u32 = 139; +pub const F_AREAJOINSEL: u32 = 140; +pub const F_INT4MUL: u32 = 141; +pub const F_INT4NE: u32 = 144; +pub const F_INT2NE: u32 = 145; +pub const F_INT2GT: u32 = 146; +pub const F_INT4GT: u32 = 147; +pub const F_INT2LE: u32 = 148; +pub const F_INT4LE: u32 = 149; +pub const F_INT4GE: u32 = 150; +pub const F_INT2GE: u32 = 151; +pub const F_INT2MUL: u32 = 152; +pub const F_INT2DIV: u32 = 153; +pub const F_INT4DIV: u32 = 154; +pub const F_INT2MOD: u32 = 155; +pub const F_INT4MOD: u32 = 156; +pub const F_TEXTNE: u32 = 157; +pub const F_INT24EQ: u32 = 158; +pub const F_INT42EQ: u32 = 159; +pub const F_INT24LT: u32 = 160; +pub const F_INT42LT: u32 = 161; +pub const F_INT24GT: u32 = 162; +pub const F_INT42GT: u32 = 163; +pub const F_INT24NE: u32 = 164; +pub const F_INT42NE: u32 = 165; +pub const F_INT24LE: u32 = 166; +pub const F_INT42LE: u32 = 167; +pub const F_INT24GE: u32 = 168; +pub const F_INT42GE: u32 = 169; +pub const F_INT24MUL: u32 = 170; +pub const F_INT42MUL: u32 = 171; +pub const F_INT24DIV: u32 = 172; +pub const F_INT42DIV: u32 = 173; +pub const F_INT2PL: u32 = 176; +pub const F_INT4PL: u32 = 177; +pub const F_INT24PL: u32 = 178; +pub const F_INT42PL: u32 = 179; +pub const F_INT2MI: u32 = 180; +pub const F_INT4MI: u32 = 181; +pub const F_INT24MI: u32 = 182; +pub const F_INT42MI: u32 = 183; +pub const F_OIDEQ: u32 = 184; +pub const F_OIDNE: u32 = 185; +pub const F_BOX_SAME: u32 = 186; +pub const F_BOX_CONTAIN: u32 = 187; +pub const F_BOX_LEFT: u32 = 188; +pub const F_BOX_OVERLEFT: u32 = 189; +pub const F_BOX_OVERRIGHT: u32 = 190; +pub const F_BOX_RIGHT: u32 = 191; +pub const F_BOX_CONTAINED: u32 = 192; +pub const F_BOX_CONTAIN_PT: u32 = 193; +pub const F_PG_NODE_TREE_IN: u32 = 195; +pub const F_PG_NODE_TREE_OUT: u32 = 196; +pub const F_PG_NODE_TREE_RECV: u32 = 197; +pub const F_PG_NODE_TREE_SEND: u32 = 198; +pub const F_FLOAT4IN: u32 = 200; +pub const F_FLOAT4OUT: u32 = 201; +pub const F_FLOAT4MUL: u32 = 202; +pub const F_FLOAT4DIV: u32 = 203; +pub const F_FLOAT4PL: u32 = 204; +pub const F_FLOAT4MI: u32 = 205; +pub const F_FLOAT4UM: u32 = 206; +pub const F_FLOAT4ABS: u32 = 207; +pub const F_FLOAT4_ACCUM: u32 = 208; +pub const F_FLOAT4LARGER: u32 = 209; +pub const F_FLOAT4SMALLER: u32 = 211; +pub const F_INT4UM: u32 = 212; +pub const F_INT2UM: u32 = 213; +pub const F_FLOAT8IN: u32 = 214; +pub const F_FLOAT8OUT: u32 = 215; +pub const F_FLOAT8MUL: u32 = 216; +pub const F_FLOAT8DIV: u32 = 217; +pub const F_FLOAT8PL: u32 = 218; +pub const F_FLOAT8MI: u32 = 219; +pub const F_FLOAT8UM: u32 = 220; +pub const F_FLOAT8ABS: u32 = 221; +pub const F_FLOAT8_ACCUM: u32 = 222; +pub const F_FLOAT8LARGER: u32 = 223; +pub const F_FLOAT8SMALLER: u32 = 224; +pub const F_LSEG_CENTER: u32 = 225; +pub const F_POLY_CENTER: u32 = 227; +pub const F_DROUND: u32 = 228; +pub const F_DTRUNC: u32 = 229; +pub const F_DSQRT: u32 = 230; +pub const F_DCBRT: u32 = 231; +pub const F_DPOW: u32 = 232; +pub const F_DEXP: u32 = 233; +pub const F_DLOG1: u32 = 234; +pub const F_FLOAT8_INT2: u32 = 235; +pub const F_FLOAT4_INT2: u32 = 236; +pub const F_INT2_FLOAT8: u32 = 237; +pub const F_INT2_FLOAT4: u32 = 238; +pub const F_LINE_DISTANCE: u32 = 239; +pub const F_NAMEEQTEXT: u32 = 240; +pub const F_NAMELTTEXT: u32 = 241; +pub const F_NAMELETEXT: u32 = 242; +pub const F_NAMEGETEXT: u32 = 243; +pub const F_NAMEGTTEXT: u32 = 244; +pub const F_NAMENETEXT: u32 = 245; +pub const F_BTNAMETEXTCMP: u32 = 246; +pub const F_TEXTEQNAME: u32 = 247; +pub const F_TEXTLTNAME: u32 = 248; +pub const F_TEXTLENAME: u32 = 249; +pub const F_TEXTGENAME: u32 = 250; +pub const F_TEXTGTNAME: u32 = 251; +pub const F_TEXTNENAME: u32 = 252; +pub const F_BTTEXTNAMECMP: u32 = 253; +pub const F_NAMECONCATOID: Oid = Oid(266); +pub const F_TABLE_AM_HANDLER_IN: u32 = 267; +pub const F_TABLE_AM_HANDLER_OUT: u32 = 268; +pub const F_TIMEOFDAY: u32 = 274; +pub const F_PG_NEXTOID: Oid = Oid(275); +pub const F_FLOAT8_COMBINE: u32 = 276; +pub const F_INTER_SL: u32 = 277; +pub const F_INTER_LB: u32 = 278; +pub const F_FLOAT48MUL: u32 = 279; +pub const F_FLOAT48DIV: u32 = 280; +pub const F_FLOAT48PL: u32 = 281; +pub const F_FLOAT48MI: u32 = 282; +pub const F_FLOAT84MUL: u32 = 283; +pub const F_FLOAT84DIV: u32 = 284; +pub const F_FLOAT84PL: u32 = 285; +pub const F_FLOAT84MI: u32 = 286; +pub const F_FLOAT4EQ: u32 = 287; +pub const F_FLOAT4NE: u32 = 288; +pub const F_FLOAT4LT: u32 = 289; +pub const F_FLOAT4LE: u32 = 290; +pub const F_FLOAT4GT: u32 = 291; +pub const F_FLOAT4GE: u32 = 292; +pub const F_FLOAT8EQ: u32 = 293; +pub const F_FLOAT8NE: u32 = 294; +pub const F_FLOAT8LT: u32 = 295; +pub const F_FLOAT8LE: u32 = 296; +pub const F_FLOAT8GT: u32 = 297; +pub const F_FLOAT8GE: u32 = 298; +pub const F_FLOAT48EQ: u32 = 299; +pub const F_FLOAT48NE: u32 = 300; +pub const F_FLOAT48LT: u32 = 301; +pub const F_FLOAT48LE: u32 = 302; +pub const F_FLOAT48GT: u32 = 303; +pub const F_FLOAT48GE: u32 = 304; +pub const F_FLOAT84EQ: u32 = 305; +pub const F_FLOAT84NE: u32 = 306; +pub const F_FLOAT84LT: u32 = 307; +pub const F_FLOAT84LE: u32 = 308; +pub const F_FLOAT84GT: u32 = 309; +pub const F_FLOAT84GE: u32 = 310; +pub const F_FLOAT8_FLOAT4: u32 = 311; +pub const F_FLOAT4_FLOAT8: u32 = 312; +pub const F_INT4_INT2: u32 = 313; +pub const F_INT2_INT4: u32 = 314; +pub const F_PG_JIT_AVAILABLE: u32 = 315; +pub const F_FLOAT8_INT4: u32 = 316; +pub const F_INT4_FLOAT8: u32 = 317; +pub const F_FLOAT4_INT4: u32 = 318; +pub const F_INT4_FLOAT4: u32 = 319; +pub const F_WIDTH_BUCKET_FLOAT8_FLOAT8_FLOAT8_INT4: u32 = 320; +pub const F_JSON_IN: u32 = 321; +pub const F_JSON_OUT: u32 = 322; +pub const F_JSON_RECV: u32 = 323; +pub const F_JSON_SEND: u32 = 324; +pub const F_INDEX_AM_HANDLER_IN: u32 = 326; +pub const F_INDEX_AM_HANDLER_OUT: u32 = 327; +pub const F_HASHMACADDR8: u32 = 328; +pub const F_HASH_ACLITEM: u32 = 329; +pub const F_BTHANDLER: u32 = 330; +pub const F_HASHHANDLER: u32 = 331; +pub const F_GISTHANDLER: u32 = 332; +pub const F_GINHANDLER: u32 = 333; +pub const F_SPGHANDLER: u32 = 334; +pub const F_BRINHANDLER: u32 = 335; +pub const F_SCALARLESEL: u32 = 336; +pub const F_SCALARGESEL: u32 = 337; +pub const F_AMVALIDATE: u32 = 338; +pub const F_POLY_SAME: u32 = 339; +pub const F_POLY_CONTAIN: u32 = 340; +pub const F_POLY_LEFT: u32 = 341; +pub const F_POLY_OVERLEFT: u32 = 342; +pub const F_POLY_OVERRIGHT: u32 = 343; +pub const F_POLY_RIGHT: u32 = 344; +pub const F_POLY_CONTAINED: u32 = 345; +pub const F_POLY_OVERLAP: u32 = 346; +pub const F_POLY_IN: u32 = 347; +pub const F_POLY_OUT: u32 = 348; +pub const F_BTINT2CMP: u32 = 350; +pub const F_BTINT4CMP: u32 = 351; +pub const F_BTFLOAT4CMP: u32 = 354; +pub const F_BTFLOAT8CMP: u32 = 355; +pub const F_BTOIDCMP: u32 = 356; +pub const F_DIST_BP: u32 = 357; +pub const F_BTCHARCMP: u32 = 358; +pub const F_BTNAMECMP: u32 = 359; +pub const F_BTTEXTCMP: u32 = 360; +pub const F_LSEG_DISTANCE: u32 = 361; +pub const F_LSEG_INTERPT: u32 = 362; +pub const F_DIST_PS: u32 = 363; +pub const F_DIST_PB: u32 = 364; +pub const F_DIST_SB: u32 = 365; +pub const F_CLOSE_PS: u32 = 366; +pub const F_CLOSE_PB: u32 = 367; +pub const F_CLOSE_SB: u32 = 368; +pub const F_ON_PS: u32 = 369; +pub const F_PATH_DISTANCE: u32 = 370; +pub const F_DIST_PPATH: u32 = 371; +pub const F_ON_SB: u32 = 372; +pub const F_INTER_SB: u32 = 373; +pub const F_STRING_TO_ARRAY_TEXT_TEXT_TEXT: u32 = 376; +pub const F_CASH_CMP: u32 = 377; +pub const F_ARRAY_APPEND: u32 = 378; +pub const F_ARRAY_PREPEND: u32 = 379; +pub const F_DIST_SP: u32 = 380; +pub const F_DIST_BS: u32 = 381; +pub const F_BTARRAYCMP: u32 = 382; +pub const F_ARRAY_CAT: u32 = 383; +pub const F_ARRAY_TO_STRING_ANYARRAY_TEXT_TEXT: u32 = 384; +pub const F_SCALARLEJOINSEL: u32 = 386; +pub const F_ARRAY_NE: u32 = 390; +pub const F_ARRAY_LT: u32 = 391; +pub const F_ARRAY_GT: u32 = 392; +pub const F_ARRAY_LE: u32 = 393; +pub const F_STRING_TO_ARRAY_TEXT_TEXT: u32 = 394; +pub const F_ARRAY_TO_STRING_ANYARRAY_TEXT: u32 = 395; +pub const F_ARRAY_GE: u32 = 396; +pub const F_SCALARGEJOINSEL: u32 = 398; +pub const F_HASHMACADDR: u32 = 399; +pub const F_HASHTEXT: u32 = 400; +pub const F_TEXT_BPCHAR: u32 = 401; +pub const F_BTOIDVECTORCMP: u32 = 404; +pub const F_TEXT_NAME: u32 = 406; +pub const F_NAME_TEXT: u32 = 407; +pub const F_BPCHAR_NAME: u32 = 408; +pub const F_NAME_BPCHAR: u32 = 409; +pub const F_DIST_PATHP: u32 = 421; +pub const F_HASHINET: u32 = 422; +pub const F_HASHINT4EXTENDED: u32 = 425; +pub const F_HASH_NUMERIC: u32 = 432; +pub const F_MACADDR_IN: u32 = 436; +pub const F_MACADDR_OUT: u32 = 437; +pub const F_NUM_NULLS: u32 = 438; +pub const F_NUM_NONNULLS: u32 = 440; +pub const F_HASHINT2EXTENDED: u32 = 441; +pub const F_HASHINT8EXTENDED: u32 = 442; +pub const F_HASHFLOAT4EXTENDED: u32 = 443; +pub const F_HASHFLOAT8EXTENDED: u32 = 444; +pub const F_HASHOIDEXTENDED: u32 = 445; +pub const F_HASHCHAREXTENDED: u32 = 446; +pub const F_HASHNAMEEXTENDED: u32 = 447; +pub const F_HASHTEXTEXTENDED: u32 = 448; +pub const F_HASHINT2: u32 = 449; +pub const F_HASHINT4: u32 = 450; +pub const F_HASHFLOAT4: u32 = 451; +pub const F_HASHFLOAT8: u32 = 452; +pub const F_HASHOID: Oid = Oid(453); +pub const F_HASHCHAR: u32 = 454; +pub const F_HASHNAME: u32 = 455; +pub const F_HASHVARLENA: u32 = 456; +pub const F_HASHOIDVECTOR: u32 = 457; +pub const F_TEXT_LARGER: u32 = 458; +pub const F_TEXT_SMALLER: u32 = 459; +pub const F_INT8IN: u32 = 460; +pub const F_INT8OUT: u32 = 461; +pub const F_INT8UM: u32 = 462; +pub const F_INT8PL: u32 = 463; +pub const F_INT8MI: u32 = 464; +pub const F_INT8MUL: u32 = 465; +pub const F_INT8DIV: u32 = 466; +pub const F_INT8EQ: u32 = 467; +pub const F_INT8NE: u32 = 468; +pub const F_INT8LT: u32 = 469; +pub const F_INT8GT: u32 = 470; +pub const F_INT8LE: u32 = 471; +pub const F_INT8GE: u32 = 472; +pub const F_INT84EQ: u32 = 474; +pub const F_INT84NE: u32 = 475; +pub const F_INT84LT: u32 = 476; +pub const F_INT84GT: u32 = 477; +pub const F_INT84LE: u32 = 478; +pub const F_INT84GE: u32 = 479; +pub const F_INT4_INT8: u32 = 480; +pub const F_INT8_INT4: u32 = 481; +pub const F_FLOAT8_INT8: u32 = 482; +pub const F_INT8_FLOAT8: u32 = 483; +pub const F_ARRAY_LARGER: u32 = 515; +pub const F_ARRAY_SMALLER: u32 = 516; +pub const F_ABBREV_INET: u32 = 598; +pub const F_ABBREV_CIDR: u32 = 599; +pub const F_SET_MASKLEN_INET_INT4: u32 = 605; +pub const F_OIDVECTORNE: u32 = 619; +pub const F_HASH_ARRAY: u32 = 626; +pub const F_SET_MASKLEN_CIDR_INT4: u32 = 635; +pub const F_PG_INDEXAM_HAS_PROPERTY: u32 = 636; +pub const F_PG_INDEX_HAS_PROPERTY: u32 = 637; +pub const F_PG_INDEX_COLUMN_HAS_PROPERTY: u32 = 638; +pub const F_FLOAT4_INT8: u32 = 652; +pub const F_INT8_FLOAT4: u32 = 653; +pub const F_NAMELT: u32 = 655; +pub const F_NAMELE: u32 = 656; +pub const F_NAMEGT: u32 = 657; +pub const F_NAMEGE: u32 = 658; +pub const F_NAMENE: u32 = 659; +pub const F_BPCHAR_BPCHAR_INT4_BOOL: u32 = 668; +pub const F_VARCHAR_VARCHAR_INT4_BOOL: u32 = 669; +pub const F_PG_INDEXAM_PROGRESS_PHASENAME: u32 = 676; +pub const F_OIDVECTORLT: u32 = 677; +pub const F_OIDVECTORLE: u32 = 678; +pub const F_OIDVECTOREQ: u32 = 679; +pub const F_OIDVECTORGE: u32 = 680; +pub const F_OIDVECTORGT: u32 = 681; +pub const F_NETWORK: u32 = 683; +pub const F_NETMASK: u32 = 696; +pub const F_MASKLEN: u32 = 697; +pub const F_BROADCAST: u32 = 698; +pub const F_HOST: u32 = 699; +pub const F_DIST_LP: u32 = 702; +pub const F_DIST_LS: u32 = 704; +pub const F_GETPGUSERNAME: u32 = 710; +pub const F_FAMILY: u32 = 711; +pub const F_INT2_INT8: u32 = 714; +pub const F_LO_CREATE: u32 = 715; +pub const F_OIDLT: u32 = 716; +pub const F_OIDLE: u32 = 717; +pub const F_OCTET_LENGTH_BYTEA: u32 = 720; +pub const F_GET_BYTE: u32 = 721; +pub const F_SET_BYTE: u32 = 722; +pub const F_GET_BIT_BYTEA_INT8: u32 = 723; +pub const F_SET_BIT_BYTEA_INT8_INT4: u32 = 724; +pub const F_DIST_PL: u32 = 725; +pub const F_DIST_SL: u32 = 727; +pub const F_DIST_CPOLY: u32 = 728; +pub const F_POLY_DISTANCE: u32 = 729; +pub const F_TEXT_INET: u32 = 730; +pub const F_TEXT_LT: u32 = 740; +pub const F_TEXT_LE: u32 = 741; +pub const F_TEXT_GT: u32 = 742; +pub const F_TEXT_GE: u32 = 743; +pub const F_ARRAY_EQ: u32 = 744; +pub const F_CURRENT_USER: u32 = 745; +pub const F_SESSION_USER: u32 = 746; +pub const F_ARRAY_DIMS: u32 = 747; +pub const F_ARRAY_NDIMS: u32 = 748; +pub const F_OVERLAY_BYTEA_BYTEA_INT4_INT4: u32 = 749; +pub const F_ARRAY_IN: u32 = 750; +pub const F_ARRAY_OUT: u32 = 751; +pub const F_OVERLAY_BYTEA_BYTEA_INT4: u32 = 752; +pub const F_TRUNC_MACADDR: u32 = 753; +pub const F_INT8_INT2: u32 = 754; +pub const F_LO_IMPORT_TEXT: u32 = 764; +pub const F_LO_EXPORT: u32 = 765; +pub const F_INT4INC: u32 = 766; +pub const F_LO_IMPORT_TEXT_OID: Oid = Oid(767); +pub const F_INT4LARGER: u32 = 768; +pub const F_INT4SMALLER: u32 = 769; +pub const F_INT2LARGER: u32 = 770; +pub const F_INT2SMALLER: u32 = 771; +pub const F_HASHVARLENAEXTENDED: u32 = 772; +pub const F_HASHOIDVECTOREXTENDED: u32 = 776; +pub const F_HASH_ACLITEM_EXTENDED: u32 = 777; +pub const F_HASHMACADDREXTENDED: u32 = 778; +pub const F_HASHINETEXTENDED: u32 = 779; +pub const F_HASH_NUMERIC_EXTENDED: u32 = 780; +pub const F_HASHMACADDR8EXTENDED: u32 = 781; +pub const F_HASH_ARRAY_EXTENDED: u32 = 782; +pub const F_DIST_POLYC: u32 = 785; +pub const F_PG_CLIENT_ENCODING: u32 = 810; +pub const F_CURRENT_QUERY: u32 = 817; +pub const F_MACADDR_EQ: u32 = 830; +pub const F_MACADDR_LT: u32 = 831; +pub const F_MACADDR_LE: u32 = 832; +pub const F_MACADDR_GT: u32 = 833; +pub const F_MACADDR_GE: u32 = 834; +pub const F_MACADDR_NE: u32 = 835; +pub const F_MACADDR_CMP: u32 = 836; +pub const F_INT82PL: u32 = 837; +pub const F_INT82MI: u32 = 838; +pub const F_INT82MUL: u32 = 839; +pub const F_INT82DIV: u32 = 840; +pub const F_INT28PL: u32 = 841; +pub const F_BTINT8CMP: u32 = 842; +pub const F_CASH_MUL_FLT4: u32 = 846; +pub const F_CASH_DIV_FLT4: u32 = 847; +pub const F_FLT4_MUL_CASH: u32 = 848; +pub const F_POSITION_TEXT_TEXT: u32 = 849; +pub const F_TEXTLIKE: u32 = 850; +pub const F_TEXTNLIKE: u32 = 851; +pub const F_INT48EQ: u32 = 852; +pub const F_INT48NE: u32 = 853; +pub const F_INT48LT: u32 = 854; +pub const F_INT48GT: u32 = 855; +pub const F_INT48LE: u32 = 856; +pub const F_INT48GE: u32 = 857; +pub const F_NAMELIKE: u32 = 858; +pub const F_NAMENLIKE: u32 = 859; +pub const F_BPCHAR_CHAR: u32 = 860; +pub const F_CURRENT_DATABASE: u32 = 861; +pub const F_INT4_MUL_CASH: u32 = 862; +pub const F_INT2_MUL_CASH: u32 = 863; +pub const F_CASH_MUL_INT4: u32 = 864; +pub const F_CASH_DIV_INT4: u32 = 865; +pub const F_CASH_MUL_INT2: u32 = 866; +pub const F_CASH_DIV_INT2: u32 = 867; +pub const F_STRPOS: u32 = 868; +pub const F_LOWER_TEXT: u32 = 870; +pub const F_UPPER_TEXT: u32 = 871; +pub const F_INITCAP: u32 = 872; +pub const F_LPAD_TEXT_INT4_TEXT: u32 = 873; +pub const F_RPAD_TEXT_INT4_TEXT: u32 = 874; +pub const F_LTRIM_TEXT_TEXT: u32 = 875; +pub const F_RTRIM_TEXT_TEXT: u32 = 876; +pub const F_SUBSTR_TEXT_INT4_INT4: u32 = 877; +pub const F_TRANSLATE: u32 = 878; +pub const F_LPAD_TEXT_INT4: u32 = 879; +pub const F_RPAD_TEXT_INT4: u32 = 880; +pub const F_LTRIM_TEXT: u32 = 881; +pub const F_RTRIM_TEXT: u32 = 882; +pub const F_SUBSTR_TEXT_INT4: u32 = 883; +pub const F_BTRIM_TEXT_TEXT: u32 = 884; +pub const F_BTRIM_TEXT: u32 = 885; +pub const F_CASH_IN: u32 = 886; +pub const F_CASH_OUT: u32 = 887; +pub const F_CASH_EQ: u32 = 888; +pub const F_CASH_NE: u32 = 889; +pub const F_CASH_LT: u32 = 890; +pub const F_CASH_LE: u32 = 891; +pub const F_CASH_GT: u32 = 892; +pub const F_CASH_GE: u32 = 893; +pub const F_CASH_PL: u32 = 894; +pub const F_CASH_MI: u32 = 895; +pub const F_CASH_MUL_FLT8: u32 = 896; +pub const F_CASH_DIV_FLT8: u32 = 897; +pub const F_CASHLARGER: u32 = 898; +pub const F_CASHSMALLER: u32 = 899; +pub const F_INET_IN: u32 = 910; +pub const F_INET_OUT: u32 = 911; +pub const F_FLT8_MUL_CASH: u32 = 919; +pub const F_NETWORK_EQ: u32 = 920; +pub const F_NETWORK_LT: u32 = 921; +pub const F_NETWORK_LE: u32 = 922; +pub const F_NETWORK_GT: u32 = 923; +pub const F_NETWORK_GE: u32 = 924; +pub const F_NETWORK_NE: u32 = 925; +pub const F_NETWORK_CMP: u32 = 926; +pub const F_NETWORK_SUB: u32 = 927; +pub const F_NETWORK_SUBEQ: u32 = 928; +pub const F_NETWORK_SUP: u32 = 929; +pub const F_NETWORK_SUPEQ: u32 = 930; +pub const F_CASH_WORDS: u32 = 935; +pub const F_SUBSTRING_TEXT_INT4_INT4: u32 = 936; +pub const F_SUBSTRING_TEXT_INT4: u32 = 937; +pub const F_GENERATE_SERIES_TIMESTAMP_TIMESTAMP_INTERVAL: u32 = 938; +pub const F_GENERATE_SERIES_TIMESTAMPTZ_TIMESTAMPTZ_INTERVAL: u32 = 939; +pub const F_MOD_INT2_INT2: u32 = 940; +pub const F_MOD_INT4_INT4: u32 = 941; +pub const F_INT28MI: u32 = 942; +pub const F_INT28MUL: u32 = 943; +pub const F_CHAR_TEXT: u32 = 944; +pub const F_INT8MOD: u32 = 945; +pub const F_TEXT_CHAR: u32 = 946; +pub const F_MOD_INT8_INT8: u32 = 947; +pub const F_INT28DIV: u32 = 948; +pub const F_HASHINT8: u32 = 949; +pub const F_LO_OPEN: u32 = 952; +pub const F_LO_CLOSE: u32 = 953; +pub const F_LOREAD: u32 = 954; +pub const F_LOWRITE: u32 = 955; +pub const F_LO_LSEEK: u32 = 956; +pub const F_LO_CREAT: u32 = 957; +pub const F_LO_TELL: u32 = 958; +pub const F_ON_PL: u32 = 959; +pub const F_ON_SL: u32 = 960; +pub const F_CLOSE_PL: u32 = 961; +pub const F_LO_UNLINK: u32 = 964; +pub const F_HASHBPCHAREXTENDED: u32 = 972; +pub const F_PATH_INTER: u32 = 973; +pub const F_AREA_BOX: u32 = 975; +pub const F_WIDTH: u32 = 976; +pub const F_HEIGHT: u32 = 977; +pub const F_BOX_DISTANCE: u32 = 978; +pub const F_AREA_PATH: u32 = 979; +pub const F_BOX_INTERSECT: u32 = 980; +pub const F_DIAGONAL: u32 = 981; +pub const F_PATH_N_LT: u32 = 982; +pub const F_PATH_N_GT: u32 = 983; +pub const F_PATH_N_EQ: u32 = 984; +pub const F_PATH_N_LE: u32 = 985; +pub const F_PATH_N_GE: u32 = 986; +pub const F_PATH_LENGTH: u32 = 987; +pub const F_POINT_NE: u32 = 988; +pub const F_POINT_VERT: u32 = 989; +pub const F_POINT_HORIZ: u32 = 990; +pub const F_POINT_DISTANCE: u32 = 991; +pub const F_SLOPE: u32 = 992; +pub const F_LSEG_POINT_POINT: u32 = 993; +pub const F_LSEG_INTERSECT: u32 = 994; +pub const F_LSEG_PARALLEL: u32 = 995; +pub const F_LSEG_PERP: u32 = 996; +pub const F_LSEG_VERTICAL: u32 = 997; +pub const F_LSEG_HORIZONTAL: u32 = 998; +pub const F_LSEG_EQ: u32 = 999; +pub const F_LO_TRUNCATE: u32 = 1004; +pub const F_TEXTLIKE_SUPPORT: u32 = 1023; +pub const F_TEXTICREGEXEQ_SUPPORT: u32 = 1024; +pub const F_TEXTICLIKE_SUPPORT: u32 = 1025; +pub const F_TIMEZONE_INTERVAL_TIMESTAMPTZ: u32 = 1026; +pub const F_GIST_POINT_COMPRESS: u32 = 1030; +pub const F_ACLITEMIN: u32 = 1031; +pub const F_ACLITEMOUT: u32 = 1032; +pub const F_ACLINSERT: u32 = 1035; +pub const F_ACLREMOVE: u32 = 1036; +pub const F_ACLCONTAINS: u32 = 1037; +pub const F_GETDATABASEENCODING: u32 = 1039; +pub const F_BPCHARIN: u32 = 1044; +pub const F_BPCHAROUT: u32 = 1045; +pub const F_VARCHARIN: u32 = 1046; +pub const F_VARCHAROUT: u32 = 1047; +pub const F_BPCHAREQ: u32 = 1048; +pub const F_BPCHARLT: u32 = 1049; +pub const F_BPCHARLE: u32 = 1050; +pub const F_BPCHARGT: u32 = 1051; +pub const F_BPCHARGE: u32 = 1052; +pub const F_BPCHARNE: u32 = 1053; +pub const F_ACLITEMEQ: u32 = 1062; +pub const F_BPCHAR_LARGER: u32 = 1063; +pub const F_BPCHAR_SMALLER: u32 = 1064; +pub const F_PG_PREPARED_XACT: u32 = 1065; +pub const F_GENERATE_SERIES_INT4_INT4_INT4: u32 = 1066; +pub const F_GENERATE_SERIES_INT4_INT4: u32 = 1067; +pub const F_GENERATE_SERIES_INT8_INT8_INT8: u32 = 1068; +pub const F_GENERATE_SERIES_INT8_INT8: u32 = 1069; +pub const F_BPCHARCMP: u32 = 1078; +pub const F_REGCLASS: u32 = 1079; +pub const F_HASHBPCHAR: u32 = 1080; +pub const F_FORMAT_TYPE: u32 = 1081; +pub const F_DATE_IN: u32 = 1084; +pub const F_DATE_OUT: u32 = 1085; +pub const F_DATE_EQ: u32 = 1086; +pub const F_DATE_LT: u32 = 1087; +pub const F_DATE_LE: u32 = 1088; +pub const F_DATE_GT: u32 = 1089; +pub const F_DATE_GE: u32 = 1090; +pub const F_DATE_NE: u32 = 1091; +pub const F_DATE_CMP: u32 = 1092; +pub const F_TIME_LT: u32 = 1102; +pub const F_TIME_LE: u32 = 1103; +pub const F_TIME_GT: u32 = 1104; +pub const F_TIME_GE: u32 = 1105; +pub const F_TIME_NE: u32 = 1106; +pub const F_TIME_CMP: u32 = 1107; +pub const F_PG_STAT_GET_WAL: u32 = 1136; +pub const F_PG_GET_WAL_REPLAY_PAUSE_STATE: u32 = 1137; +pub const F_DATE_LARGER: u32 = 1138; +pub const F_DATE_SMALLER: u32 = 1139; +pub const F_DATE_MI: u32 = 1140; +pub const F_DATE_PLI: u32 = 1141; +pub const F_DATE_MII: u32 = 1142; +pub const F_TIME_IN: u32 = 1143; +pub const F_TIME_OUT: u32 = 1144; +pub const F_TIME_EQ: u32 = 1145; +pub const F_CIRCLE_ADD_PT: u32 = 1146; +pub const F_CIRCLE_SUB_PT: u32 = 1147; +pub const F_CIRCLE_MUL_PT: u32 = 1148; +pub const F_CIRCLE_DIV_PT: u32 = 1149; +pub const F_TIMESTAMPTZ_IN: u32 = 1150; +pub const F_TIMESTAMPTZ_OUT: u32 = 1151; +pub const F_TIMESTAMPTZ_EQ: u32 = 1152; +pub const F_TIMESTAMPTZ_NE: u32 = 1153; +pub const F_TIMESTAMPTZ_LT: u32 = 1154; +pub const F_TIMESTAMPTZ_LE: u32 = 1155; +pub const F_TIMESTAMPTZ_GE: u32 = 1156; +pub const F_TIMESTAMPTZ_GT: u32 = 1157; +pub const F_TO_TIMESTAMP_FLOAT8: u32 = 1158; +pub const F_TIMEZONE_TEXT_TIMESTAMPTZ: u32 = 1159; +pub const F_INTERVAL_IN: u32 = 1160; +pub const F_INTERVAL_OUT: u32 = 1161; +pub const F_INTERVAL_EQ: u32 = 1162; +pub const F_INTERVAL_NE: u32 = 1163; +pub const F_INTERVAL_LT: u32 = 1164; +pub const F_INTERVAL_LE: u32 = 1165; +pub const F_INTERVAL_GE: u32 = 1166; +pub const F_INTERVAL_GT: u32 = 1167; +pub const F_INTERVAL_UM: u32 = 1168; +pub const F_INTERVAL_PL: u32 = 1169; +pub const F_INTERVAL_MI: u32 = 1170; +pub const F_DATE_PART_TEXT_TIMESTAMPTZ: u32 = 1171; +pub const F_DATE_PART_TEXT_INTERVAL: u32 = 1172; +pub const F_NETWORK_SUBSET_SUPPORT: u32 = 1173; +pub const F_TIMESTAMPTZ_DATE: u32 = 1174; +pub const F_JUSTIFY_HOURS: u32 = 1175; +pub const F_TIMESTAMPTZ_DATE_TIME: u32 = 1176; +pub const F_JSONB_PATH_EXISTS_TZ: u32 = 1177; +pub const F_DATE_TIMESTAMPTZ: u32 = 1178; +pub const F_JSONB_PATH_QUERY_TZ: u32 = 1179; +pub const F_JSONB_PATH_QUERY_ARRAY_TZ: u32 = 1180; +pub const F_AGE_XID: u32 = 1181; +pub const F_TIMESTAMPTZ_MI: u32 = 1188; +pub const F_TIMESTAMPTZ_PL_INTERVAL: u32 = 1189; +pub const F_TIMESTAMPTZ_MI_INTERVAL: u32 = 1190; +pub const F_GENERATE_SUBSCRIPTS_ANYARRAY_INT4_BOOL: u32 = 1191; +pub const F_GENERATE_SUBSCRIPTS_ANYARRAY_INT4: u32 = 1192; +pub const F_ARRAY_FILL_ANYELEMENT__INT4: u32 = 1193; +pub const F_LOG10_FLOAT8: u32 = 1194; +pub const F_TIMESTAMPTZ_SMALLER: u32 = 1195; +pub const F_TIMESTAMPTZ_LARGER: u32 = 1196; +pub const F_INTERVAL_SMALLER: u32 = 1197; +pub const F_INTERVAL_LARGER: u32 = 1198; +pub const F_AGE_TIMESTAMPTZ_TIMESTAMPTZ: u32 = 1199; +pub const F_INTERVAL_INTERVAL_INT4: u32 = 1200; +pub const F_OBJ_DESCRIPTION_OID_NAME: u32 = 1215; +pub const F_COL_DESCRIPTION: u32 = 1216; +pub const F_DATE_TRUNC_TEXT_TIMESTAMPTZ: u32 = 1217; +pub const F_DATE_TRUNC_TEXT_INTERVAL: u32 = 1218; +pub const F_INT8INC: u32 = 1219; +pub const F_INT8ABS: u32 = 1230; +pub const F_INT8LARGER: u32 = 1236; +pub const F_INT8SMALLER: u32 = 1237; +pub const F_TEXTICREGEXEQ: u32 = 1238; +pub const F_TEXTICREGEXNE: u32 = 1239; +pub const F_NAMEICREGEXEQ: u32 = 1240; +pub const F_NAMEICREGEXNE: u32 = 1241; +pub const F_BOOLIN: u32 = 1242; +pub const F_BOOLOUT: u32 = 1243; +pub const F_BYTEAIN: u32 = 1244; +pub const F_CHARIN: u32 = 1245; +pub const F_CHARLT: u32 = 1246; +pub const F_UNIQUE_KEY_RECHECK: u32 = 1250; +pub const F_INT4ABS: u32 = 1251; +pub const F_NAMEREGEXNE: u32 = 1252; +pub const F_INT2ABS: u32 = 1253; +pub const F_TEXTREGEXEQ: u32 = 1254; +pub const F_TEXTREGEXNE: u32 = 1256; +pub const F_TEXTLEN: u32 = 1257; +pub const F_TEXTCAT: u32 = 1258; +pub const F_PG_CHAR_TO_ENCODING: u32 = 1264; +pub const F_TIDNE: u32 = 1265; +pub const F_CIDR_IN: u32 = 1267; +pub const F_PARSE_IDENT: u32 = 1268; +pub const F_PG_COLUMN_SIZE: u32 = 1269; +pub const F_OVERLAPS_TIMETZ_TIMETZ_TIMETZ_TIMETZ: u32 = 1271; +pub const F_DATETIME_PL: u32 = 1272; +pub const F_DATE_PART_TEXT_TIMETZ: u32 = 1273; +pub const F_INT84PL: u32 = 1274; +pub const F_INT84MI: u32 = 1275; +pub const F_INT84MUL: u32 = 1276; +pub const F_INT84DIV: u32 = 1277; +pub const F_INT48PL: u32 = 1278; +pub const F_INT48MI: u32 = 1279; +pub const F_INT48MUL: u32 = 1280; +pub const F_INT48DIV: u32 = 1281; +pub const F_QUOTE_IDENT: u32 = 1282; +pub const F_QUOTE_LITERAL_TEXT: u32 = 1283; +pub const F_DATE_TRUNC_TEXT_TIMESTAMPTZ_TEXT: u32 = 1284; +pub const F_QUOTE_LITERAL_ANYELEMENT: u32 = 1285; +pub const F_ARRAY_FILL_ANYELEMENT__INT4__INT4: u32 = 1286; +pub const F_OID: Oid = Oid(1287); +pub const F_INT8_OID: Oid = Oid(1288); +pub const F_QUOTE_NULLABLE_TEXT: u32 = 1289; +pub const F_QUOTE_NULLABLE_ANYELEMENT: u32 = 1290; +pub const F_SUPPRESS_REDUNDANT_UPDATES_TRIGGER: u32 = 1291; +pub const F_TIDEQ: u32 = 1292; +pub const F_UNNEST_ANYMULTIRANGE: u32 = 1293; +pub const F_CURRTID2: u32 = 1294; +pub const F_JUSTIFY_DAYS: u32 = 1295; +pub const F_TIMEDATE_PL: u32 = 1296; +pub const F_DATETIMETZ_PL: u32 = 1297; +pub const F_TIMETZDATE_PL: u32 = 1298; +pub const F_NOW: u32 = 1299; +pub const F_POSITIONSEL: u32 = 1300; +pub const F_POSITIONJOINSEL: u32 = 1301; +pub const F_CONTSEL: u32 = 1302; +pub const F_CONTJOINSEL: u32 = 1303; +pub const F_OVERLAPS_TIMESTAMPTZ_TIMESTAMPTZ_TIMESTAMPTZ_TIMESTAMPTZ: u32 = 1304; +pub const F_OVERLAPS_TIMESTAMPTZ_INTERVAL_TIMESTAMPTZ_INTERVAL: u32 = 1305; +pub const F_OVERLAPS_TIMESTAMPTZ_TIMESTAMPTZ_TIMESTAMPTZ_INTERVAL: u32 = 1306; +pub const F_OVERLAPS_TIMESTAMPTZ_INTERVAL_TIMESTAMPTZ_TIMESTAMPTZ: u32 = 1307; +pub const F_OVERLAPS_TIME_TIME_TIME_TIME: u32 = 1308; +pub const F_OVERLAPS_TIME_INTERVAL_TIME_INTERVAL: u32 = 1309; +pub const F_OVERLAPS_TIME_TIME_TIME_INTERVAL: u32 = 1310; +pub const F_OVERLAPS_TIME_INTERVAL_TIME_TIME: u32 = 1311; +pub const F_TIMESTAMP_IN: u32 = 1312; +pub const F_TIMESTAMP_OUT: u32 = 1313; +pub const F_TIMESTAMPTZ_CMP: u32 = 1314; +pub const F_INTERVAL_CMP: u32 = 1315; +pub const F_TIME_TIMESTAMP: u32 = 1316; +pub const F_LENGTH_TEXT: u32 = 1317; +pub const F_LENGTH_BPCHAR: u32 = 1318; +pub const F_XIDEQINT4: u32 = 1319; +pub const F_INTERVAL_DIV: u32 = 1326; +pub const F_DLOG10: u32 = 1339; +pub const F_LOG_FLOAT8: u32 = 1340; +pub const F_LN_FLOAT8: u32 = 1341; +pub const F_ROUND_FLOAT8: u32 = 1342; +pub const F_TRUNC_FLOAT8: u32 = 1343; +pub const F_SQRT_FLOAT8: u32 = 1344; +pub const F_CBRT: u32 = 1345; +pub const F_POW_FLOAT8_FLOAT8: u32 = 1346; +pub const F_EXP_FLOAT8: u32 = 1347; +pub const F_OBJ_DESCRIPTION_OID: Oid = Oid(1348); +pub const F_OIDVECTORTYPES: u32 = 1349; +pub const F_TIMETZ_IN: u32 = 1350; +pub const F_TIMETZ_OUT: u32 = 1351; +pub const F_TIMETZ_EQ: u32 = 1352; +pub const F_TIMETZ_NE: u32 = 1353; +pub const F_TIMETZ_LT: u32 = 1354; +pub const F_TIMETZ_LE: u32 = 1355; +pub const F_TIMETZ_GE: u32 = 1356; +pub const F_TIMETZ_GT: u32 = 1357; +pub const F_TIMETZ_CMP: u32 = 1358; +pub const F_TIMESTAMPTZ_DATE_TIMETZ: u32 = 1359; +pub const F_HOSTMASK: u32 = 1362; +pub const F_TEXTREGEXEQ_SUPPORT: u32 = 1364; +pub const F_MAKEACLITEM: u32 = 1365; +pub const F_CHARACTER_LENGTH_BPCHAR: u32 = 1367; +pub const F_POWER_FLOAT8_FLOAT8: u32 = 1368; +pub const F_CHARACTER_LENGTH_TEXT: u32 = 1369; +pub const F_INTERVAL_TIME: u32 = 1370; +pub const F_PG_LOCK_STATUS: u32 = 1371; +pub const F_CHAR_LENGTH_BPCHAR: u32 = 1372; +pub const F_ISFINITE_DATE: u32 = 1373; +pub const F_OCTET_LENGTH_TEXT: u32 = 1374; +pub const F_OCTET_LENGTH_BPCHAR: u32 = 1375; +pub const F_FACTORIAL: u32 = 1376; +pub const F_TIME_LARGER: u32 = 1377; +pub const F_TIME_SMALLER: u32 = 1378; +pub const F_TIMETZ_LARGER: u32 = 1379; +pub const F_TIMETZ_SMALLER: u32 = 1380; +pub const F_CHAR_LENGTH_TEXT: u32 = 1381; +pub const F_DATE_PART_TEXT_DATE: u32 = 1384; +pub const F_DATE_PART_TEXT_TIME: u32 = 1385; +pub const F_AGE_TIMESTAMPTZ: u32 = 1386; +pub const F_PG_GET_CONSTRAINTDEF_OID: Oid = Oid(1387); +pub const F_TIMETZ_TIMESTAMPTZ: u32 = 1388; +pub const F_ISFINITE_TIMESTAMPTZ: u32 = 1389; +pub const F_ISFINITE_INTERVAL: u32 = 1390; +pub const F_PG_STAT_GET_BACKEND_START: u32 = 1391; +pub const F_PG_STAT_GET_BACKEND_CLIENT_ADDR: u32 = 1392; +pub const F_PG_STAT_GET_BACKEND_CLIENT_PORT: u32 = 1393; +pub const F_ABS_FLOAT4: u32 = 1394; +pub const F_ABS_FLOAT8: u32 = 1395; +pub const F_ABS_INT8: u32 = 1396; +pub const F_ABS_INT4: u32 = 1397; +pub const F_ABS_INT2: u32 = 1398; +pub const F_NAME_VARCHAR: u32 = 1400; +pub const F_VARCHAR_NAME: u32 = 1401; +pub const F_CURRENT_SCHEMA: u32 = 1402; +pub const F_CURRENT_SCHEMAS: u32 = 1403; +pub const F_OVERLAY_TEXT_TEXT_INT4_INT4: u32 = 1404; +pub const F_OVERLAY_TEXT_TEXT_INT4: u32 = 1405; +pub const F_ISVERTICAL_POINT_POINT: u32 = 1406; +pub const F_ISHORIZONTAL_POINT_POINT: u32 = 1407; +pub const F_ISPARALLEL_LSEG_LSEG: u32 = 1408; +pub const F_ISPERP_LSEG_LSEG: u32 = 1409; +pub const F_ISVERTICAL_LSEG: u32 = 1410; +pub const F_ISHORIZONTAL_LSEG: u32 = 1411; +pub const F_ISPARALLEL_LINE_LINE: u32 = 1412; +pub const F_ISPERP_LINE_LINE: u32 = 1413; +pub const F_ISVERTICAL_LINE: u32 = 1414; +pub const F_ISHORIZONTAL_LINE: u32 = 1415; +pub const F_POINT_CIRCLE: u32 = 1416; +pub const F_TIME_INTERVAL: u32 = 1419; +pub const F_BOX_POINT_POINT: u32 = 1421; +pub const F_BOX_ADD: u32 = 1422; +pub const F_BOX_SUB: u32 = 1423; +pub const F_BOX_MUL: u32 = 1424; +pub const F_BOX_DIV: u32 = 1425; +pub const F_PATH_CONTAIN_PT: u32 = 1426; +pub const F_CIDR_OUT: u32 = 1427; +pub const F_POLY_CONTAIN_PT: u32 = 1428; +pub const F_PT_CONTAINED_POLY: u32 = 1429; +pub const F_ISCLOSED: u32 = 1430; +pub const F_ISOPEN: u32 = 1431; +pub const F_PATH_NPOINTS: u32 = 1432; +pub const F_PCLOSE: u32 = 1433; +pub const F_POPEN: u32 = 1434; +pub const F_PATH_ADD: u32 = 1435; +pub const F_PATH_ADD_PT: u32 = 1436; +pub const F_PATH_SUB_PT: u32 = 1437; +pub const F_PATH_MUL_PT: u32 = 1438; +pub const F_PATH_DIV_PT: u32 = 1439; +pub const F_POINT_FLOAT8_FLOAT8: u32 = 1440; +pub const F_POINT_ADD: u32 = 1441; +pub const F_POINT_SUB: u32 = 1442; +pub const F_POINT_MUL: u32 = 1443; +pub const F_POINT_DIV: u32 = 1444; +pub const F_POLY_NPOINTS: u32 = 1445; +pub const F_BOX_POLYGON: u32 = 1446; +pub const F_PATH: u32 = 1447; +pub const F_POLYGON_BOX: u32 = 1448; +pub const F_POLYGON_PATH: u32 = 1449; +pub const F_CIRCLE_IN: u32 = 1450; +pub const F_CIRCLE_OUT: u32 = 1451; +pub const F_CIRCLE_SAME: u32 = 1452; +pub const F_CIRCLE_CONTAIN: u32 = 1453; +pub const F_CIRCLE_LEFT: u32 = 1454; +pub const F_CIRCLE_OVERLEFT: u32 = 1455; +pub const F_CIRCLE_OVERRIGHT: u32 = 1456; +pub const F_CIRCLE_RIGHT: u32 = 1457; +pub const F_CIRCLE_CONTAINED: u32 = 1458; +pub const F_CIRCLE_OVERLAP: u32 = 1459; +pub const F_CIRCLE_BELOW: u32 = 1460; +pub const F_CIRCLE_ABOVE: u32 = 1461; +pub const F_CIRCLE_EQ: u32 = 1462; +pub const F_CIRCLE_NE: u32 = 1463; +pub const F_CIRCLE_LT: u32 = 1464; +pub const F_CIRCLE_GT: u32 = 1465; +pub const F_CIRCLE_LE: u32 = 1466; +pub const F_CIRCLE_GE: u32 = 1467; +pub const F_AREA_CIRCLE: u32 = 1468; +pub const F_DIAMETER: u32 = 1469; +pub const F_RADIUS: u32 = 1470; +pub const F_CIRCLE_DISTANCE: u32 = 1471; +pub const F_CIRCLE_CENTER: u32 = 1472; +pub const F_CIRCLE_POINT_FLOAT8: u32 = 1473; +pub const F_CIRCLE_POLYGON: u32 = 1474; +pub const F_POLYGON_INT4_CIRCLE: u32 = 1475; +pub const F_DIST_PC: u32 = 1476; +pub const F_CIRCLE_CONTAIN_PT: u32 = 1477; +pub const F_PT_CONTAINED_CIRCLE: u32 = 1478; +pub const F_CIRCLE_BOX: u32 = 1479; +pub const F_BOX_CIRCLE: u32 = 1480; +pub const F_LOG10_NUMERIC: u32 = 1481; +pub const F_LSEG_NE: u32 = 1482; +pub const F_LSEG_LT: u32 = 1483; +pub const F_LSEG_LE: u32 = 1484; +pub const F_LSEG_GT: u32 = 1485; +pub const F_LSEG_GE: u32 = 1486; +pub const F_LSEG_LENGTH: u32 = 1487; +pub const F_CLOSE_LS: u32 = 1488; +pub const F_CLOSE_LSEG: u32 = 1489; +pub const F_LINE_IN: u32 = 1490; +pub const F_LINE_OUT: u32 = 1491; +pub const F_LINE_EQ: u32 = 1492; +pub const F_LINE: u32 = 1493; +pub const F_LINE_INTERPT: u32 = 1494; +pub const F_LINE_INTERSECT: u32 = 1495; +pub const F_LINE_PARALLEL: u32 = 1496; +pub const F_LINE_PERP: u32 = 1497; +pub const F_LINE_VERTICAL: u32 = 1498; +pub const F_LINE_HORIZONTAL: u32 = 1499; +pub const F_LENGTH_LSEG: u32 = 1530; +pub const F_LENGTH_PATH: u32 = 1531; +pub const F_POINT_LSEG: u32 = 1532; +pub const F_POINT_BOX: u32 = 1534; +pub const F_POINT_POLYGON: u32 = 1540; +pub const F_LSEG_BOX: u32 = 1541; +pub const F_CENTER_BOX: u32 = 1542; +pub const F_CENTER_CIRCLE: u32 = 1543; +pub const F_POLYGON_CIRCLE: u32 = 1544; +pub const F_NPOINTS_PATH: u32 = 1545; +pub const F_NPOINTS_POLYGON: u32 = 1556; +pub const F_BIT_IN: u32 = 1564; +pub const F_BIT_OUT: u32 = 1565; +pub const F_LIKE_TEXT_TEXT: u32 = 1569; +pub const F_NOTLIKE_TEXT_TEXT: u32 = 1570; +pub const F_LIKE_NAME_TEXT: u32 = 1571; +pub const F_NOTLIKE_NAME_TEXT: u32 = 1572; +pub const F_PG_GET_RULEDEF_OID: Oid = Oid(1573); +pub const F_NEXTVAL: u32 = 1574; +pub const F_CURRVAL: u32 = 1575; +pub const F_SETVAL_REGCLASS_INT8: u32 = 1576; +pub const F_VARBIT_IN: u32 = 1579; +pub const F_VARBIT_OUT: u32 = 1580; +pub const F_BITEQ: u32 = 1581; +pub const F_BITNE: u32 = 1582; +pub const F_BITGE: u32 = 1592; +pub const F_BITGT: u32 = 1593; +pub const F_BITLE: u32 = 1594; +pub const F_BITLT: u32 = 1595; +pub const F_BITCMP: u32 = 1596; +pub const F_PG_ENCODING_TO_CHAR: u32 = 1597; +pub const F_RANDOM_: u32 = 1598; +pub const F_SETSEED: u32 = 1599; +pub const F_ASIN: u32 = 1600; +pub const F_ACOS: u32 = 1601; +pub const F_ATAN: u32 = 1602; +pub const F_ATAN2: u32 = 1603; +pub const F_SIN: u32 = 1604; +pub const F_COS: u32 = 1605; +pub const F_TAN: u32 = 1606; +pub const F_COT: u32 = 1607; +pub const F_DEGREES: u32 = 1608; +pub const F_RADIANS: u32 = 1609; +pub const F_PI: u32 = 1610; +pub const F_INTERVAL_MUL: u32 = 1618; +pub const F_PG_TYPEOF: u32 = 1619; +pub const F_ASCII: u32 = 1620; +pub const F_CHR: u32 = 1621; +pub const F_REPEAT: u32 = 1622; +pub const F_SIMILAR_ESCAPE: u32 = 1623; +pub const F_MUL_D_INTERVAL: u32 = 1624; +pub const F_BPCHARLIKE: u32 = 1631; +pub const F_BPCHARNLIKE: u32 = 1632; +pub const F_TEXTICLIKE: u32 = 1633; +pub const F_TEXTICNLIKE: u32 = 1634; +pub const F_NAMEICLIKE: u32 = 1635; +pub const F_NAMEICNLIKE: u32 = 1636; +pub const F_LIKE_ESCAPE_TEXT_TEXT: u32 = 1637; +pub const F_OIDGT: u32 = 1638; +pub const F_OIDGE: u32 = 1639; +pub const F_PG_GET_VIEWDEF_TEXT: u32 = 1640; +pub const F_PG_GET_VIEWDEF_OID: Oid = Oid(1641); +pub const F_PG_GET_USERBYID: u32 = 1642; +pub const F_PG_GET_INDEXDEF_OID: Oid = Oid(1643); +pub const F_RI_FKEY_CHECK_INS: u32 = 1644; +pub const F_RI_FKEY_CHECK_UPD: u32 = 1645; +pub const F_RI_FKEY_CASCADE_DEL: u32 = 1646; +pub const F_RI_FKEY_CASCADE_UPD: u32 = 1647; +pub const F_RI_FKEY_RESTRICT_DEL: u32 = 1648; +pub const F_RI_FKEY_RESTRICT_UPD: u32 = 1649; +pub const F_RI_FKEY_SETNULL_DEL: u32 = 1650; +pub const F_RI_FKEY_SETNULL_UPD: u32 = 1651; +pub const F_RI_FKEY_SETDEFAULT_DEL: u32 = 1652; +pub const F_RI_FKEY_SETDEFAULT_UPD: u32 = 1653; +pub const F_RI_FKEY_NOACTION_DEL: u32 = 1654; +pub const F_RI_FKEY_NOACTION_UPD: u32 = 1655; +pub const F_BPCHARICREGEXEQ: u32 = 1656; +pub const F_BPCHARICREGEXNE: u32 = 1657; +pub const F_BPCHARREGEXEQ: u32 = 1658; +pub const F_BPCHARREGEXNE: u32 = 1659; +pub const F_BPCHARICLIKE: u32 = 1660; +pub const F_BPCHARICNLIKE: u32 = 1661; +pub const F_PG_GET_TRIGGERDEF_OID: Oid = Oid(1662); +pub const F_PG_GET_SERIAL_SEQUENCE: u32 = 1665; +pub const F_VARBITEQ: u32 = 1666; +pub const F_VARBITNE: u32 = 1667; +pub const F_VARBITGE: u32 = 1668; +pub const F_VARBITGT: u32 = 1669; +pub const F_VARBITLE: u32 = 1670; +pub const F_VARBITLT: u32 = 1671; +pub const F_VARBITCMP: u32 = 1672; +pub const F_BITAND: u32 = 1673; +pub const F_BITOR: u32 = 1674; +pub const F_BITXOR: u32 = 1675; +pub const F_BITNOT: u32 = 1676; +pub const F_BITSHIFTLEFT: u32 = 1677; +pub const F_BITSHIFTRIGHT: u32 = 1678; +pub const F_BITCAT: u32 = 1679; +pub const F_SUBSTRING_BIT_INT4_INT4: u32 = 1680; +pub const F_LENGTH_BIT: u32 = 1681; +pub const F_OCTET_LENGTH_BIT: u32 = 1682; +pub const F_BIT_INT4_INT4: u32 = 1683; +pub const F_INT4_BIT: u32 = 1684; +pub const F_BIT_BIT_INT4_BOOL: u32 = 1685; +pub const F_PG_GET_KEYWORDS: u32 = 1686; +pub const F_VARBIT: u32 = 1687; +pub const F_TIME_HASH: u32 = 1688; +pub const F_ACLEXPLODE: u32 = 1689; +pub const F_TIME_MI_TIME: u32 = 1690; +pub const F_BOOLLE: u32 = 1691; +pub const F_BOOLGE: u32 = 1692; +pub const F_BTBOOLCMP: u32 = 1693; +pub const F_TIMETZ_HASH: u32 = 1696; +pub const F_INTERVAL_HASH: u32 = 1697; +pub const F_POSITION_BIT_BIT: u32 = 1698; +pub const F_SUBSTRING_BIT_INT4: u32 = 1699; +pub const F_NUMERIC_IN: u32 = 1701; +pub const F_NUMERIC_OUT: u32 = 1702; +pub const F_NUMERIC_NUMERIC_INT4: u32 = 1703; +pub const F_NUMERIC_ABS: u32 = 1704; +pub const F_ABS_NUMERIC: u32 = 1705; +pub const F_SIGN_NUMERIC: u32 = 1706; +pub const F_ROUND_NUMERIC_INT4: u32 = 1707; +pub const F_ROUND_NUMERIC: u32 = 1708; +pub const F_TRUNC_NUMERIC_INT4: u32 = 1709; +pub const F_TRUNC_NUMERIC: u32 = 1710; +pub const F_CEIL_NUMERIC: u32 = 1711; +pub const F_FLOOR_NUMERIC: u32 = 1712; +pub const F_LENGTH_BYTEA_NAME: u32 = 1713; +pub const F_CONVERT_FROM: u32 = 1714; +pub const F_CIDR: u32 = 1715; +pub const F_PG_GET_EXPR_PG_NODE_TREE_OID: Oid = Oid(1716); +pub const F_CONVERT_TO: u32 = 1717; +pub const F_NUMERIC_EQ: u32 = 1718; +pub const F_NUMERIC_NE: u32 = 1719; +pub const F_NUMERIC_GT: u32 = 1720; +pub const F_NUMERIC_GE: u32 = 1721; +pub const F_NUMERIC_LT: u32 = 1722; +pub const F_NUMERIC_LE: u32 = 1723; +pub const F_NUMERIC_ADD: u32 = 1724; +pub const F_NUMERIC_SUB: u32 = 1725; +pub const F_NUMERIC_MUL: u32 = 1726; +pub const F_NUMERIC_DIV: u32 = 1727; +pub const F_MOD_NUMERIC_NUMERIC: u32 = 1728; +pub const F_NUMERIC_MOD: u32 = 1729; +pub const F_SQRT_NUMERIC: u32 = 1730; +pub const F_NUMERIC_SQRT: u32 = 1731; +pub const F_EXP_NUMERIC: u32 = 1732; +pub const F_NUMERIC_EXP: u32 = 1733; +pub const F_LN_NUMERIC: u32 = 1734; +pub const F_NUMERIC_LN: u32 = 1735; +pub const F_LOG_NUMERIC_NUMERIC: u32 = 1736; +pub const F_NUMERIC_LOG: u32 = 1737; +pub const F_POW_NUMERIC_NUMERIC: u32 = 1738; +pub const F_NUMERIC_POWER: u32 = 1739; +pub const F_NUMERIC_INT4: u32 = 1740; +pub const F_LOG_NUMERIC: u32 = 1741; +pub const F_NUMERIC_FLOAT4: u32 = 1742; +pub const F_NUMERIC_FLOAT8: u32 = 1743; +pub const F_INT4_NUMERIC: u32 = 1744; +pub const F_FLOAT4_NUMERIC: u32 = 1745; +pub const F_FLOAT8_NUMERIC: u32 = 1746; +pub const F_TIME_PL_INTERVAL: u32 = 1747; +pub const F_TIME_MI_INTERVAL: u32 = 1748; +pub const F_TIMETZ_PL_INTERVAL: u32 = 1749; +pub const F_TIMETZ_MI_INTERVAL: u32 = 1750; +pub const F_NUMERIC_INC: u32 = 1764; +pub const F_SETVAL_REGCLASS_INT8_BOOL: u32 = 1765; +pub const F_NUMERIC_SMALLER: u32 = 1766; +pub const F_NUMERIC_LARGER: u32 = 1767; +pub const F_TO_CHAR_INTERVAL_TEXT: u32 = 1768; +pub const F_NUMERIC_CMP: u32 = 1769; +pub const F_TO_CHAR_TIMESTAMPTZ_TEXT: u32 = 1770; +pub const F_NUMERIC_UMINUS: u32 = 1771; +pub const F_TO_CHAR_NUMERIC_TEXT: u32 = 1772; +pub const F_TO_CHAR_INT4_TEXT: u32 = 1773; +pub const F_TO_CHAR_INT8_TEXT: u32 = 1774; +pub const F_TO_CHAR_FLOAT4_TEXT: u32 = 1775; +pub const F_TO_CHAR_FLOAT8_TEXT: u32 = 1776; +pub const F_TO_NUMBER: u32 = 1777; +pub const F_TO_TIMESTAMP_TEXT_TEXT: u32 = 1778; +pub const F_INT8_NUMERIC: u32 = 1779; +pub const F_TO_DATE: u32 = 1780; +pub const F_NUMERIC_INT8: u32 = 1781; +pub const F_NUMERIC_INT2: u32 = 1782; +pub const F_INT2_NUMERIC: u32 = 1783; +pub const F_OIDIN: u32 = 1798; +pub const F_OIDOUT: u32 = 1799; +pub const F_BIT_LENGTH_BYTEA: u32 = 1810; +pub const F_BIT_LENGTH_TEXT: u32 = 1811; +pub const F_BIT_LENGTH_BIT: u32 = 1812; +pub const F_CONVERT: u32 = 1813; +pub const F_ICLIKESEL: u32 = 1814; +pub const F_ICNLIKESEL: u32 = 1815; +pub const F_ICLIKEJOINSEL: u32 = 1816; +pub const F_ICNLIKEJOINSEL: u32 = 1817; +pub const F_REGEXEQSEL: u32 = 1818; +pub const F_LIKESEL: u32 = 1819; +pub const F_ICREGEXEQSEL: u32 = 1820; +pub const F_REGEXNESEL: u32 = 1821; +pub const F_NLIKESEL: u32 = 1822; +pub const F_ICREGEXNESEL: u32 = 1823; +pub const F_REGEXEQJOINSEL: u32 = 1824; +pub const F_LIKEJOINSEL: u32 = 1825; +pub const F_ICREGEXEQJOINSEL: u32 = 1826; +pub const F_REGEXNEJOINSEL: u32 = 1827; +pub const F_NLIKEJOINSEL: u32 = 1828; +pub const F_ICREGEXNEJOINSEL: u32 = 1829; +pub const F_FLOAT8_AVG: u32 = 1830; +pub const F_FLOAT8_VAR_SAMP: u32 = 1831; +pub const F_FLOAT8_STDDEV_SAMP: u32 = 1832; +pub const F_NUMERIC_ACCUM: u32 = 1833; +pub const F_INT2_ACCUM: u32 = 1834; +pub const F_INT4_ACCUM: u32 = 1835; +pub const F_INT8_ACCUM: u32 = 1836; +pub const F_NUMERIC_AVG: u32 = 1837; +pub const F_NUMERIC_VAR_SAMP: u32 = 1838; +pub const F_NUMERIC_STDDEV_SAMP: u32 = 1839; +pub const F_INT2_SUM: u32 = 1840; +pub const F_INT4_SUM: u32 = 1841; +pub const F_INT8_SUM: u32 = 1842; +pub const F_INTERVAL_AVG_ACCUM: u32 = 1843; +pub const F_INTERVAL_AVG: u32 = 1844; +pub const F_TO_ASCII_TEXT: u32 = 1845; +pub const F_TO_ASCII_TEXT_INT4: u32 = 1846; +pub const F_TO_ASCII_TEXT_NAME: u32 = 1847; +pub const F_INTERVAL_PL_TIME: u32 = 1848; +pub const F_INT28EQ: u32 = 1850; +pub const F_INT28NE: u32 = 1851; +pub const F_INT28LT: u32 = 1852; +pub const F_INT28GT: u32 = 1853; +pub const F_INT28LE: u32 = 1854; +pub const F_INT28GE: u32 = 1855; +pub const F_INT82EQ: u32 = 1856; +pub const F_INT82NE: u32 = 1857; +pub const F_INT82LT: u32 = 1858; +pub const F_INT82GT: u32 = 1859; +pub const F_INT82LE: u32 = 1860; +pub const F_INT82GE: u32 = 1861; +pub const F_INT2AND: u32 = 1892; +pub const F_INT2OR: u32 = 1893; +pub const F_INT2XOR: u32 = 1894; +pub const F_INT2NOT: u32 = 1895; +pub const F_INT2SHL: u32 = 1896; +pub const F_INT2SHR: u32 = 1897; +pub const F_INT4AND: u32 = 1898; +pub const F_INT4OR: u32 = 1899; +pub const F_INT4XOR: u32 = 1900; +pub const F_INT4NOT: u32 = 1901; +pub const F_INT4SHL: u32 = 1902; +pub const F_INT4SHR: u32 = 1903; +pub const F_INT8AND: u32 = 1904; +pub const F_INT8OR: u32 = 1905; +pub const F_INT8XOR: u32 = 1906; +pub const F_INT8NOT: u32 = 1907; +pub const F_INT8SHL: u32 = 1908; +pub const F_INT8SHR: u32 = 1909; +pub const F_INT8UP: u32 = 1910; +pub const F_INT2UP: u32 = 1911; +pub const F_INT4UP: u32 = 1912; +pub const F_FLOAT4UP: u32 = 1913; +pub const F_FLOAT8UP: u32 = 1914; +pub const F_NUMERIC_UPLUS: u32 = 1915; +pub const F_HAS_TABLE_PRIVILEGE_NAME_TEXT_TEXT: u32 = 1922; +pub const F_HAS_TABLE_PRIVILEGE_NAME_OID_TEXT: u32 = 1923; +pub const F_HAS_TABLE_PRIVILEGE_OID_TEXT_TEXT: u32 = 1924; +pub const F_HAS_TABLE_PRIVILEGE_OID_OID_TEXT: u32 = 1925; +pub const F_HAS_TABLE_PRIVILEGE_TEXT_TEXT: u32 = 1926; +pub const F_HAS_TABLE_PRIVILEGE_OID_TEXT: u32 = 1927; +pub const F_PG_STAT_GET_NUMSCANS: u32 = 1928; +pub const F_PG_STAT_GET_TUPLES_RETURNED: u32 = 1929; +pub const F_PG_STAT_GET_TUPLES_FETCHED: u32 = 1930; +pub const F_PG_STAT_GET_TUPLES_INSERTED: u32 = 1931; +pub const F_PG_STAT_GET_TUPLES_UPDATED: u32 = 1932; +pub const F_PG_STAT_GET_TUPLES_DELETED: u32 = 1933; +pub const F_PG_STAT_GET_BLOCKS_FETCHED: u32 = 1934; +pub const F_PG_STAT_GET_BLOCKS_HIT: u32 = 1935; +pub const F_PG_STAT_GET_BACKEND_IDSET: u32 = 1936; +pub const F_PG_STAT_GET_BACKEND_PID: u32 = 1937; +pub const F_PG_STAT_GET_BACKEND_DBID: u32 = 1938; +pub const F_PG_STAT_GET_BACKEND_USERID: u32 = 1939; +pub const F_PG_STAT_GET_BACKEND_ACTIVITY: u32 = 1940; +pub const F_PG_STAT_GET_DB_NUMBACKENDS: u32 = 1941; +pub const F_PG_STAT_GET_DB_XACT_COMMIT: u32 = 1942; +pub const F_PG_STAT_GET_DB_XACT_ROLLBACK: u32 = 1943; +pub const F_PG_STAT_GET_DB_BLOCKS_FETCHED: u32 = 1944; +pub const F_PG_STAT_GET_DB_BLOCKS_HIT: u32 = 1945; +pub const F_ENCODE: u32 = 1946; +pub const F_DECODE: u32 = 1947; +pub const F_BYTEAEQ: u32 = 1948; +pub const F_BYTEALT: u32 = 1949; +pub const F_BYTEALE: u32 = 1950; +pub const F_BYTEAGT: u32 = 1951; +pub const F_BYTEAGE: u32 = 1952; +pub const F_BYTEANE: u32 = 1953; +pub const F_BYTEACMP: u32 = 1954; +pub const F_TIMESTAMP_TIMESTAMP_INT4: u32 = 1961; +pub const F_INT2_AVG_ACCUM: u32 = 1962; +pub const F_INT4_AVG_ACCUM: u32 = 1963; +pub const F_INT8_AVG: u32 = 1964; +pub const F_OIDLARGER: u32 = 1965; +pub const F_OIDSMALLER: u32 = 1966; +pub const F_TIMESTAMPTZ_TIMESTAMPTZ_INT4: u32 = 1967; +pub const F_TIME_TIME_INT4: u32 = 1968; +pub const F_TIMETZ_TIMETZ_INT4: u32 = 1969; +pub const F_PG_STAT_GET_TUPLES_HOT_UPDATED: u32 = 1972; +pub const F_DIV: u32 = 1973; +pub const F_NUMERIC_DIV_TRUNC: u32 = 1980; +pub const F_SIMILAR_TO_ESCAPE_TEXT_TEXT: u32 = 1986; +pub const F_SIMILAR_TO_ESCAPE_TEXT: u32 = 1987; +pub const F_SHOBJ_DESCRIPTION: u32 = 1993; +pub const F_TEXTANYCAT: u32 = 2003; +pub const F_ANYTEXTCAT: u32 = 2004; +pub const F_BYTEALIKE: u32 = 2005; +pub const F_BYTEANLIKE: u32 = 2006; +pub const F_LIKE_BYTEA_BYTEA: u32 = 2007; +pub const F_NOTLIKE_BYTEA_BYTEA: u32 = 2008; +pub const F_LIKE_ESCAPE_BYTEA_BYTEA: u32 = 2009; +pub const F_LENGTH_BYTEA: u32 = 2010; +pub const F_BYTEACAT: u32 = 2011; +pub const F_SUBSTRING_BYTEA_INT4_INT4: u32 = 2012; +pub const F_SUBSTRING_BYTEA_INT4: u32 = 2013; +pub const F_POSITION_BYTEA_BYTEA: u32 = 2014; +pub const F_BTRIM_BYTEA_BYTEA: u32 = 2015; +pub const F_TIME_TIMESTAMPTZ: u32 = 2019; +pub const F_DATE_TRUNC_TEXT_TIMESTAMP: u32 = 2020; +pub const F_DATE_PART_TEXT_TIMESTAMP: u32 = 2021; +pub const F_PG_STAT_GET_ACTIVITY: u32 = 2022; +pub const F_JSONB_PATH_QUERY_FIRST_TZ: u32 = 2023; +pub const F_TIMESTAMP_DATE: u32 = 2024; +pub const F_TIMESTAMP_DATE_TIME: u32 = 2025; +pub const F_PG_BACKEND_PID: u32 = 2026; +pub const F_TIMESTAMP_TIMESTAMPTZ: u32 = 2027; +pub const F_TIMESTAMPTZ_TIMESTAMP: u32 = 2028; +pub const F_DATE_TIMESTAMP: u32 = 2029; +pub const F_JSONB_PATH_MATCH_TZ: u32 = 2030; +pub const F_TIMESTAMP_MI: u32 = 2031; +pub const F_TIMESTAMP_PL_INTERVAL: u32 = 2032; +pub const F_TIMESTAMP_MI_INTERVAL: u32 = 2033; +pub const F_PG_CONF_LOAD_TIME: u32 = 2034; +pub const F_TIMESTAMP_SMALLER: u32 = 2035; +pub const F_TIMESTAMP_LARGER: u32 = 2036; +pub const F_TIMEZONE_TEXT_TIMETZ: u32 = 2037; +pub const F_TIMEZONE_INTERVAL_TIMETZ: u32 = 2038; +pub const F_TIMESTAMP_HASH: u32 = 2039; +pub const F_OVERLAPS_TIMESTAMP_TIMESTAMP_TIMESTAMP_TIMESTAMP: u32 = 2041; +pub const F_OVERLAPS_TIMESTAMP_INTERVAL_TIMESTAMP_INTERVAL: u32 = 2042; +pub const F_OVERLAPS_TIMESTAMP_TIMESTAMP_TIMESTAMP_INTERVAL: u32 = 2043; +pub const F_OVERLAPS_TIMESTAMP_INTERVAL_TIMESTAMP_TIMESTAMP: u32 = 2044; +pub const F_TIMESTAMP_CMP: u32 = 2045; +pub const F_TIME_TIMETZ: u32 = 2046; +pub const F_TIMETZ_TIME: u32 = 2047; +pub const F_ISFINITE_TIMESTAMP: u32 = 2048; +pub const F_TO_CHAR_TIMESTAMP_TEXT: u32 = 2049; +pub const F_MAX_ANYARRAY: u32 = 2050; +pub const F_MIN_ANYARRAY: u32 = 2051; +pub const F_TIMESTAMP_EQ: u32 = 2052; +pub const F_TIMESTAMP_NE: u32 = 2053; +pub const F_TIMESTAMP_LT: u32 = 2054; +pub const F_TIMESTAMP_LE: u32 = 2055; +pub const F_TIMESTAMP_GE: u32 = 2056; +pub const F_TIMESTAMP_GT: u32 = 2057; +pub const F_AGE_TIMESTAMP_TIMESTAMP: u32 = 2058; +pub const F_AGE_TIMESTAMP: u32 = 2059; +pub const F_TIMEZONE_TEXT_TIMESTAMP: u32 = 2069; +pub const F_TIMEZONE_INTERVAL_TIMESTAMP: u32 = 2070; +pub const F_DATE_PL_INTERVAL: u32 = 2071; +pub const F_DATE_MI_INTERVAL: u32 = 2072; +pub const F_SUBSTRING_TEXT_TEXT: u32 = 2073; +pub const F_SUBSTRING_TEXT_TEXT_TEXT: u32 = 2074; +pub const F_BIT_INT8_INT4: u32 = 2075; +pub const F_INT8_BIT: u32 = 2076; +pub const F_CURRENT_SETTING_TEXT: u32 = 2077; +pub const F_SET_CONFIG: u32 = 2078; +pub const F_PG_TABLE_IS_VISIBLE: u32 = 2079; +pub const F_PG_TYPE_IS_VISIBLE: u32 = 2080; +pub const F_PG_FUNCTION_IS_VISIBLE: u32 = 2081; +pub const F_PG_OPERATOR_IS_VISIBLE: u32 = 2082; +pub const F_PG_OPCLASS_IS_VISIBLE: u32 = 2083; +pub const F_PG_SHOW_ALL_SETTINGS: u32 = 2084; +pub const F_SUBSTR_BYTEA_INT4_INT4: u32 = 2085; +pub const F_SUBSTR_BYTEA_INT4: u32 = 2086; +pub const F_REPLACE: u32 = 2087; +pub const F_SPLIT_PART: u32 = 2088; +pub const F_TO_HEX_INT4: u32 = 2089; +pub const F_TO_HEX_INT8: u32 = 2090; +pub const F_ARRAY_LOWER: u32 = 2091; +pub const F_ARRAY_UPPER: u32 = 2092; +pub const F_PG_CONVERSION_IS_VISIBLE: u32 = 2093; +pub const F_PG_STAT_GET_BACKEND_ACTIVITY_START: u32 = 2094; +pub const F_PG_TERMINATE_BACKEND: u32 = 2096; +pub const F_PG_GET_FUNCTIONDEF: u32 = 2098; +pub const F_AVG_INT8: u32 = 2100; +pub const F_AVG_INT4: u32 = 2101; +pub const F_AVG_INT2: u32 = 2102; +pub const F_AVG_NUMERIC: u32 = 2103; +pub const F_AVG_FLOAT4: u32 = 2104; +pub const F_AVG_FLOAT8: u32 = 2105; +pub const F_AVG_INTERVAL: u32 = 2106; +pub const F_SUM_INT8: u32 = 2107; +pub const F_SUM_INT4: u32 = 2108; +pub const F_SUM_INT2: u32 = 2109; +pub const F_SUM_FLOAT4: u32 = 2110; +pub const F_SUM_FLOAT8: u32 = 2111; +pub const F_SUM_MONEY: u32 = 2112; +pub const F_SUM_INTERVAL: u32 = 2113; +pub const F_SUM_NUMERIC: u32 = 2114; +pub const F_MAX_INT8: u32 = 2115; +pub const F_MAX_INT4: u32 = 2116; +pub const F_MAX_INT2: u32 = 2117; +pub const F_MAX_OID: Oid = Oid(2118); +pub const F_MAX_FLOAT4: u32 = 2119; +pub const F_MAX_FLOAT8: u32 = 2120; +pub const F_PG_COLUMN_COMPRESSION: u32 = 2121; +pub const F_MAX_DATE: u32 = 2122; +pub const F_MAX_TIME: u32 = 2123; +pub const F_MAX_TIMETZ: u32 = 2124; +pub const F_MAX_MONEY: u32 = 2125; +pub const F_MAX_TIMESTAMP: u32 = 2126; +pub const F_MAX_TIMESTAMPTZ: u32 = 2127; +pub const F_MAX_INTERVAL: u32 = 2128; +pub const F_MAX_TEXT: u32 = 2129; +pub const F_MAX_NUMERIC: u32 = 2130; +pub const F_MIN_INT8: u32 = 2131; +pub const F_MIN_INT4: u32 = 2132; +pub const F_MIN_INT2: u32 = 2133; +pub const F_MIN_OID: Oid = Oid(2134); +pub const F_MIN_FLOAT4: u32 = 2135; +pub const F_MIN_FLOAT8: u32 = 2136; +pub const F_PG_STAT_FORCE_NEXT_FLUSH: u32 = 2137; +pub const F_MIN_DATE: u32 = 2138; +pub const F_MIN_TIME: u32 = 2139; +pub const F_MIN_TIMETZ: u32 = 2140; +pub const F_MIN_MONEY: u32 = 2141; +pub const F_MIN_TIMESTAMP: u32 = 2142; +pub const F_MIN_TIMESTAMPTZ: u32 = 2143; +pub const F_MIN_INTERVAL: u32 = 2144; +pub const F_MIN_TEXT: u32 = 2145; +pub const F_MIN_NUMERIC: u32 = 2146; +pub const F_COUNT_ANY: u32 = 2147; +pub const F_VARIANCE_INT8: u32 = 2148; +pub const F_VARIANCE_INT4: u32 = 2149; +pub const F_VARIANCE_INT2: u32 = 2150; +pub const F_VARIANCE_FLOAT4: u32 = 2151; +pub const F_VARIANCE_FLOAT8: u32 = 2152; +pub const F_VARIANCE_NUMERIC: u32 = 2153; +pub const F_STDDEV_INT8: u32 = 2154; +pub const F_STDDEV_INT4: u32 = 2155; +pub const F_STDDEV_INT2: u32 = 2156; +pub const F_STDDEV_FLOAT4: u32 = 2157; +pub const F_STDDEV_FLOAT8: u32 = 2158; +pub const F_STDDEV_NUMERIC: u32 = 2159; +pub const F_TEXT_PATTERN_LT: u32 = 2160; +pub const F_TEXT_PATTERN_LE: u32 = 2161; +pub const F_PG_GET_FUNCTION_ARGUMENTS: u32 = 2162; +pub const F_TEXT_PATTERN_GE: u32 = 2163; +pub const F_TEXT_PATTERN_GT: u32 = 2164; +pub const F_PG_GET_FUNCTION_RESULT: u32 = 2165; +pub const F_BTTEXT_PATTERN_CMP: u32 = 2166; +pub const F_CEILING_NUMERIC: u32 = 2167; +pub const F_PG_DATABASE_SIZE_NAME: u32 = 2168; +pub const F_POWER_NUMERIC_NUMERIC: u32 = 2169; +pub const F_WIDTH_BUCKET_NUMERIC_NUMERIC_NUMERIC_INT4: u32 = 2170; +pub const F_PG_CANCEL_BACKEND: u32 = 2171; +pub const F_PG_BACKUP_START: u32 = 2172; +pub const F_PG_GET_PROCESS_MEMORY_CONTEXTS: u32 = 2173; +pub const F_BPCHAR_PATTERN_LT: u32 = 2174; +pub const F_BPCHAR_PATTERN_LE: u32 = 2175; +pub const F_ARRAY_LENGTH: u32 = 2176; +pub const F_BPCHAR_PATTERN_GE: u32 = 2177; +pub const F_BPCHAR_PATTERN_GT: u32 = 2178; +pub const F_GIST_POINT_CONSISTENT: u32 = 2179; +pub const F_BTBPCHAR_PATTERN_CMP: u32 = 2180; +pub const F_HAS_SEQUENCE_PRIVILEGE_NAME_TEXT_TEXT: u32 = 2181; +pub const F_HAS_SEQUENCE_PRIVILEGE_NAME_OID_TEXT: u32 = 2182; +pub const F_HAS_SEQUENCE_PRIVILEGE_OID_TEXT_TEXT: u32 = 2183; +pub const F_HAS_SEQUENCE_PRIVILEGE_OID_OID_TEXT: u32 = 2184; +pub const F_HAS_SEQUENCE_PRIVILEGE_TEXT_TEXT: u32 = 2185; +pub const F_HAS_SEQUENCE_PRIVILEGE_OID_TEXT: u32 = 2186; +pub const F_BTINT48CMP: u32 = 2188; +pub const F_BTINT84CMP: u32 = 2189; +pub const F_BTINT24CMP: u32 = 2190; +pub const F_BTINT42CMP: u32 = 2191; +pub const F_BTINT28CMP: u32 = 2192; +pub const F_BTINT82CMP: u32 = 2193; +pub const F_BTFLOAT48CMP: u32 = 2194; +pub const F_BTFLOAT84CMP: u32 = 2195; +pub const F_INET_CLIENT_ADDR: u32 = 2196; +pub const F_INET_CLIENT_PORT: u32 = 2197; +pub const F_INET_SERVER_ADDR: u32 = 2198; +pub const F_INET_SERVER_PORT: u32 = 2199; +pub const F_REGPROCEDUREIN: u32 = 2212; +pub const F_REGPROCEDUREOUT: u32 = 2213; +pub const F_REGOPERIN: u32 = 2214; +pub const F_REGOPEROUT: u32 = 2215; +pub const F_REGOPERATORIN: u32 = 2216; +pub const F_REGOPERATOROUT: u32 = 2217; +pub const F_REGCLASSIN: u32 = 2218; +pub const F_REGCLASSOUT: u32 = 2219; +pub const F_REGTYPEIN: u32 = 2220; +pub const F_REGTYPEOUT: u32 = 2221; +pub const F_PG_STAT_CLEAR_SNAPSHOT: u32 = 2230; +pub const F_PG_GET_FUNCTION_IDENTITY_ARGUMENTS: u32 = 2232; +pub const F_HASHTID: u32 = 2233; +pub const F_HASHTIDEXTENDED: u32 = 2234; +pub const F_BIT_AND_INT2: u32 = 2236; +pub const F_BIT_OR_INT2: u32 = 2237; +pub const F_BIT_AND_INT4: u32 = 2238; +pub const F_BIT_OR_INT4: u32 = 2239; +pub const F_BIT_AND_INT8: u32 = 2240; +pub const F_BIT_OR_INT8: u32 = 2241; +pub const F_BIT_AND_BIT: u32 = 2242; +pub const F_BIT_OR_BIT: u32 = 2243; +pub const F_MAX_BPCHAR: u32 = 2244; +pub const F_MIN_BPCHAR: u32 = 2245; +pub const F_FMGR_INTERNAL_VALIDATOR: u32 = 2246; +pub const F_FMGR_C_VALIDATOR: u32 = 2247; +pub const F_FMGR_SQL_VALIDATOR: u32 = 2248; +pub const F_HAS_DATABASE_PRIVILEGE_NAME_TEXT_TEXT: u32 = 2250; +pub const F_HAS_DATABASE_PRIVILEGE_NAME_OID_TEXT: u32 = 2251; +pub const F_HAS_DATABASE_PRIVILEGE_OID_TEXT_TEXT: u32 = 2252; +pub const F_HAS_DATABASE_PRIVILEGE_OID_OID_TEXT: u32 = 2253; +pub const F_HAS_DATABASE_PRIVILEGE_TEXT_TEXT: u32 = 2254; +pub const F_HAS_DATABASE_PRIVILEGE_OID_TEXT: u32 = 2255; +pub const F_HAS_FUNCTION_PRIVILEGE_NAME_TEXT_TEXT: u32 = 2256; +pub const F_HAS_FUNCTION_PRIVILEGE_NAME_OID_TEXT: u32 = 2257; +pub const F_HAS_FUNCTION_PRIVILEGE_OID_TEXT_TEXT: u32 = 2258; +pub const F_HAS_FUNCTION_PRIVILEGE_OID_OID_TEXT: u32 = 2259; +pub const F_HAS_FUNCTION_PRIVILEGE_TEXT_TEXT: u32 = 2260; +pub const F_HAS_FUNCTION_PRIVILEGE_OID_TEXT: u32 = 2261; +pub const F_HAS_LANGUAGE_PRIVILEGE_NAME_TEXT_TEXT: u32 = 2262; +pub const F_HAS_LANGUAGE_PRIVILEGE_NAME_OID_TEXT: u32 = 2263; +pub const F_HAS_LANGUAGE_PRIVILEGE_OID_TEXT_TEXT: u32 = 2264; +pub const F_HAS_LANGUAGE_PRIVILEGE_OID_OID_TEXT: u32 = 2265; +pub const F_HAS_LANGUAGE_PRIVILEGE_TEXT_TEXT: u32 = 2266; +pub const F_HAS_LANGUAGE_PRIVILEGE_OID_TEXT: u32 = 2267; +pub const F_HAS_SCHEMA_PRIVILEGE_NAME_TEXT_TEXT: u32 = 2268; +pub const F_HAS_SCHEMA_PRIVILEGE_NAME_OID_TEXT: u32 = 2269; +pub const F_HAS_SCHEMA_PRIVILEGE_OID_TEXT_TEXT: u32 = 2270; +pub const F_HAS_SCHEMA_PRIVILEGE_OID_OID_TEXT: u32 = 2271; +pub const F_HAS_SCHEMA_PRIVILEGE_TEXT_TEXT: u32 = 2272; +pub const F_HAS_SCHEMA_PRIVILEGE_OID_TEXT: u32 = 2273; +pub const F_PG_STAT_RESET: u32 = 2274; +pub const F_PG_GET_BACKEND_MEMORY_CONTEXTS: u32 = 2282; +pub const F_REGEXP_REPLACE_TEXT_TEXT_TEXT: u32 = 2284; +pub const F_REGEXP_REPLACE_TEXT_TEXT_TEXT_TEXT: u32 = 2285; +pub const F_PG_TOTAL_RELATION_SIZE: u32 = 2286; +pub const F_PG_SIZE_PRETTY_INT8: u32 = 2288; +pub const F_PG_OPTIONS_TO_TABLE: u32 = 2289; +pub const F_RECORD_IN: u32 = 2290; +pub const F_RECORD_OUT: u32 = 2291; +pub const F_CSTRING_IN: u32 = 2292; +pub const F_CSTRING_OUT: u32 = 2293; +pub const F_ANY_IN: u32 = 2294; +pub const F_ANY_OUT: u32 = 2295; +pub const F_ANYARRAY_IN: u32 = 2296; +pub const F_ANYARRAY_OUT: u32 = 2297; +pub const F_VOID_IN: u32 = 2298; +pub const F_VOID_OUT: u32 = 2299; +pub const F_TRIGGER_IN: u32 = 2300; +pub const F_TRIGGER_OUT: u32 = 2301; +pub const F_LANGUAGE_HANDLER_IN: u32 = 2302; +pub const F_LANGUAGE_HANDLER_OUT: u32 = 2303; +pub const F_INTERNAL_IN: u32 = 2304; +pub const F_INTERNAL_OUT: u32 = 2305; +pub const F_PG_STAT_GET_SLRU: u32 = 2306; +pub const F_PG_STAT_RESET_SLRU: u32 = 2307; +pub const F_CEIL_FLOAT8: u32 = 2308; +pub const F_FLOOR_FLOAT8: u32 = 2309; +pub const F_SIGN_FLOAT8: u32 = 2310; +pub const F_MD5_TEXT: u32 = 2311; +pub const F_ANYELEMENT_IN: u32 = 2312; +pub const F_ANYELEMENT_OUT: u32 = 2313; +pub const F_POSTGRESQL_FDW_VALIDATOR: u32 = 2316; +pub const F_PG_ENCODING_MAX_LENGTH: u32 = 2319; +pub const F_CEILING_FLOAT8: u32 = 2320; +pub const F_MD5_BYTEA: u32 = 2321; +pub const F_PG_TABLESPACE_SIZE_OID: Oid = Oid(2322); +pub const F_PG_TABLESPACE_SIZE_NAME: u32 = 2323; +pub const F_PG_DATABASE_SIZE_OID: Oid = Oid(2324); +pub const F_PG_RELATION_SIZE_REGCLASS: u32 = 2325; +pub const F_UNNEST_ANYARRAY: u32 = 2331; +pub const F_PG_RELATION_SIZE_REGCLASS_TEXT: u32 = 2332; +pub const F_ARRAY_AGG_TRANSFN: u32 = 2333; +pub const F_ARRAY_AGG_FINALFN: u32 = 2334; +pub const F_ARRAY_AGG_ANYNONARRAY: u32 = 2335; +pub const F_DATE_LT_TIMESTAMP: u32 = 2338; +pub const F_DATE_LE_TIMESTAMP: u32 = 2339; +pub const F_DATE_EQ_TIMESTAMP: u32 = 2340; +pub const F_DATE_GT_TIMESTAMP: u32 = 2341; +pub const F_DATE_GE_TIMESTAMP: u32 = 2342; +pub const F_DATE_NE_TIMESTAMP: u32 = 2343; +pub const F_DATE_CMP_TIMESTAMP: u32 = 2344; +pub const F_DATE_LT_TIMESTAMPTZ: u32 = 2351; +pub const F_DATE_LE_TIMESTAMPTZ: u32 = 2352; +pub const F_DATE_EQ_TIMESTAMPTZ: u32 = 2353; +pub const F_DATE_GT_TIMESTAMPTZ: u32 = 2354; +pub const F_DATE_GE_TIMESTAMPTZ: u32 = 2355; +pub const F_DATE_NE_TIMESTAMPTZ: u32 = 2356; +pub const F_DATE_CMP_TIMESTAMPTZ: u32 = 2357; +pub const F_TIMESTAMP_LT_DATE: u32 = 2364; +pub const F_TIMESTAMP_LE_DATE: u32 = 2365; +pub const F_TIMESTAMP_EQ_DATE: u32 = 2366; +pub const F_TIMESTAMP_GT_DATE: u32 = 2367; +pub const F_TIMESTAMP_GE_DATE: u32 = 2368; +pub const F_TIMESTAMP_NE_DATE: u32 = 2369; +pub const F_TIMESTAMP_CMP_DATE: u32 = 2370; +pub const F_TIMESTAMPTZ_LT_DATE: u32 = 2377; +pub const F_TIMESTAMPTZ_LE_DATE: u32 = 2378; +pub const F_TIMESTAMPTZ_EQ_DATE: u32 = 2379; +pub const F_TIMESTAMPTZ_GT_DATE: u32 = 2380; +pub const F_TIMESTAMPTZ_GE_DATE: u32 = 2381; +pub const F_TIMESTAMPTZ_NE_DATE: u32 = 2382; +pub const F_TIMESTAMPTZ_CMP_DATE: u32 = 2383; +pub const F_HAS_TABLESPACE_PRIVILEGE_NAME_TEXT_TEXT: u32 = 2390; +pub const F_HAS_TABLESPACE_PRIVILEGE_NAME_OID_TEXT: u32 = 2391; +pub const F_HAS_TABLESPACE_PRIVILEGE_OID_TEXT_TEXT: u32 = 2392; +pub const F_HAS_TABLESPACE_PRIVILEGE_OID_OID_TEXT: u32 = 2393; +pub const F_HAS_TABLESPACE_PRIVILEGE_TEXT_TEXT: u32 = 2394; +pub const F_HAS_TABLESPACE_PRIVILEGE_OID_TEXT: u32 = 2395; +pub const F_SHELL_IN: u32 = 2398; +pub const F_SHELL_OUT: u32 = 2399; +pub const F_ARRAY_RECV: u32 = 2400; +pub const F_ARRAY_SEND: u32 = 2401; +pub const F_RECORD_RECV: u32 = 2402; +pub const F_RECORD_SEND: u32 = 2403; +pub const F_INT2RECV: u32 = 2404; +pub const F_INT2SEND: u32 = 2405; +pub const F_INT4RECV: u32 = 2406; +pub const F_INT4SEND: u32 = 2407; +pub const F_INT8RECV: u32 = 2408; +pub const F_INT8SEND: u32 = 2409; +pub const F_INT2VECTORRECV: u32 = 2410; +pub const F_INT2VECTORSEND: u32 = 2411; +pub const F_BYTEARECV: u32 = 2412; +pub const F_BYTEASEND: u32 = 2413; +pub const F_TEXTRECV: u32 = 2414; +pub const F_TEXTSEND: u32 = 2415; +pub const F_UNKNOWNRECV: u32 = 2416; +pub const F_UNKNOWNSEND: u32 = 2417; +pub const F_OIDRECV: u32 = 2418; +pub const F_OIDSEND: u32 = 2419; +pub const F_OIDVECTORRECV: u32 = 2420; +pub const F_OIDVECTORSEND: u32 = 2421; +pub const F_NAMERECV: u32 = 2422; +pub const F_NAMESEND: u32 = 2423; +pub const F_FLOAT4RECV: u32 = 2424; +pub const F_FLOAT4SEND: u32 = 2425; +pub const F_FLOAT8RECV: u32 = 2426; +pub const F_FLOAT8SEND: u32 = 2427; +pub const F_POINT_RECV: u32 = 2428; +pub const F_POINT_SEND: u32 = 2429; +pub const F_BPCHARRECV: u32 = 2430; +pub const F_BPCHARSEND: u32 = 2431; +pub const F_VARCHARRECV: u32 = 2432; +pub const F_VARCHARSEND: u32 = 2433; +pub const F_CHARRECV: u32 = 2434; +pub const F_CHARSEND: u32 = 2435; +pub const F_BOOLRECV: u32 = 2436; +pub const F_BOOLSEND: u32 = 2437; +pub const F_TIDRECV: u32 = 2438; +pub const F_TIDSEND: u32 = 2439; +pub const F_XIDRECV: u32 = 2440; +pub const F_XIDSEND: u32 = 2441; +pub const F_CIDRECV: u32 = 2442; +pub const F_CIDSEND: u32 = 2443; +pub const F_REGPROCRECV: u32 = 2444; +pub const F_REGPROCSEND: u32 = 2445; +pub const F_REGPROCEDURERECV: u32 = 2446; +pub const F_REGPROCEDURESEND: u32 = 2447; +pub const F_REGOPERRECV: u32 = 2448; +pub const F_REGOPERSEND: u32 = 2449; +pub const F_REGOPERATORRECV: u32 = 2450; +pub const F_REGOPERATORSEND: u32 = 2451; +pub const F_REGCLASSRECV: u32 = 2452; +pub const F_REGCLASSSEND: u32 = 2453; +pub const F_REGTYPERECV: u32 = 2454; +pub const F_REGTYPESEND: u32 = 2455; +pub const F_BIT_RECV: u32 = 2456; +pub const F_BIT_SEND: u32 = 2457; +pub const F_VARBIT_RECV: u32 = 2458; +pub const F_VARBIT_SEND: u32 = 2459; +pub const F_NUMERIC_RECV: u32 = 2460; +pub const F_NUMERIC_SEND: u32 = 2461; +pub const F_SINH: u32 = 2462; +pub const F_COSH: u32 = 2463; +pub const F_TANH: u32 = 2464; +pub const F_ASINH: u32 = 2465; +pub const F_ACOSH: u32 = 2466; +pub const F_ATANH: u32 = 2467; +pub const F_DATE_RECV: u32 = 2468; +pub const F_DATE_SEND: u32 = 2469; +pub const F_TIME_RECV: u32 = 2470; +pub const F_TIME_SEND: u32 = 2471; +pub const F_TIMETZ_RECV: u32 = 2472; +pub const F_TIMETZ_SEND: u32 = 2473; +pub const F_TIMESTAMP_RECV: u32 = 2474; +pub const F_TIMESTAMP_SEND: u32 = 2475; +pub const F_TIMESTAMPTZ_RECV: u32 = 2476; +pub const F_TIMESTAMPTZ_SEND: u32 = 2477; +pub const F_INTERVAL_RECV: u32 = 2478; +pub const F_INTERVAL_SEND: u32 = 2479; +pub const F_LSEG_RECV: u32 = 2480; +pub const F_LSEG_SEND: u32 = 2481; +pub const F_PATH_RECV: u32 = 2482; +pub const F_PATH_SEND: u32 = 2483; +pub const F_BOX_RECV: u32 = 2484; +pub const F_BOX_SEND: u32 = 2485; +pub const F_POLY_RECV: u32 = 2486; +pub const F_POLY_SEND: u32 = 2487; +pub const F_LINE_RECV: u32 = 2488; +pub const F_LINE_SEND: u32 = 2489; +pub const F_CIRCLE_RECV: u32 = 2490; +pub const F_CIRCLE_SEND: u32 = 2491; +pub const F_CASH_RECV: u32 = 2492; +pub const F_CASH_SEND: u32 = 2493; +pub const F_MACADDR_RECV: u32 = 2494; +pub const F_MACADDR_SEND: u32 = 2495; +pub const F_INET_RECV: u32 = 2496; +pub const F_INET_SEND: u32 = 2497; +pub const F_CIDR_RECV: u32 = 2498; +pub const F_CIDR_SEND: u32 = 2499; +pub const F_CSTRING_RECV: u32 = 2500; +pub const F_CSTRING_SEND: u32 = 2501; +pub const F_ANYARRAY_RECV: u32 = 2502; +pub const F_ANYARRAY_SEND: u32 = 2503; +pub const F_PG_GET_RULEDEF_OID_BOOL: u32 = 2504; +pub const F_PG_GET_VIEWDEF_TEXT_BOOL: u32 = 2505; +pub const F_PG_GET_VIEWDEF_OID_BOOL: u32 = 2506; +pub const F_PG_GET_INDEXDEF_OID_INT4_BOOL: u32 = 2507; +pub const F_PG_GET_CONSTRAINTDEF_OID_BOOL: u32 = 2508; +pub const F_PG_GET_EXPR_PG_NODE_TREE_OID_BOOL: u32 = 2509; +pub const F_PG_PREPARED_STATEMENT: u32 = 2510; +pub const F_PG_CURSOR: u32 = 2511; +pub const F_FLOAT8_VAR_POP: u32 = 2512; +pub const F_FLOAT8_STDDEV_POP: u32 = 2513; +pub const F_NUMERIC_VAR_POP: u32 = 2514; +pub const F_BOOLAND_STATEFUNC: u32 = 2515; +pub const F_BOOLOR_STATEFUNC: u32 = 2516; +pub const F_BOOL_AND: u32 = 2517; +pub const F_BOOL_OR: u32 = 2518; +pub const F_EVERY: u32 = 2519; +pub const F_TIMESTAMP_LT_TIMESTAMPTZ: u32 = 2520; +pub const F_TIMESTAMP_LE_TIMESTAMPTZ: u32 = 2521; +pub const F_TIMESTAMP_EQ_TIMESTAMPTZ: u32 = 2522; +pub const F_TIMESTAMP_GT_TIMESTAMPTZ: u32 = 2523; +pub const F_TIMESTAMP_GE_TIMESTAMPTZ: u32 = 2524; +pub const F_TIMESTAMP_NE_TIMESTAMPTZ: u32 = 2525; +pub const F_TIMESTAMP_CMP_TIMESTAMPTZ: u32 = 2526; +pub const F_TIMESTAMPTZ_LT_TIMESTAMP: u32 = 2527; +pub const F_TIMESTAMPTZ_LE_TIMESTAMP: u32 = 2528; +pub const F_TIMESTAMPTZ_EQ_TIMESTAMP: u32 = 2529; +pub const F_TIMESTAMPTZ_GT_TIMESTAMP: u32 = 2530; +pub const F_TIMESTAMPTZ_GE_TIMESTAMP: u32 = 2531; +pub const F_TIMESTAMPTZ_NE_TIMESTAMP: u32 = 2532; +pub const F_TIMESTAMPTZ_CMP_TIMESTAMP: u32 = 2533; +pub const F_INTERVAL_PL_DATE: u32 = 2546; +pub const F_INTERVAL_PL_TIMETZ: u32 = 2547; +pub const F_INTERVAL_PL_TIMESTAMP: u32 = 2548; +pub const F_INTERVAL_PL_TIMESTAMPTZ: u32 = 2549; +pub const F_INTEGER_PL_DATE: u32 = 2550; +pub const F_PG_TABLESPACE_DATABASES: u32 = 2556; +pub const F_BOOL_INT4: u32 = 2557; +pub const F_INT4_BOOL: u32 = 2558; +pub const F_LASTVAL: u32 = 2559; +pub const F_PG_POSTMASTER_START_TIME: u32 = 2560; +pub const F_PG_BLOCKING_PIDS: u32 = 2561; +pub const F_BOX_BELOW: u32 = 2562; +pub const F_BOX_OVERBELOW: u32 = 2563; +pub const F_BOX_OVERABOVE: u32 = 2564; +pub const F_BOX_ABOVE: u32 = 2565; +pub const F_POLY_BELOW: u32 = 2566; +pub const F_POLY_OVERBELOW: u32 = 2567; +pub const F_POLY_OVERABOVE: u32 = 2568; +pub const F_POLY_ABOVE: u32 = 2569; +pub const F_GIST_BOX_CONSISTENT: u32 = 2578; +pub const F_FLOAT8_JSONB: u32 = 2580; +pub const F_GIST_BOX_PENALTY: u32 = 2581; +pub const F_GIST_BOX_PICKSPLIT: u32 = 2582; +pub const F_GIST_BOX_UNION: u32 = 2583; +pub const F_GIST_BOX_SAME: u32 = 2584; +pub const F_GIST_POLY_CONSISTENT: u32 = 2585; +pub const F_GIST_POLY_COMPRESS: u32 = 2586; +pub const F_CIRCLE_OVERBELOW: u32 = 2587; +pub const F_CIRCLE_OVERABOVE: u32 = 2588; +pub const F_GIST_CIRCLE_CONSISTENT: u32 = 2591; +pub const F_GIST_CIRCLE_COMPRESS: u32 = 2592; +pub const F_NUMERIC_STDDEV_POP: u32 = 2596; +pub const F_DOMAIN_IN: u32 = 2597; +pub const F_DOMAIN_RECV: u32 = 2598; +pub const F_PG_TIMEZONE_ABBREVS_ABBREVS: u32 = 2599; +pub const F_XMLEXISTS: u32 = 2614; +pub const F_PG_RELOAD_CONF: u32 = 2621; +pub const F_PG_ROTATE_LOGFILE: u32 = 2622; +pub const F_PG_STAT_FILE_TEXT: u32 = 2623; +pub const F_PG_READ_FILE_TEXT_INT8_INT8: u32 = 2624; +pub const F_PG_LS_DIR_TEXT: u32 = 2625; +pub const F_PG_SLEEP: u32 = 2626; +pub const F_INETNOT: u32 = 2627; +pub const F_INETAND: u32 = 2628; +pub const F_INETOR: u32 = 2629; +pub const F_INETPL: u32 = 2630; +pub const F_INT8PL_INET: u32 = 2631; +pub const F_INETMI_INT8: u32 = 2632; +pub const F_INETMI: u32 = 2633; +pub const F_VAR_SAMP_INT8: u32 = 2641; +pub const F_VAR_SAMP_INT4: u32 = 2642; +pub const F_VAR_SAMP_INT2: u32 = 2643; +pub const F_VAR_SAMP_FLOAT4: u32 = 2644; +pub const F_VAR_SAMP_FLOAT8: u32 = 2645; +pub const F_VAR_SAMP_NUMERIC: u32 = 2646; +pub const F_TRANSACTION_TIMESTAMP: u32 = 2647; +pub const F_STATEMENT_TIMESTAMP: u32 = 2648; +pub const F_CLOCK_TIMESTAMP: u32 = 2649; +pub const F_GIN_CMP_PREFIX: u32 = 2700; +pub const F_PG_HAS_ROLE_NAME_NAME_TEXT: u32 = 2705; +pub const F_PG_HAS_ROLE_NAME_OID_TEXT: u32 = 2706; +pub const F_PG_HAS_ROLE_OID_NAME_TEXT: u32 = 2707; +pub const F_PG_HAS_ROLE_OID_OID_TEXT: u32 = 2708; +pub const F_PG_HAS_ROLE_NAME_TEXT: u32 = 2709; +pub const F_PG_HAS_ROLE_OID_TEXT: u32 = 2710; +pub const F_JUSTIFY_INTERVAL: u32 = 2711; +pub const F_STDDEV_SAMP_INT8: u32 = 2712; +pub const F_STDDEV_SAMP_INT4: u32 = 2713; +pub const F_STDDEV_SAMP_INT2: u32 = 2714; +pub const F_STDDEV_SAMP_FLOAT4: u32 = 2715; +pub const F_STDDEV_SAMP_FLOAT8: u32 = 2716; +pub const F_STDDEV_SAMP_NUMERIC: u32 = 2717; +pub const F_VAR_POP_INT8: u32 = 2718; +pub const F_VAR_POP_INT4: u32 = 2719; +pub const F_VAR_POP_INT2: u32 = 2720; +pub const F_VAR_POP_FLOAT4: u32 = 2721; +pub const F_VAR_POP_FLOAT8: u32 = 2722; +pub const F_VAR_POP_NUMERIC: u32 = 2723; +pub const F_STDDEV_POP_INT8: u32 = 2724; +pub const F_STDDEV_POP_INT4: u32 = 2725; +pub const F_STDDEV_POP_INT2: u32 = 2726; +pub const F_STDDEV_POP_FLOAT4: u32 = 2727; +pub const F_STDDEV_POP_FLOAT8: u32 = 2728; +pub const F_STDDEV_POP_NUMERIC: u32 = 2729; +pub const F_PG_GET_TRIGGERDEF_OID_BOOL: u32 = 2730; +pub const F_ASIND: u32 = 2731; +pub const F_ACOSD: u32 = 2732; +pub const F_ATAND: u32 = 2733; +pub const F_ATAN2D: u32 = 2734; +pub const F_SIND: u32 = 2735; +pub const F_COSD: u32 = 2736; +pub const F_TAND: u32 = 2737; +pub const F_COTD: u32 = 2738; +pub const F_PG_BACKUP_STOP: u32 = 2739; +pub const F_NUMERIC_AVG_SERIALIZE: u32 = 2740; +pub const F_NUMERIC_AVG_DESERIALIZE: u32 = 2741; +pub const F_GINARRAYEXTRACT_ANYARRAY_INTERNAL_INTERNAL: u32 = 2743; +pub const F_GINARRAYCONSISTENT: u32 = 2744; +pub const F_INT8_AVG_ACCUM: u32 = 2746; +pub const F_ARRAYOVERLAP: u32 = 2747; +pub const F_ARRAYCONTAINS: u32 = 2748; +pub const F_ARRAYCONTAINED: u32 = 2749; +pub const F_PG_STAT_GET_DB_TUPLES_RETURNED: u32 = 2758; +pub const F_PG_STAT_GET_DB_TUPLES_FETCHED: u32 = 2759; +pub const F_PG_STAT_GET_DB_TUPLES_INSERTED: u32 = 2760; +pub const F_PG_STAT_GET_DB_TUPLES_UPDATED: u32 = 2761; +pub const F_PG_STAT_GET_DB_TUPLES_DELETED: u32 = 2762; +pub const F_REGEXP_MATCHES_TEXT_TEXT: u32 = 2763; +pub const F_REGEXP_MATCHES_TEXT_TEXT_TEXT: u32 = 2764; +pub const F_REGEXP_SPLIT_TO_TABLE_TEXT_TEXT: u32 = 2765; +pub const F_REGEXP_SPLIT_TO_TABLE_TEXT_TEXT_TEXT: u32 = 2766; +pub const F_REGEXP_SPLIT_TO_ARRAY_TEXT_TEXT: u32 = 2767; +pub const F_REGEXP_SPLIT_TO_ARRAY_TEXT_TEXT_TEXT: u32 = 2768; +pub const F_PG_STAT_GET_CHECKPOINTER_NUM_TIMED: u32 = 2769; +pub const F_PG_STAT_GET_CHECKPOINTER_NUM_REQUESTED: u32 = 2770; +pub const F_PG_STAT_GET_CHECKPOINTER_BUFFERS_WRITTEN: u32 = 2771; +pub const F_PG_STAT_GET_BGWRITER_BUF_WRITTEN_CLEAN: u32 = 2772; +pub const F_PG_STAT_GET_BGWRITER_MAXWRITTEN_CLEAN: u32 = 2773; +pub const F_GINQUERYARRAYEXTRACT: u32 = 2774; +pub const F_ANYNONARRAY_IN: u32 = 2777; +pub const F_ANYNONARRAY_OUT: u32 = 2778; +pub const F_PG_STAT_GET_LAST_VACUUM_TIME: u32 = 2781; +pub const F_PG_STAT_GET_LAST_AUTOVACUUM_TIME: u32 = 2782; +pub const F_PG_STAT_GET_LAST_ANALYZE_TIME: u32 = 2783; +pub const F_PG_STAT_GET_LAST_AUTOANALYZE_TIME: u32 = 2784; +pub const F_INT8_AVG_COMBINE: u32 = 2785; +pub const F_INT8_AVG_SERIALIZE: u32 = 2786; +pub const F_INT8_AVG_DESERIALIZE: u32 = 2787; +pub const F_PG_STAT_GET_BACKEND_WAIT_EVENT_TYPE: u32 = 2788; +pub const F_TIDGT: u32 = 2790; +pub const F_TIDLT: u32 = 2791; +pub const F_TIDGE: u32 = 2792; +pub const F_TIDLE: u32 = 2793; +pub const F_BTTIDCMP: u32 = 2794; +pub const F_TIDLARGER: u32 = 2795; +pub const F_TIDSMALLER: u32 = 2796; +pub const F_MAX_TID: u32 = 2797; +pub const F_MIN_TID: u32 = 2798; +pub const F_COUNT_: u32 = 2803; +pub const F_INT8INC_ANY: u32 = 2804; +pub const F_INT8INC_FLOAT8_FLOAT8: u32 = 2805; +pub const F_FLOAT8_REGR_ACCUM: u32 = 2806; +pub const F_FLOAT8_REGR_SXX: u32 = 2807; +pub const F_FLOAT8_REGR_SYY: u32 = 2808; +pub const F_FLOAT8_REGR_SXY: u32 = 2809; +pub const F_FLOAT8_REGR_AVGX: u32 = 2810; +pub const F_FLOAT8_REGR_AVGY: u32 = 2811; +pub const F_FLOAT8_REGR_R2: u32 = 2812; +pub const F_FLOAT8_REGR_SLOPE: u32 = 2813; +pub const F_FLOAT8_REGR_INTERCEPT: u32 = 2814; +pub const F_FLOAT8_COVAR_POP: u32 = 2815; +pub const F_FLOAT8_COVAR_SAMP: u32 = 2816; +pub const F_FLOAT8_CORR: u32 = 2817; +pub const F_REGR_COUNT: u32 = 2818; +pub const F_REGR_SXX: u32 = 2819; +pub const F_REGR_SYY: u32 = 2820; +pub const F_REGR_SXY: u32 = 2821; +pub const F_REGR_AVGX: u32 = 2822; +pub const F_REGR_AVGY: u32 = 2823; +pub const F_REGR_R2: u32 = 2824; +pub const F_REGR_SLOPE: u32 = 2825; +pub const F_REGR_INTERCEPT: u32 = 2826; +pub const F_COVAR_POP: u32 = 2827; +pub const F_COVAR_SAMP: u32 = 2828; +pub const F_CORR: u32 = 2829; +pub const F_PG_STAT_GET_DB_BLK_READ_TIME: u32 = 2844; +pub const F_PG_STAT_GET_DB_BLK_WRITE_TIME: u32 = 2845; +pub const F_PG_SWITCH_WAL: u32 = 2848; +pub const F_PG_CURRENT_WAL_LSN: u32 = 2849; +pub const F_PG_WALFILE_NAME_OFFSET: u32 = 2850; +pub const F_PG_WALFILE_NAME: u32 = 2851; +pub const F_PG_CURRENT_WAL_INSERT_LSN: u32 = 2852; +pub const F_PG_STAT_GET_BACKEND_WAIT_EVENT: u32 = 2853; +pub const F_PG_MY_TEMP_SCHEMA: u32 = 2854; +pub const F_PG_IS_OTHER_TEMP_SCHEMA: u32 = 2855; +pub const F_PG_TIMEZONE_NAMES: u32 = 2856; +pub const F_PG_STAT_GET_BACKEND_XACT_START: u32 = 2857; +pub const F_NUMERIC_AVG_ACCUM: u32 = 2858; +pub const F_PG_STAT_GET_BUF_ALLOC: u32 = 2859; +pub const F_PG_STAT_GET_LIVE_TUPLES: u32 = 2878; +pub const F_PG_STAT_GET_DEAD_TUPLES: u32 = 2879; +pub const F_PG_ADVISORY_LOCK_INT8: u32 = 2880; +pub const F_PG_ADVISORY_LOCK_SHARED_INT8: u32 = 2881; +pub const F_PG_TRY_ADVISORY_LOCK_INT8: u32 = 2882; +pub const F_PG_TRY_ADVISORY_LOCK_SHARED_INT8: u32 = 2883; +pub const F_PG_ADVISORY_UNLOCK_INT8: u32 = 2884; +pub const F_PG_ADVISORY_UNLOCK_SHARED_INT8: u32 = 2885; +pub const F_PG_ADVISORY_LOCK_INT4_INT4: u32 = 2886; +pub const F_PG_ADVISORY_LOCK_SHARED_INT4_INT4: u32 = 2887; +pub const F_PG_TRY_ADVISORY_LOCK_INT4_INT4: u32 = 2888; +pub const F_PG_TRY_ADVISORY_LOCK_SHARED_INT4_INT4: u32 = 2889; +pub const F_PG_ADVISORY_UNLOCK_INT4_INT4: u32 = 2890; +pub const F_PG_ADVISORY_UNLOCK_SHARED_INT4_INT4: u32 = 2891; +pub const F_PG_ADVISORY_UNLOCK_ALL: u32 = 2892; +pub const F_XML_IN: u32 = 2893; +pub const F_XML_OUT: u32 = 2894; +pub const F_XMLCOMMENT: u32 = 2895; +pub const F_XML: u32 = 2896; +pub const F_XMLVALIDATE: u32 = 2897; +pub const F_XML_RECV: u32 = 2898; +pub const F_XML_SEND: u32 = 2899; +pub const F_XMLCONCAT2: u32 = 2900; +pub const F_XMLAGG: u32 = 2901; +pub const F_VARBITTYPMODIN: u32 = 2902; +pub const F_INTERVALTYPMODIN: u32 = 2903; +pub const F_INTERVALTYPMODOUT: u32 = 2904; +pub const F_TIMESTAMPTYPMODIN: u32 = 2905; +pub const F_TIMESTAMPTYPMODOUT: u32 = 2906; +pub const F_TIMESTAMPTZTYPMODIN: u32 = 2907; +pub const F_TIMESTAMPTZTYPMODOUT: u32 = 2908; +pub const F_TIMETYPMODIN: u32 = 2909; +pub const F_TIMETYPMODOUT: u32 = 2910; +pub const F_TIMETZTYPMODIN: u32 = 2911; +pub const F_TIMETZTYPMODOUT: u32 = 2912; +pub const F_BPCHARTYPMODIN: u32 = 2913; +pub const F_BPCHARTYPMODOUT: u32 = 2914; +pub const F_VARCHARTYPMODIN: u32 = 2915; +pub const F_VARCHARTYPMODOUT: u32 = 2916; +pub const F_NUMERICTYPMODIN: u32 = 2917; +pub const F_NUMERICTYPMODOUT: u32 = 2918; +pub const F_BITTYPMODIN: u32 = 2919; +pub const F_BITTYPMODOUT: u32 = 2920; +pub const F_VARBITTYPMODOUT: u32 = 2921; +pub const F_TEXT_XML: u32 = 2922; +pub const F_TABLE_TO_XML: u32 = 2923; +pub const F_QUERY_TO_XML: u32 = 2924; +pub const F_CURSOR_TO_XML: u32 = 2925; +pub const F_TABLE_TO_XMLSCHEMA: u32 = 2926; +pub const F_QUERY_TO_XMLSCHEMA: u32 = 2927; +pub const F_CURSOR_TO_XMLSCHEMA: u32 = 2928; +pub const F_TABLE_TO_XML_AND_XMLSCHEMA: u32 = 2929; +pub const F_QUERY_TO_XML_AND_XMLSCHEMA: u32 = 2930; +pub const F_XPATH_TEXT_XML__TEXT: u32 = 2931; +pub const F_XPATH_TEXT_XML: u32 = 2932; +pub const F_SCHEMA_TO_XML: u32 = 2933; +pub const F_SCHEMA_TO_XMLSCHEMA: u32 = 2934; +pub const F_SCHEMA_TO_XML_AND_XMLSCHEMA: u32 = 2935; +pub const F_DATABASE_TO_XML: u32 = 2936; +pub const F_DATABASE_TO_XMLSCHEMA: u32 = 2937; +pub const F_DATABASE_TO_XML_AND_XMLSCHEMA: u32 = 2938; +pub const F_TXID_SNAPSHOT_IN: u32 = 2939; +pub const F_TXID_SNAPSHOT_OUT: u32 = 2940; +pub const F_TXID_SNAPSHOT_RECV: u32 = 2941; +pub const F_TXID_SNAPSHOT_SEND: u32 = 2942; +pub const F_TXID_CURRENT: u32 = 2943; +pub const F_TXID_CURRENT_SNAPSHOT: u32 = 2944; +pub const F_TXID_SNAPSHOT_XMIN: u32 = 2945; +pub const F_TXID_SNAPSHOT_XMAX: u32 = 2946; +pub const F_TXID_SNAPSHOT_XIP: u32 = 2947; +pub const F_TXID_VISIBLE_IN_SNAPSHOT: u32 = 2948; +pub const F_UUID_IN: u32 = 2952; +pub const F_UUID_OUT: u32 = 2953; +pub const F_UUID_LT: u32 = 2954; +pub const F_UUID_LE: u32 = 2955; +pub const F_UUID_EQ: u32 = 2956; +pub const F_UUID_GE: u32 = 2957; +pub const F_UUID_GT: u32 = 2958; +pub const F_UUID_NE: u32 = 2959; +pub const F_UUID_CMP: u32 = 2960; +pub const F_UUID_RECV: u32 = 2961; +pub const F_UUID_SEND: u32 = 2962; +pub const F_UUID_HASH: u32 = 2963; +pub const F_TEXT_BOOL: u32 = 2971; +pub const F_PG_STAT_GET_FUNCTION_CALLS: u32 = 2978; +pub const F_PG_STAT_GET_FUNCTION_TOTAL_TIME: u32 = 2979; +pub const F_PG_STAT_GET_FUNCTION_SELF_TIME: u32 = 2980; +pub const F_RECORD_EQ: u32 = 2981; +pub const F_RECORD_NE: u32 = 2982; +pub const F_RECORD_LT: u32 = 2983; +pub const F_RECORD_GT: u32 = 2984; +pub const F_RECORD_LE: u32 = 2985; +pub const F_RECORD_GE: u32 = 2986; +pub const F_BTRECORDCMP: u32 = 2987; +pub const F_PG_TABLE_SIZE: u32 = 2997; +pub const F_PG_INDEXES_SIZE: u32 = 2998; +pub const F_PG_RELATION_FILENODE: u32 = 2999; +pub const F_HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE_NAME_TEXT_TEXT: u32 = 3000; +pub const F_HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE_NAME_OID_TEXT: u32 = 3001; +pub const F_HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE_OID_TEXT_TEXT: u32 = 3002; +pub const F_HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE_OID_OID_TEXT: u32 = 3003; +pub const F_HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE_TEXT_TEXT: u32 = 3004; +pub const F_HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE_OID_TEXT: u32 = 3005; +pub const F_HAS_SERVER_PRIVILEGE_NAME_TEXT_TEXT: u32 = 3006; +pub const F_HAS_SERVER_PRIVILEGE_NAME_OID_TEXT: u32 = 3007; +pub const F_HAS_SERVER_PRIVILEGE_OID_TEXT_TEXT: u32 = 3008; +pub const F_HAS_SERVER_PRIVILEGE_OID_OID_TEXT: u32 = 3009; +pub const F_HAS_SERVER_PRIVILEGE_TEXT_TEXT: u32 = 3010; +pub const F_HAS_SERVER_PRIVILEGE_OID_TEXT: u32 = 3011; +pub const F_HAS_COLUMN_PRIVILEGE_NAME_TEXT_TEXT_TEXT: u32 = 3012; +pub const F_HAS_COLUMN_PRIVILEGE_NAME_TEXT_INT2_TEXT: u32 = 3013; +pub const F_HAS_COLUMN_PRIVILEGE_NAME_OID_TEXT_TEXT: u32 = 3014; +pub const F_HAS_COLUMN_PRIVILEGE_NAME_OID_INT2_TEXT: u32 = 3015; +pub const F_HAS_COLUMN_PRIVILEGE_OID_TEXT_TEXT_TEXT: u32 = 3016; +pub const F_HAS_COLUMN_PRIVILEGE_OID_TEXT_INT2_TEXT: u32 = 3017; +pub const F_HAS_COLUMN_PRIVILEGE_OID_OID_TEXT_TEXT: u32 = 3018; +pub const F_HAS_COLUMN_PRIVILEGE_OID_OID_INT2_TEXT: u32 = 3019; +pub const F_HAS_COLUMN_PRIVILEGE_TEXT_TEXT_TEXT: u32 = 3020; +pub const F_HAS_COLUMN_PRIVILEGE_TEXT_INT2_TEXT: u32 = 3021; +pub const F_HAS_COLUMN_PRIVILEGE_OID_TEXT_TEXT: u32 = 3022; +pub const F_HAS_COLUMN_PRIVILEGE_OID_INT2_TEXT: u32 = 3023; +pub const F_HAS_ANY_COLUMN_PRIVILEGE_NAME_TEXT_TEXT: u32 = 3024; +pub const F_HAS_ANY_COLUMN_PRIVILEGE_NAME_OID_TEXT: u32 = 3025; +pub const F_HAS_ANY_COLUMN_PRIVILEGE_OID_TEXT_TEXT: u32 = 3026; +pub const F_HAS_ANY_COLUMN_PRIVILEGE_OID_OID_TEXT: u32 = 3027; +pub const F_HAS_ANY_COLUMN_PRIVILEGE_TEXT_TEXT: u32 = 3028; +pub const F_HAS_ANY_COLUMN_PRIVILEGE_OID_TEXT: u32 = 3029; +pub const F_OVERLAY_BIT_BIT_INT4_INT4: u32 = 3030; +pub const F_OVERLAY_BIT_BIT_INT4: u32 = 3031; +pub const F_GET_BIT_BIT_INT4: u32 = 3032; +pub const F_SET_BIT_BIT_INT4_INT4: u32 = 3033; +pub const F_PG_RELATION_FILEPATH: u32 = 3034; +pub const F_PG_LISTENING_CHANNELS: u32 = 3035; +pub const F_PG_NOTIFY: u32 = 3036; +pub const F_PG_STAT_GET_XACT_NUMSCANS: u32 = 3037; +pub const F_PG_STAT_GET_XACT_TUPLES_RETURNED: u32 = 3038; +pub const F_PG_STAT_GET_XACT_TUPLES_FETCHED: u32 = 3039; +pub const F_PG_STAT_GET_XACT_TUPLES_INSERTED: u32 = 3040; +pub const F_PG_STAT_GET_XACT_TUPLES_UPDATED: u32 = 3041; +pub const F_PG_STAT_GET_XACT_TUPLES_DELETED: u32 = 3042; +pub const F_PG_STAT_GET_XACT_TUPLES_HOT_UPDATED: u32 = 3043; +pub const F_PG_STAT_GET_XACT_BLOCKS_FETCHED: u32 = 3044; +pub const F_PG_STAT_GET_XACT_BLOCKS_HIT: u32 = 3045; +pub const F_PG_STAT_GET_XACT_FUNCTION_CALLS: u32 = 3046; +pub const F_PG_STAT_GET_XACT_FUNCTION_TOTAL_TIME: u32 = 3047; +pub const F_PG_STAT_GET_XACT_FUNCTION_SELF_TIME: u32 = 3048; +pub const F_XPATH_EXISTS_TEXT_XML__TEXT: u32 = 3049; +pub const F_XPATH_EXISTS_TEXT_XML: u32 = 3050; +pub const F_XML_IS_WELL_FORMED: u32 = 3051; +pub const F_XML_IS_WELL_FORMED_DOCUMENT: u32 = 3052; +pub const F_XML_IS_WELL_FORMED_CONTENT: u32 = 3053; +pub const F_PG_STAT_GET_VACUUM_COUNT: u32 = 3054; +pub const F_PG_STAT_GET_AUTOVACUUM_COUNT: u32 = 3055; +pub const F_PG_STAT_GET_ANALYZE_COUNT: u32 = 3056; +pub const F_PG_STAT_GET_AUTOANALYZE_COUNT: u32 = 3057; +pub const F_CONCAT: u32 = 3058; +pub const F_CONCAT_WS: u32 = 3059; +pub const F_LEFT: u32 = 3060; +pub const F_RIGHT: u32 = 3061; +pub const F_REVERSE_TEXT: u32 = 3062; +pub const F_GIST_POINT_DISTANCE: u32 = 3064; +pub const F_PG_STAT_GET_DB_CONFLICT_TABLESPACE: u32 = 3065; +pub const F_PG_STAT_GET_DB_CONFLICT_LOCK: u32 = 3066; +pub const F_PG_STAT_GET_DB_CONFLICT_SNAPSHOT: u32 = 3067; +pub const F_PG_STAT_GET_DB_CONFLICT_BUFFERPIN: u32 = 3068; +pub const F_PG_STAT_GET_DB_CONFLICT_STARTUP_DEADLOCK: u32 = 3069; +pub const F_PG_STAT_GET_DB_CONFLICT_ALL: u32 = 3070; +pub const F_PG_WAL_REPLAY_PAUSE: u32 = 3071; +pub const F_PG_WAL_REPLAY_RESUME: u32 = 3072; +pub const F_PG_IS_WAL_REPLAY_PAUSED: u32 = 3073; +pub const F_PG_STAT_GET_DB_STAT_RESET_TIME: u32 = 3074; +pub const F_PG_STAT_GET_BGWRITER_STAT_RESET_TIME: u32 = 3075; +pub const F_GINARRAYEXTRACT_ANYARRAY_INTERNAL: u32 = 3076; +pub const F_GIN_EXTRACT_TSVECTOR_TSVECTOR_INTERNAL: u32 = 3077; +pub const F_PG_SEQUENCE_PARAMETERS: u32 = 3078; +pub const F_PG_AVAILABLE_EXTENSIONS: u32 = 3082; +pub const F_PG_AVAILABLE_EXTENSION_VERSIONS: u32 = 3083; +pub const F_PG_EXTENSION_UPDATE_PATHS: u32 = 3084; +pub const F_PG_EXTENSION_CONFIG_DUMP: u32 = 3086; +pub const F_GIN_EXTRACT_TSQUERY_TSQUERY_INTERNAL_INT2_INTERNAL_INTERNAL: u32 = 3087; +pub const F_GIN_TSQUERY_CONSISTENT_INTERNAL_INT2_TSQUERY_INT4_INTERNAL_INTERNAL: u32 = 3088; +pub const F_PG_ADVISORY_XACT_LOCK_INT8: u32 = 3089; +pub const F_PG_ADVISORY_XACT_LOCK_SHARED_INT8: u32 = 3090; +pub const F_PG_TRY_ADVISORY_XACT_LOCK_INT8: u32 = 3091; +pub const F_PG_TRY_ADVISORY_XACT_LOCK_SHARED_INT8: u32 = 3092; +pub const F_PG_ADVISORY_XACT_LOCK_INT4_INT4: u32 = 3093; +pub const F_PG_ADVISORY_XACT_LOCK_SHARED_INT4_INT4: u32 = 3094; +pub const F_PG_TRY_ADVISORY_XACT_LOCK_INT4_INT4: u32 = 3095; +pub const F_PG_TRY_ADVISORY_XACT_LOCK_SHARED_INT4_INT4: u32 = 3096; +pub const F_VARCHAR_SUPPORT: u32 = 3097; +pub const F_PG_CREATE_RESTORE_POINT: u32 = 3098; +pub const F_PG_STAT_GET_WAL_SENDERS: u32 = 3099; +pub const F_ROW_NUMBER: u32 = 3100; +pub const F_RANK_: u32 = 3101; +pub const F_DENSE_RANK_: u32 = 3102; +pub const F_PERCENT_RANK_: u32 = 3103; +pub const F_CUME_DIST_: u32 = 3104; +pub const F_NTILE: u32 = 3105; +pub const F_LAG_ANYELEMENT: u32 = 3106; +pub const F_LAG_ANYELEMENT_INT4: u32 = 3107; +pub const F_LAG_ANYCOMPATIBLE_INT4_ANYCOMPATIBLE: u32 = 3108; +pub const F_LEAD_ANYELEMENT: u32 = 3109; +pub const F_LEAD_ANYELEMENT_INT4: u32 = 3110; +pub const F_LEAD_ANYCOMPATIBLE_INT4_ANYCOMPATIBLE: u32 = 3111; +pub const F_FIRST_VALUE: u32 = 3112; +pub const F_LAST_VALUE: u32 = 3113; +pub const F_NTH_VALUE: u32 = 3114; +pub const F_FDW_HANDLER_IN: u32 = 3116; +pub const F_FDW_HANDLER_OUT: u32 = 3117; +pub const F_VOID_RECV: u32 = 3120; +pub const F_VOID_SEND: u32 = 3121; +pub const F_BTINT2SORTSUPPORT: u32 = 3129; +pub const F_BTINT4SORTSUPPORT: u32 = 3130; +pub const F_BTINT8SORTSUPPORT: u32 = 3131; +pub const F_BTFLOAT4SORTSUPPORT: u32 = 3132; +pub const F_BTFLOAT8SORTSUPPORT: u32 = 3133; +pub const F_BTOIDSORTSUPPORT: u32 = 3134; +pub const F_BTNAMESORTSUPPORT: u32 = 3135; +pub const F_DATE_SORTSUPPORT: u32 = 3136; +pub const F_TIMESTAMP_SORTSUPPORT: u32 = 3137; +pub const F_HAS_TYPE_PRIVILEGE_NAME_TEXT_TEXT: u32 = 3138; +pub const F_HAS_TYPE_PRIVILEGE_NAME_OID_TEXT: u32 = 3139; +pub const F_HAS_TYPE_PRIVILEGE_OID_TEXT_TEXT: u32 = 3140; +pub const F_HAS_TYPE_PRIVILEGE_OID_OID_TEXT: u32 = 3141; +pub const F_HAS_TYPE_PRIVILEGE_TEXT_TEXT: u32 = 3142; +pub const F_HAS_TYPE_PRIVILEGE_OID_TEXT: u32 = 3143; +pub const F_MACADDR_NOT: u32 = 3144; +pub const F_MACADDR_AND: u32 = 3145; +pub const F_MACADDR_OR: u32 = 3146; +pub const F_PG_STAT_GET_DB_TEMP_FILES: u32 = 3150; +pub const F_PG_STAT_GET_DB_TEMP_BYTES: u32 = 3151; +pub const F_PG_STAT_GET_DB_DEADLOCKS: u32 = 3152; +pub const F_ARRAY_TO_JSON_ANYARRAY: u32 = 3153; +pub const F_ARRAY_TO_JSON_ANYARRAY_BOOL: u32 = 3154; +pub const F_ROW_TO_JSON_RECORD: u32 = 3155; +pub const F_ROW_TO_JSON_RECORD_BOOL: u32 = 3156; +pub const F_NUMERIC_SUPPORT: u32 = 3157; +pub const F_VARBIT_SUPPORT: u32 = 3158; +pub const F_PG_GET_VIEWDEF_OID_INT4: u32 = 3159; +pub const F_PG_STAT_GET_CHECKPOINTER_WRITE_TIME: u32 = 3160; +pub const F_PG_STAT_GET_CHECKPOINTER_SYNC_TIME: u32 = 3161; +pub const F_PG_COLLATION_FOR: u32 = 3162; +pub const F_PG_TRIGGER_DEPTH: u32 = 3163; +pub const F_PG_WAL_LSN_DIFF: u32 = 3165; +pub const F_PG_SIZE_PRETTY_NUMERIC: u32 = 3166; +pub const F_ARRAY_REMOVE: u32 = 3167; +pub const F_ARRAY_REPLACE: u32 = 3168; +pub const F_RANGESEL: u32 = 3169; +pub const F_LO_LSEEK64: u32 = 3170; +pub const F_LO_TELL64: u32 = 3171; +pub const F_LO_TRUNCATE64: u32 = 3172; +pub const F_JSON_AGG_TRANSFN: u32 = 3173; +pub const F_JSON_AGG_FINALFN: u32 = 3174; +pub const F_JSON_AGG: u32 = 3175; +pub const F_TO_JSON: u32 = 3176; +pub const F_PG_STAT_GET_MOD_SINCE_ANALYZE: u32 = 3177; +pub const F_NUMERIC_SUM: u32 = 3178; +pub const F_CARDINALITY: u32 = 3179; +pub const F_JSON_OBJECT_AGG_TRANSFN: u32 = 3180; +pub const F_RECORD_IMAGE_EQ: u32 = 3181; +pub const F_RECORD_IMAGE_NE: u32 = 3182; +pub const F_RECORD_IMAGE_LT: u32 = 3183; +pub const F_RECORD_IMAGE_GT: u32 = 3184; +pub const F_RECORD_IMAGE_LE: u32 = 3185; +pub const F_RECORD_IMAGE_GE: u32 = 3186; +pub const F_BTRECORDIMAGECMP: u32 = 3187; +pub const F_PG_STAT_GET_ARCHIVER: u32 = 3195; +pub const F_JSON_OBJECT_AGG_FINALFN: u32 = 3196; +pub const F_JSON_OBJECT_AGG: u32 = 3197; +pub const F_JSON_BUILD_ARRAY_ANY: u32 = 3198; +pub const F_JSON_BUILD_ARRAY_: u32 = 3199; +pub const F_JSON_BUILD_OBJECT_ANY: u32 = 3200; +pub const F_JSON_BUILD_OBJECT_: u32 = 3201; +pub const F_JSON_OBJECT__TEXT: u32 = 3202; +pub const F_JSON_OBJECT__TEXT__TEXT: u32 = 3203; +pub const F_JSON_TO_RECORD: u32 = 3204; +pub const F_JSON_TO_RECORDSET: u32 = 3205; +pub const F_JSONB_ARRAY_LENGTH: u32 = 3207; +pub const F_JSONB_EACH: u32 = 3208; +pub const F_JSONB_POPULATE_RECORD: u32 = 3209; +pub const F_JSONB_TYPEOF: u32 = 3210; +pub const F_JSONB_OBJECT_FIELD_TEXT: u32 = 3214; +pub const F_JSONB_ARRAY_ELEMENT: u32 = 3215; +pub const F_JSONB_ARRAY_ELEMENT_TEXT: u32 = 3216; +pub const F_JSONB_EXTRACT_PATH: u32 = 3217; +pub const F_WIDTH_BUCKET_ANYCOMPATIBLE_ANYCOMPATIBLEARRAY: u32 = 3218; +pub const F_JSONB_ARRAY_ELEMENTS: u32 = 3219; +pub const F_PG_LSN_IN: u32 = 3229; +pub const F_PG_LSN_OUT: u32 = 3230; +pub const F_PG_LSN_LT: u32 = 3231; +pub const F_PG_LSN_LE: u32 = 3232; +pub const F_PG_LSN_EQ: u32 = 3233; +pub const F_PG_LSN_GE: u32 = 3234; +pub const F_PG_LSN_GT: u32 = 3235; +pub const F_PG_LSN_NE: u32 = 3236; +pub const F_PG_LSN_MI: u32 = 3237; +pub const F_PG_LSN_RECV: u32 = 3238; +pub const F_PG_LSN_SEND: u32 = 3239; +pub const F_PG_LSN_CMP: u32 = 3251; +pub const F_PG_LSN_HASH: u32 = 3252; +pub const F_BTTEXTSORTSUPPORT: u32 = 3255; +pub const F_GENERATE_SERIES_NUMERIC_NUMERIC_NUMERIC: u32 = 3259; +pub const F_GENERATE_SERIES_NUMERIC_NUMERIC: u32 = 3260; +pub const F_JSON_STRIP_NULLS: u32 = 3261; +pub const F_JSONB_STRIP_NULLS: u32 = 3262; +pub const F_JSONB_OBJECT__TEXT: u32 = 3263; +pub const F_JSONB_OBJECT__TEXT__TEXT: u32 = 3264; +pub const F_JSONB_AGG_TRANSFN: u32 = 3265; +pub const F_JSONB_AGG_FINALFN: u32 = 3266; +pub const F_JSONB_AGG: u32 = 3267; +pub const F_JSONB_OBJECT_AGG_TRANSFN: u32 = 3268; +pub const F_JSONB_OBJECT_AGG_FINALFN: u32 = 3269; +pub const F_JSONB_OBJECT_AGG: u32 = 3270; +pub const F_JSONB_BUILD_ARRAY_ANY: u32 = 3271; +pub const F_JSONB_BUILD_ARRAY_: u32 = 3272; +pub const F_JSONB_BUILD_OBJECT_ANY: u32 = 3273; +pub const F_JSONB_BUILD_OBJECT_: u32 = 3274; +pub const F_DIST_PPOLY: u32 = 3275; +pub const F_ARRAY_POSITION_ANYCOMPATIBLEARRAY_ANYCOMPATIBLE: u32 = 3277; +pub const F_ARRAY_POSITION_ANYCOMPATIBLEARRAY_ANYCOMPATIBLE_INT4: u32 = 3278; +pub const F_ARRAY_POSITIONS: u32 = 3279; +pub const F_GIST_CIRCLE_DISTANCE: u32 = 3280; +pub const F_SCALE: u32 = 3281; +pub const F_GIST_POINT_FETCH: u32 = 3282; +pub const F_NUMERIC_SORTSUPPORT: u32 = 3283; +pub const F_GIST_POLY_DISTANCE: u32 = 3288; +pub const F_DIST_CPOINT: u32 = 3290; +pub const F_DIST_POLYP: u32 = 3292; +pub const F_PG_READ_FILE_TEXT_INT8_INT8_BOOL: u32 = 3293; +pub const F_CURRENT_SETTING_TEXT_BOOL: u32 = 3294; +pub const F_PG_READ_BINARY_FILE_TEXT_INT8_INT8_BOOL: u32 = 3295; +pub const F_PG_NOTIFICATION_QUEUE_USAGE: u32 = 3296; +pub const F_PG_LS_DIR_TEXT_BOOL_BOOL: u32 = 3297; +pub const F_ROW_SECURITY_ACTIVE_OID: Oid = Oid(3298); +pub const F_ROW_SECURITY_ACTIVE_TEXT: u32 = 3299; +pub const F_UUID_SORTSUPPORT: u32 = 3300; +pub const F_JSONB_CONCAT: u32 = 3301; +pub const F_JSONB_DELETE_JSONB_TEXT: u32 = 3302; +pub const F_JSONB_DELETE_JSONB_INT4: u32 = 3303; +pub const F_JSONB_DELETE_PATH: u32 = 3304; +pub const F_JSONB_SET: u32 = 3305; +pub const F_JSONB_PRETTY: u32 = 3306; +pub const F_PG_STAT_FILE_TEXT_BOOL: u32 = 3307; +pub const F_XIDNEQ: u32 = 3308; +pub const F_XIDNEQINT4: u32 = 3309; +pub const F_TSM_HANDLER_IN: u32 = 3311; +pub const F_TSM_HANDLER_OUT: u32 = 3312; +pub const F_BERNOULLI: u32 = 3313; +pub const F_SYSTEM: u32 = 3314; +pub const F_PG_STAT_GET_WAL_RECEIVER: u32 = 3317; +pub const F_PG_STAT_GET_PROGRESS_INFO: u32 = 3318; +pub const F_TS_FILTER: u32 = 3319; +pub const F_SETWEIGHT_TSVECTOR_CHAR__TEXT: u32 = 3320; +pub const F_TS_DELETE_TSVECTOR_TEXT: u32 = 3321; +pub const F_UNNEST_TSVECTOR: u32 = 3322; +pub const F_TS_DELETE_TSVECTOR__TEXT: u32 = 3323; +pub const F_INT4_AVG_COMBINE: u32 = 3324; +pub const F_INTERVAL_AVG_COMBINE: u32 = 3325; +pub const F_TSVECTOR_TO_ARRAY: u32 = 3326; +pub const F_ARRAY_TO_TSVECTOR: u32 = 3327; +pub const F_BPCHAR_SORTSUPPORT: u32 = 3328; +pub const F_PG_SHOW_ALL_FILE_SETTINGS: u32 = 3329; +pub const F_PG_CURRENT_WAL_FLUSH_LSN: u32 = 3330; +pub const F_BYTEA_SORTSUPPORT: u32 = 3331; +pub const F_BTTEXT_PATTERN_SORTSUPPORT: u32 = 3332; +pub const F_BTBPCHAR_PATTERN_SORTSUPPORT: u32 = 3333; +pub const F_PG_SIZE_BYTES: u32 = 3334; +pub const F_NUMERIC_SERIALIZE: u32 = 3335; +pub const F_NUMERIC_DESERIALIZE: u32 = 3336; +pub const F_NUMERIC_AVG_COMBINE: u32 = 3337; +pub const F_NUMERIC_POLY_COMBINE: u32 = 3338; +pub const F_NUMERIC_POLY_SERIALIZE: u32 = 3339; +pub const F_NUMERIC_POLY_DESERIALIZE: u32 = 3340; +pub const F_NUMERIC_COMBINE: u32 = 3341; +pub const F_FLOAT8_REGR_COMBINE: u32 = 3342; +pub const F_JSONB_DELETE_JSONB__TEXT: u32 = 3343; +pub const F_CASH_MUL_INT8: u32 = 3344; +pub const F_CASH_DIV_INT8: u32 = 3345; +pub const F_TXID_CURRENT_IF_ASSIGNED: u32 = 3348; +pub const F_PG_GET_PARTKEYDEF: u32 = 3352; +pub const F_PG_LS_LOGDIR: u32 = 3353; +pub const F_PG_LS_WALDIR: u32 = 3354; +pub const F_PG_NDISTINCT_IN: u32 = 3355; +pub const F_PG_NDISTINCT_OUT: u32 = 3356; +pub const F_PG_NDISTINCT_RECV: u32 = 3357; +pub const F_PG_NDISTINCT_SEND: u32 = 3358; +pub const F_MACADDR_SORTSUPPORT: u32 = 3359; +pub const F_TXID_STATUS: u32 = 3360; +pub const F_PG_SAFE_SNAPSHOT_BLOCKING_PIDS: u32 = 3376; +pub const F_PG_ISOLATION_TEST_SESSION_IS_BLOCKED: u32 = 3378; +pub const F_PG_IDENTIFY_OBJECT_AS_ADDRESS: u32 = 3382; +pub const F_BRIN_MINMAX_OPCINFO: u32 = 3383; +pub const F_BRIN_MINMAX_ADD_VALUE: u32 = 3384; +pub const F_BRIN_MINMAX_CONSISTENT: u32 = 3385; +pub const F_BRIN_MINMAX_UNION: u32 = 3386; +pub const F_INT8_AVG_ACCUM_INV: u32 = 3387; +pub const F_NUMERIC_POLY_SUM: u32 = 3388; +pub const F_NUMERIC_POLY_AVG: u32 = 3389; +pub const F_NUMERIC_POLY_VAR_POP: u32 = 3390; +pub const F_NUMERIC_POLY_VAR_SAMP: u32 = 3391; +pub const F_NUMERIC_POLY_STDDEV_POP: u32 = 3392; +pub const F_NUMERIC_POLY_STDDEV_SAMP: u32 = 3393; +pub const F_REGEXP_MATCH_TEXT_TEXT: u32 = 3396; +pub const F_REGEXP_MATCH_TEXT_TEXT_TEXT: u32 = 3397; +pub const F_INT8_MUL_CASH: u32 = 3399; +pub const F_PG_CONFIG: u32 = 3400; +pub const F_PG_HBA_FILE_RULES: u32 = 3401; +pub const F_PG_STATISTICS_OBJ_IS_VISIBLE: u32 = 3403; +pub const F_PG_DEPENDENCIES_IN: u32 = 3404; +pub const F_PG_DEPENDENCIES_OUT: u32 = 3405; +pub const F_PG_DEPENDENCIES_RECV: u32 = 3406; +pub const F_PG_DEPENDENCIES_SEND: u32 = 3407; +pub const F_PG_GET_PARTITION_CONSTRAINTDEF: u32 = 3408; +pub const F_TIME_HASH_EXTENDED: u32 = 3409; +pub const F_TIMETZ_HASH_EXTENDED: u32 = 3410; +pub const F_TIMESTAMP_HASH_EXTENDED: u32 = 3411; +pub const F_UUID_HASH_EXTENDED: u32 = 3412; +pub const F_PG_LSN_HASH_EXTENDED: u32 = 3413; +pub const F_HASHENUMEXTENDED: u32 = 3414; +pub const F_PG_GET_STATISTICSOBJDEF: u32 = 3415; +pub const F_JSONB_HASH_EXTENDED: u32 = 3416; +pub const F_HASH_RANGE_EXTENDED: u32 = 3417; +pub const F_INTERVAL_HASH_EXTENDED: u32 = 3418; +pub const F_SHA224: u32 = 3419; +pub const F_SHA256: u32 = 3420; +pub const F_SHA384: u32 = 3421; +pub const F_SHA512: u32 = 3422; +pub const F_PG_PARTITION_TREE: u32 = 3423; +pub const F_PG_PARTITION_ROOT: u32 = 3424; +pub const F_PG_PARTITION_ANCESTORS: u32 = 3425; +pub const F_PG_STAT_GET_DB_CHECKSUM_FAILURES: u32 = 3426; +pub const F_PG_MCV_LIST_ITEMS: u32 = 3427; +pub const F_PG_STAT_GET_DB_CHECKSUM_LAST_FAILURE: u32 = 3428; +pub const F_GEN_RANDOM_UUID: u32 = 3432; +pub const F_GTSVECTOR_OPTIONS: u32 = 3434; +pub const F_GIST_POINT_SORTSUPPORT: u32 = 3435; +pub const F_PG_PROMOTE: u32 = 3436; +pub const F_PREFIXSEL: u32 = 3437; +pub const F_PREFIXJOINSEL: u32 = 3438; +pub const F_PG_CONTROL_SYSTEM: u32 = 3441; +pub const F_PG_CONTROL_CHECKPOINT: u32 = 3442; +pub const F_PG_CONTROL_RECOVERY: u32 = 3443; +pub const F_PG_CONTROL_INIT: u32 = 3444; +pub const F_PG_IMPORT_SYSTEM_COLLATIONS: u32 = 3445; +pub const F_MACADDR8_RECV: u32 = 3446; +pub const F_MACADDR8_SEND: u32 = 3447; +pub const F_PG_COLLATION_ACTUAL_VERSION: u32 = 3448; +pub const F_NUMERIC_JSONB: u32 = 3449; +pub const F_INT2_JSONB: u32 = 3450; +pub const F_INT4_JSONB: u32 = 3451; +pub const F_INT8_JSONB: u32 = 3452; +pub const F_FLOAT4_JSONB: u32 = 3453; +pub const F_PG_FILENODE_RELATION: u32 = 3454; +pub const F_LO_FROM_BYTEA: u32 = 3457; +pub const F_LO_GET_OID: Oid = Oid(3458); +pub const F_LO_GET_OID_INT8_INT4: u32 = 3459; +pub const F_LO_PUT: u32 = 3460; +pub const F_MAKE_TIMESTAMP: u32 = 3461; +pub const F_MAKE_TIMESTAMPTZ_INT4_INT4_INT4_INT4_INT4_FLOAT8: u32 = 3462; +pub const F_MAKE_TIMESTAMPTZ_INT4_INT4_INT4_INT4_INT4_FLOAT8_TEXT: u32 = 3463; +pub const F_MAKE_INTERVAL: u32 = 3464; +pub const F_JSONB_ARRAY_ELEMENTS_TEXT: u32 = 3465; +pub const F_SPG_RANGE_QUAD_CONFIG: u32 = 3469; +pub const F_SPG_RANGE_QUAD_CHOOSE: u32 = 3470; +pub const F_SPG_RANGE_QUAD_PICKSPLIT: u32 = 3471; +pub const F_SPG_RANGE_QUAD_INNER_CONSISTENT: u32 = 3472; +pub const F_SPG_RANGE_QUAD_LEAF_CONSISTENT: u32 = 3473; +pub const F_JSONB_POPULATE_RECORDSET: u32 = 3475; +pub const F_TO_REGOPERATOR: u32 = 3476; +pub const F_JSONB_OBJECT_FIELD: u32 = 3478; +pub const F_TO_REGPROCEDURE: u32 = 3479; +pub const F_GIN_COMPARE_JSONB: u32 = 3480; +pub const F_GIN_EXTRACT_JSONB: u32 = 3482; +pub const F_GIN_EXTRACT_JSONB_QUERY: u32 = 3483; +pub const F_GIN_CONSISTENT_JSONB: u32 = 3484; +pub const F_GIN_EXTRACT_JSONB_PATH: u32 = 3485; +pub const F_GIN_EXTRACT_JSONB_QUERY_PATH: u32 = 3486; +pub const F_GIN_CONSISTENT_JSONB_PATH: u32 = 3487; +pub const F_GIN_TRICONSISTENT_JSONB: u32 = 3488; +pub const F_GIN_TRICONSISTENT_JSONB_PATH: u32 = 3489; +pub const F_JSONB_TO_RECORD: u32 = 3490; +pub const F_JSONB_TO_RECORDSET: u32 = 3491; +pub const F_TO_REGOPER: u32 = 3492; +pub const F_TO_REGTYPE: u32 = 3493; +pub const F_TO_REGPROC: u32 = 3494; +pub const F_TO_REGCLASS: u32 = 3495; +pub const F_BOOL_ACCUM: u32 = 3496; +pub const F_BOOL_ACCUM_INV: u32 = 3497; +pub const F_BOOL_ALLTRUE: u32 = 3498; +pub const F_BOOL_ANYTRUE: u32 = 3499; +pub const F_ANYENUM_IN: u32 = 3504; +pub const F_ANYENUM_OUT: u32 = 3505; +pub const F_ENUM_IN: u32 = 3506; +pub const F_ENUM_OUT: u32 = 3507; +pub const F_ENUM_EQ: u32 = 3508; +pub const F_ENUM_NE: u32 = 3509; +pub const F_ENUM_LT: u32 = 3510; +pub const F_ENUM_GT: u32 = 3511; +pub const F_ENUM_LE: u32 = 3512; +pub const F_ENUM_GE: u32 = 3513; +pub const F_ENUM_CMP: u32 = 3514; +pub const F_HASHENUM: u32 = 3515; +pub const F_ENUM_SMALLER: u32 = 3524; +pub const F_ENUM_LARGER: u32 = 3525; +pub const F_MAX_ANYENUM: u32 = 3526; +pub const F_MIN_ANYENUM: u32 = 3527; +pub const F_ENUM_FIRST: u32 = 3528; +pub const F_ENUM_LAST: u32 = 3529; +pub const F_ENUM_RANGE_ANYENUM_ANYENUM: u32 = 3530; +pub const F_ENUM_RANGE_ANYENUM: u32 = 3531; +pub const F_ENUM_RECV: u32 = 3532; +pub const F_ENUM_SEND: u32 = 3533; +pub const F_STRING_AGG_TRANSFN: u32 = 3535; +pub const F_STRING_AGG_FINALFN: u32 = 3536; +pub const F_PG_DESCRIBE_OBJECT: u32 = 3537; +pub const F_STRING_AGG_TEXT_TEXT: u32 = 3538; +pub const F_FORMAT_TEXT_ANY: u32 = 3539; +pub const F_FORMAT_TEXT: u32 = 3540; +pub const F_BYTEA_STRING_AGG_TRANSFN: u32 = 3543; +pub const F_BYTEA_STRING_AGG_FINALFN: u32 = 3544; +pub const F_STRING_AGG_BYTEA_BYTEA: u32 = 3545; +pub const F_INT8DEC: u32 = 3546; +pub const F_INT8DEC_ANY: u32 = 3547; +pub const F_NUMERIC_ACCUM_INV: u32 = 3548; +pub const F_INTERVAL_AVG_ACCUM_INV: u32 = 3549; +pub const F_NETWORK_OVERLAP: u32 = 3551; +pub const F_INET_GIST_CONSISTENT: u32 = 3553; +pub const F_INET_GIST_UNION: u32 = 3554; +pub const F_INET_GIST_COMPRESS: u32 = 3555; +pub const F_BOOL_JSONB: u32 = 3556; +pub const F_INET_GIST_PENALTY: u32 = 3557; +pub const F_INET_GIST_PICKSPLIT: u32 = 3558; +pub const F_INET_GIST_SAME: u32 = 3559; +pub const F_NETWORKSEL: u32 = 3560; +pub const F_NETWORKJOINSEL: u32 = 3561; +pub const F_NETWORK_LARGER: u32 = 3562; +pub const F_NETWORK_SMALLER: u32 = 3563; +pub const F_MAX_INET: u32 = 3564; +pub const F_MIN_INET: u32 = 3565; +pub const F_PG_EVENT_TRIGGER_DROPPED_OBJECTS: u32 = 3566; +pub const F_INT2_ACCUM_INV: u32 = 3567; +pub const F_INT4_ACCUM_INV: u32 = 3568; +pub const F_INT8_ACCUM_INV: u32 = 3569; +pub const F_INT2_AVG_ACCUM_INV: u32 = 3570; +pub const F_INT4_AVG_ACCUM_INV: u32 = 3571; +pub const F_INT2INT4_SUM: u32 = 3572; +pub const F_INET_GIST_FETCH: u32 = 3573; +pub const F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_TEXT_BOOL: u32 = 3577; +pub const F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_BYTEA_BOOL: u32 = 3578; +pub const F_JSONB_INSERT: u32 = 3579; +pub const F_PG_XACT_COMMIT_TIMESTAMP: u32 = 3581; +pub const F_BINARY_UPGRADE_SET_NEXT_PG_TYPE_OID: Oid = Oid(3582); +pub const F_PG_LAST_COMMITTED_XACT: u32 = 3583; +pub const F_BINARY_UPGRADE_SET_NEXT_ARRAY_PG_TYPE_OID: Oid = Oid(3584); +pub const F_BINARY_UPGRADE_SET_NEXT_HEAP_PG_CLASS_OID: Oid = Oid(3586); +pub const F_BINARY_UPGRADE_SET_NEXT_INDEX_PG_CLASS_OID: Oid = Oid(3587); +pub const F_BINARY_UPGRADE_SET_NEXT_TOAST_PG_CLASS_OID: Oid = Oid(3588); +pub const F_BINARY_UPGRADE_SET_NEXT_PG_ENUM_OID: Oid = Oid(3589); +pub const F_BINARY_UPGRADE_SET_NEXT_PG_AUTHID_OID: Oid = Oid(3590); +pub const F_BINARY_UPGRADE_CREATE_EMPTY_EXTENSION: u32 = 3591; +pub const F_EVENT_TRIGGER_IN: u32 = 3594; +pub const F_EVENT_TRIGGER_OUT: u32 = 3595; +pub const F_TSVECTORIN: u32 = 3610; +pub const F_TSVECTOROUT: u32 = 3611; +pub const F_TSQUERYIN: u32 = 3612; +pub const F_TSQUERYOUT: u32 = 3613; +pub const F_TSVECTOR_LT: u32 = 3616; +pub const F_TSVECTOR_LE: u32 = 3617; +pub const F_TSVECTOR_EQ: u32 = 3618; +pub const F_TSVECTOR_NE: u32 = 3619; +pub const F_TSVECTOR_GE: u32 = 3620; +pub const F_TSVECTOR_GT: u32 = 3621; +pub const F_TSVECTOR_CMP: u32 = 3622; +pub const F_STRIP: u32 = 3623; +pub const F_SETWEIGHT_TSVECTOR_CHAR: u32 = 3624; +pub const F_TSVECTOR_CONCAT: u32 = 3625; +pub const F_TS_MATCH_VQ: u32 = 3634; +pub const F_TS_MATCH_QV: u32 = 3635; +pub const F_TSVECTORSEND: u32 = 3638; +pub const F_TSVECTORRECV: u32 = 3639; +pub const F_TSQUERYSEND: u32 = 3640; +pub const F_TSQUERYRECV: u32 = 3641; +pub const F_GTSVECTORIN: u32 = 3646; +pub const F_GTSVECTOROUT: u32 = 3647; +pub const F_GTSVECTOR_COMPRESS: u32 = 3648; +pub const F_GTSVECTOR_DECOMPRESS: u32 = 3649; +pub const F_GTSVECTOR_PICKSPLIT: u32 = 3650; +pub const F_GTSVECTOR_UNION: u32 = 3651; +pub const F_GTSVECTOR_SAME: u32 = 3652; +pub const F_GTSVECTOR_PENALTY: u32 = 3653; +pub const F_GTSVECTOR_CONSISTENT_INTERNAL_TSVECTOR_INT2_OID_INTERNAL: u32 = 3654; +pub const F_GIN_EXTRACT_TSVECTOR_TSVECTOR_INTERNAL_INTERNAL: u32 = 3656; +pub const F_GIN_EXTRACT_TSQUERY_TSVECTOR_INTERNAL_INT2_INTERNAL_INTERNAL_INTERNAL_INTERNAL: u32 = + 3657; +pub const F_GIN_TSQUERY_CONSISTENT_INTERNAL_INT2_TSVECTOR_INT4_INTERNAL_INTERNAL_INTERNAL_INTERNAL : u32 = 3658 ; +pub const F_TSQUERY_LT: u32 = 3662; +pub const F_TSQUERY_LE: u32 = 3663; +pub const F_TSQUERY_EQ: u32 = 3664; +pub const F_TSQUERY_NE: u32 = 3665; +pub const F_TSQUERY_GE: u32 = 3666; +pub const F_TSQUERY_GT: u32 = 3667; +pub const F_TSQUERY_CMP: u32 = 3668; +pub const F_TSQUERY_AND: u32 = 3669; +pub const F_TSQUERY_OR: u32 = 3670; +pub const F_TSQUERY_NOT: u32 = 3671; +pub const F_NUMNODE: u32 = 3672; +pub const F_QUERYTREE: u32 = 3673; +pub const F_TS_REWRITE_TSQUERY_TSQUERY_TSQUERY: u32 = 3684; +pub const F_TS_REWRITE_TSQUERY_TEXT: u32 = 3685; +pub const F_TSMATCHSEL: u32 = 3686; +pub const F_TSMATCHJOINSEL: u32 = 3687; +pub const F_TS_TYPANALYZE: u32 = 3688; +pub const F_TS_STAT_TEXT: u32 = 3689; +pub const F_TS_STAT_TEXT_TEXT: u32 = 3690; +pub const F_TSQ_MCONTAINS: u32 = 3691; +pub const F_TSQ_MCONTAINED: u32 = 3692; +pub const F_GTSQUERY_COMPRESS: u32 = 3695; +pub const F_STARTS_WITH: u32 = 3696; +pub const F_GTSQUERY_PICKSPLIT: u32 = 3697; +pub const F_GTSQUERY_UNION: u32 = 3698; +pub const F_GTSQUERY_SAME: u32 = 3699; +pub const F_GTSQUERY_PENALTY: u32 = 3700; +pub const F_GTSQUERY_CONSISTENT_INTERNAL_TSQUERY_INT2_OID_INTERNAL: u32 = 3701; +pub const F_TS_RANK__FLOAT4_TSVECTOR_TSQUERY_INT4: u32 = 3703; +pub const F_TS_RANK__FLOAT4_TSVECTOR_TSQUERY: u32 = 3704; +pub const F_TS_RANK_TSVECTOR_TSQUERY_INT4: u32 = 3705; +pub const F_TS_RANK_TSVECTOR_TSQUERY: u32 = 3706; +pub const F_TS_RANK_CD__FLOAT4_TSVECTOR_TSQUERY_INT4: u32 = 3707; +pub const F_TS_RANK_CD__FLOAT4_TSVECTOR_TSQUERY: u32 = 3708; +pub const F_TS_RANK_CD_TSVECTOR_TSQUERY_INT4: u32 = 3709; +pub const F_TS_RANK_CD_TSVECTOR_TSQUERY: u32 = 3710; +pub const F_LENGTH_TSVECTOR: u32 = 3711; +pub const F_TS_TOKEN_TYPE_OID: Oid = Oid(3713); +pub const F_TS_TOKEN_TYPE_TEXT: u32 = 3714; +pub const F_TS_PARSE_OID_TEXT: u32 = 3715; +pub const F_TS_PARSE_TEXT_TEXT: u32 = 3716; +pub const F_PRSD_START: u32 = 3717; +pub const F_PRSD_NEXTTOKEN: u32 = 3718; +pub const F_PRSD_END: u32 = 3719; +pub const F_PRSD_HEADLINE: u32 = 3720; +pub const F_PRSD_LEXTYPE: u32 = 3721; +pub const F_TS_LEXIZE: u32 = 3723; +pub const F_GIN_CMP_TSLEXEME: u32 = 3724; +pub const F_DSIMPLE_INIT: u32 = 3725; +pub const F_DSIMPLE_LEXIZE: u32 = 3726; +pub const F_DSYNONYM_INIT: u32 = 3728; +pub const F_DSYNONYM_LEXIZE: u32 = 3729; +pub const F_DISPELL_INIT: u32 = 3731; +pub const F_DISPELL_LEXIZE: u32 = 3732; +pub const F_REGCONFIGIN: u32 = 3736; +pub const F_REGCONFIGOUT: u32 = 3737; +pub const F_REGCONFIGRECV: u32 = 3738; +pub const F_REGCONFIGSEND: u32 = 3739; +pub const F_THESAURUS_INIT: u32 = 3740; +pub const F_THESAURUS_LEXIZE: u32 = 3741; +pub const F_TS_HEADLINE_REGCONFIG_TEXT_TSQUERY_TEXT: u32 = 3743; +pub const F_TS_HEADLINE_REGCONFIG_TEXT_TSQUERY: u32 = 3744; +pub const F_TO_TSVECTOR_REGCONFIG_TEXT: u32 = 3745; +pub const F_TO_TSQUERY_REGCONFIG_TEXT: u32 = 3746; +pub const F_PLAINTO_TSQUERY_REGCONFIG_TEXT: u32 = 3747; +pub const F_TO_TSVECTOR_TEXT: u32 = 3749; +pub const F_TO_TSQUERY_TEXT: u32 = 3750; +pub const F_PLAINTO_TSQUERY_TEXT: u32 = 3751; +pub const F_TSVECTOR_UPDATE_TRIGGER: u32 = 3752; +pub const F_TSVECTOR_UPDATE_TRIGGER_COLUMN: u32 = 3753; +pub const F_TS_HEADLINE_TEXT_TSQUERY_TEXT: u32 = 3754; +pub const F_TS_HEADLINE_TEXT_TSQUERY: u32 = 3755; +pub const F_PG_TS_PARSER_IS_VISIBLE: u32 = 3756; +pub const F_PG_TS_DICT_IS_VISIBLE: u32 = 3757; +pub const F_PG_TS_CONFIG_IS_VISIBLE: u32 = 3758; +pub const F_GET_CURRENT_TS_CONFIG: u32 = 3759; +pub const F_TS_MATCH_TT: u32 = 3760; +pub const F_TS_MATCH_TQ: u32 = 3761; +pub const F_PG_TS_TEMPLATE_IS_VISIBLE: u32 = 3768; +pub const F_REGDICTIONARYIN: u32 = 3771; +pub const F_REGDICTIONARYOUT: u32 = 3772; +pub const F_REGDICTIONARYRECV: u32 = 3773; +pub const F_REGDICTIONARYSEND: u32 = 3774; +pub const F_PG_STAT_RESET_SHARED: u32 = 3775; +pub const F_PG_STAT_RESET_SINGLE_TABLE_COUNTERS: u32 = 3776; +pub const F_PG_STAT_RESET_SINGLE_FUNCTION_COUNTERS: u32 = 3777; +pub const F_PG_TABLESPACE_LOCATION: u32 = 3778; +pub const F_PG_CREATE_PHYSICAL_REPLICATION_SLOT: u32 = 3779; +pub const F_PG_DROP_REPLICATION_SLOT: u32 = 3780; +pub const F_PG_GET_REPLICATION_SLOTS: u32 = 3781; +pub const F_PG_LOGICAL_SLOT_GET_CHANGES: u32 = 3782; +pub const F_PG_LOGICAL_SLOT_GET_BINARY_CHANGES: u32 = 3783; +pub const F_PG_LOGICAL_SLOT_PEEK_CHANGES: u32 = 3784; +pub const F_PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES: u32 = 3785; +pub const F_PG_CREATE_LOGICAL_REPLICATION_SLOT: u32 = 3786; +pub const F_TO_JSONB: u32 = 3787; +pub const F_PG_STAT_GET_SNAPSHOT_TIMESTAMP: u32 = 3788; +pub const F_GIN_CLEAN_PENDING_LIST: u32 = 3789; +pub const F_GTSVECTOR_CONSISTENT_INTERNAL_GTSVECTOR_INT4_OID_INTERNAL: u32 = 3790; +pub const F_GIN_EXTRACT_TSQUERY_TSQUERY_INTERNAL_INT2_INTERNAL_INTERNAL_INTERNAL_INTERNAL: u32 = + 3791; +pub const F_GIN_TSQUERY_CONSISTENT_INTERNAL_INT2_TSQUERY_INT4_INTERNAL_INTERNAL_INTERNAL_INTERNAL : u32 = 3792 ; +pub const F_GTSQUERY_CONSISTENT_INTERNAL_INTERNAL_INT4_OID_INTERNAL: u32 = 3793; +pub const F_INET_SPG_CONFIG: u32 = 3795; +pub const F_INET_SPG_CHOOSE: u32 = 3796; +pub const F_INET_SPG_PICKSPLIT: u32 = 3797; +pub const F_INET_SPG_INNER_CONSISTENT: u32 = 3798; +pub const F_INET_SPG_LEAF_CONSISTENT: u32 = 3799; +pub const F_PG_CURRENT_LOGFILE_: u32 = 3800; +pub const F_PG_CURRENT_LOGFILE_TEXT: u32 = 3801; +pub const F_JSONB_SEND: u32 = 3803; +pub const F_JSONB_OUT: u32 = 3804; +pub const F_JSONB_RECV: u32 = 3805; +pub const F_JSONB_IN: u32 = 3806; +pub const F_PG_GET_FUNCTION_ARG_DEFAULT: u32 = 3808; +pub const F_PG_EXPORT_SNAPSHOT: u32 = 3809; +pub const F_PG_IS_IN_RECOVERY: u32 = 3810; +pub const F_MONEY_INT4: u32 = 3811; +pub const F_MONEY_INT8: u32 = 3812; +pub const F_XMLTEXT: u32 = 3813; +pub const F_PG_COLLATION_IS_VISIBLE: u32 = 3815; +pub const F_ARRAY_TYPANALYZE: u32 = 3816; +pub const F_ARRAYCONTSEL: u32 = 3817; +pub const F_ARRAYCONTJOINSEL: u32 = 3818; +pub const F_PG_GET_MULTIXACT_MEMBERS: u32 = 3819; +pub const F_PG_LAST_WAL_RECEIVE_LSN: u32 = 3820; +pub const F_PG_LAST_WAL_REPLAY_LSN: u32 = 3821; +pub const F_CASH_DIV_CASH: u32 = 3822; +pub const F_NUMERIC_MONEY: u32 = 3823; +pub const F_MONEY_NUMERIC: u32 = 3824; +pub const F_PG_READ_FILE_TEXT: u32 = 3826; +pub const F_PG_READ_BINARY_FILE_TEXT_INT8_INT8: u32 = 3827; +pub const F_PG_READ_BINARY_FILE_TEXT: u32 = 3828; +pub const F_PG_OPFAMILY_IS_VISIBLE: u32 = 3829; +pub const F_PG_LAST_XACT_REPLAY_TIMESTAMP: u32 = 3830; +pub const F_ANYRANGE_IN: u32 = 3832; +pub const F_ANYRANGE_OUT: u32 = 3833; +pub const F_RANGE_IN: u32 = 3834; +pub const F_RANGE_OUT: u32 = 3835; +pub const F_RANGE_RECV: u32 = 3836; +pub const F_RANGE_SEND: u32 = 3837; +pub const F_PG_IDENTIFY_OBJECT: u32 = 3839; +pub const F_INT4RANGE_INT4_INT4: u32 = 3840; +pub const F_INT4RANGE_INT4_INT4_TEXT: u32 = 3841; +pub const F_PG_RELATION_IS_UPDATABLE: u32 = 3842; +pub const F_PG_COLUMN_IS_UPDATABLE: u32 = 3843; +pub const F_NUMRANGE_NUMERIC_NUMERIC: u32 = 3844; +pub const F_NUMRANGE_NUMERIC_NUMERIC_TEXT: u32 = 3845; +pub const F_MAKE_DATE: u32 = 3846; +pub const F_MAKE_TIME: u32 = 3847; +pub const F_LOWER_ANYRANGE: u32 = 3848; +pub const F_UPPER_ANYRANGE: u32 = 3849; +pub const F_ISEMPTY_ANYRANGE: u32 = 3850; +pub const F_LOWER_INC_ANYRANGE: u32 = 3851; +pub const F_UPPER_INC_ANYRANGE: u32 = 3852; +pub const F_LOWER_INF_ANYRANGE: u32 = 3853; +pub const F_UPPER_INF_ANYRANGE: u32 = 3854; +pub const F_RANGE_EQ: u32 = 3855; +pub const F_RANGE_NE: u32 = 3856; +pub const F_RANGE_OVERLAPS: u32 = 3857; +pub const F_RANGE_CONTAINS_ELEM: u32 = 3858; +pub const F_RANGE_CONTAINS: u32 = 3859; +pub const F_ELEM_CONTAINED_BY_RANGE: u32 = 3860; +pub const F_RANGE_CONTAINED_BY: u32 = 3861; +pub const F_RANGE_ADJACENT: u32 = 3862; +pub const F_RANGE_BEFORE: u32 = 3863; +pub const F_RANGE_AFTER: u32 = 3864; +pub const F_RANGE_OVERLEFT: u32 = 3865; +pub const F_RANGE_OVERRIGHT: u32 = 3866; +pub const F_RANGE_UNION: u32 = 3867; +pub const F_RANGE_INTERSECT: u32 = 3868; +pub const F_RANGE_MINUS: u32 = 3869; +pub const F_RANGE_CMP: u32 = 3870; +pub const F_RANGE_LT: u32 = 3871; +pub const F_RANGE_LE: u32 = 3872; +pub const F_RANGE_GE: u32 = 3873; +pub const F_RANGE_GT: u32 = 3874; +pub const F_RANGE_GIST_CONSISTENT: u32 = 3875; +pub const F_RANGE_GIST_UNION: u32 = 3876; +pub const F_PG_REPLICATION_SLOT_ADVANCE: u32 = 3878; +pub const F_RANGE_GIST_PENALTY: u32 = 3879; +pub const F_RANGE_GIST_PICKSPLIT: u32 = 3880; +pub const F_RANGE_GIST_SAME: u32 = 3881; +pub const F_HASH_RANGE: u32 = 3902; +pub const F_INT4RANGE_CANONICAL: u32 = 3914; +pub const F_DATERANGE_CANONICAL: u32 = 3915; +pub const F_RANGE_TYPANALYZE: u32 = 3916; +pub const F_TIMESTAMP_SUPPORT: u32 = 3917; +pub const F_INTERVAL_SUPPORT: u32 = 3918; +pub const F_GINARRAYTRICONSISTENT: u32 = 3920; +pub const F_GIN_TSQUERY_TRICONSISTENT: u32 = 3921; +pub const F_INT4RANGE_SUBDIFF: u32 = 3922; +pub const F_INT8RANGE_SUBDIFF: u32 = 3923; +pub const F_NUMRANGE_SUBDIFF: u32 = 3924; +pub const F_DATERANGE_SUBDIFF: u32 = 3925; +pub const F_INT8RANGE_CANONICAL: u32 = 3928; +pub const F_TSRANGE_SUBDIFF: u32 = 3929; +pub const F_TSTZRANGE_SUBDIFF: u32 = 3930; +pub const F_JSONB_OBJECT_KEYS: u32 = 3931; +pub const F_JSONB_EACH_TEXT: u32 = 3932; +pub const F_TSRANGE_TIMESTAMP_TIMESTAMP: u32 = 3933; +pub const F_TSRANGE_TIMESTAMP_TIMESTAMP_TEXT: u32 = 3934; +pub const F_PG_SLEEP_FOR: u32 = 3935; +pub const F_PG_SLEEP_UNTIL: u32 = 3936; +pub const F_TSTZRANGE_TIMESTAMPTZ_TIMESTAMPTZ: u32 = 3937; +pub const F_TSTZRANGE_TIMESTAMPTZ_TIMESTAMPTZ_TEXT: u32 = 3938; +pub const F_MXID_AGE: u32 = 3939; +pub const F_JSONB_EXTRACT_PATH_TEXT: u32 = 3940; +pub const F_DATERANGE_DATE_DATE: u32 = 3941; +pub const F_DATERANGE_DATE_DATE_TEXT: u32 = 3942; +pub const F_ACLDEFAULT: u32 = 3943; +pub const F_TIME_SUPPORT: u32 = 3944; +pub const F_INT8RANGE_INT8_INT8: u32 = 3945; +pub const F_INT8RANGE_INT8_INT8_TEXT: u32 = 3946; +pub const F_JSON_OBJECT_FIELD: u32 = 3947; +pub const F_JSON_OBJECT_FIELD_TEXT: u32 = 3948; +pub const F_JSON_ARRAY_ELEMENT: u32 = 3949; +pub const F_JSON_ARRAY_ELEMENT_TEXT: u32 = 3950; +pub const F_JSON_EXTRACT_PATH: u32 = 3951; +pub const F_BRIN_SUMMARIZE_NEW_VALUES: u32 = 3952; +pub const F_JSON_EXTRACT_PATH_TEXT: u32 = 3953; +pub const F_PG_GET_OBJECT_ADDRESS: u32 = 3954; +pub const F_JSON_ARRAY_ELEMENTS: u32 = 3955; +pub const F_JSON_ARRAY_LENGTH: u32 = 3956; +pub const F_JSON_OBJECT_KEYS: u32 = 3957; +pub const F_JSON_EACH: u32 = 3958; +pub const F_JSON_EACH_TEXT: u32 = 3959; +pub const F_JSON_POPULATE_RECORD: u32 = 3960; +pub const F_JSON_POPULATE_RECORDSET: u32 = 3961; +pub const F_JSON_TYPEOF: u32 = 3968; +pub const F_JSON_ARRAY_ELEMENTS_TEXT: u32 = 3969; +pub const F_ORDERED_SET_TRANSITION: u32 = 3970; +pub const F_ORDERED_SET_TRANSITION_MULTI: u32 = 3971; +pub const F_PERCENTILE_DISC_FLOAT8_ANYELEMENT: u32 = 3972; +pub const F_PERCENTILE_DISC_FINAL: u32 = 3973; +pub const F_PERCENTILE_CONT_FLOAT8_FLOAT8: u32 = 3974; +pub const F_PERCENTILE_CONT_FLOAT8_FINAL: u32 = 3975; +pub const F_PERCENTILE_CONT_FLOAT8_INTERVAL: u32 = 3976; +pub const F_PERCENTILE_CONT_INTERVAL_FINAL: u32 = 3977; +pub const F_PERCENTILE_DISC__FLOAT8_ANYELEMENT: u32 = 3978; +pub const F_PERCENTILE_DISC_MULTI_FINAL: u32 = 3979; +pub const F_PERCENTILE_CONT__FLOAT8_FLOAT8: u32 = 3980; +pub const F_PERCENTILE_CONT_FLOAT8_MULTI_FINAL: u32 = 3981; +pub const F_PERCENTILE_CONT__FLOAT8_INTERVAL: u32 = 3982; +pub const F_PERCENTILE_CONT_INTERVAL_MULTI_FINAL: u32 = 3983; +pub const F_MODE: u32 = 3984; +pub const F_MODE_FINAL: u32 = 3985; +pub const F_RANK_ANY: u32 = 3986; +pub const F_RANK_FINAL: u32 = 3987; +pub const F_PERCENT_RANK_ANY: u32 = 3988; +pub const F_PERCENT_RANK_FINAL: u32 = 3989; +pub const F_CUME_DIST_ANY: u32 = 3990; +pub const F_CUME_DIST_FINAL: u32 = 3991; +pub const F_DENSE_RANK_ANY: u32 = 3992; +pub const F_DENSE_RANK_FINAL: u32 = 3993; +pub const F_GENERATE_SERIES_INT4_SUPPORT: u32 = 3994; +pub const F_GENERATE_SERIES_INT8_SUPPORT: u32 = 3995; +pub const F_ARRAY_UNNEST_SUPPORT: u32 = 3996; +pub const F_GIST_BOX_DISTANCE: u32 = 3998; +pub const F_BRIN_SUMMARIZE_RANGE: u32 = 3999; +pub const F_JSONPATH_IN: u32 = 4001; +pub const F_JSONPATH_RECV: u32 = 4002; +pub const F_JSONPATH_OUT: u32 = 4003; +pub const F_JSONPATH_SEND: u32 = 4004; +pub const F_JSONB_PATH_EXISTS: u32 = 4005; +pub const F_JSONB_PATH_QUERY: u32 = 4006; +pub const F_JSONB_PATH_QUERY_ARRAY: u32 = 4007; +pub const F_JSONB_PATH_QUERY_FIRST: u32 = 4008; +pub const F_JSONB_PATH_MATCH: u32 = 4009; +pub const F_JSONB_PATH_EXISTS_OPR: u32 = 4010; +pub const F_JSONB_PATH_MATCH_OPR: u32 = 4011; +pub const F_BRIN_DESUMMARIZE_RANGE: u32 = 4014; +pub const F_SPG_QUAD_CONFIG: u32 = 4018; +pub const F_SPG_QUAD_CHOOSE: u32 = 4019; +pub const F_SPG_QUAD_PICKSPLIT: u32 = 4020; +pub const F_SPG_QUAD_INNER_CONSISTENT: u32 = 4021; +pub const F_SPG_QUAD_LEAF_CONSISTENT: u32 = 4022; +pub const F_SPG_KD_CONFIG: u32 = 4023; +pub const F_SPG_KD_CHOOSE: u32 = 4024; +pub const F_SPG_KD_PICKSPLIT: u32 = 4025; +pub const F_SPG_KD_INNER_CONSISTENT: u32 = 4026; +pub const F_SPG_TEXT_CONFIG: u32 = 4027; +pub const F_SPG_TEXT_CHOOSE: u32 = 4028; +pub const F_SPG_TEXT_PICKSPLIT: u32 = 4029; +pub const F_SPG_TEXT_INNER_CONSISTENT: u32 = 4030; +pub const F_SPG_TEXT_LEAF_CONSISTENT: u32 = 4031; +pub const F_PG_SEQUENCE_LAST_VALUE: u32 = 4032; +pub const F_JSONB_NE: u32 = 4038; +pub const F_JSONB_LT: u32 = 4039; +pub const F_JSONB_GT: u32 = 4040; +pub const F_JSONB_LE: u32 = 4041; +pub const F_JSONB_GE: u32 = 4042; +pub const F_JSONB_EQ: u32 = 4043; +pub const F_JSONB_CMP: u32 = 4044; +pub const F_JSONB_HASH: u32 = 4045; +pub const F_JSONB_CONTAINS: u32 = 4046; +pub const F_JSONB_EXISTS: u32 = 4047; +pub const F_JSONB_EXISTS_ANY: u32 = 4048; +pub const F_JSONB_EXISTS_ALL: u32 = 4049; +pub const F_JSONB_CONTAINED: u32 = 4050; +pub const F_ARRAY_AGG_ARRAY_TRANSFN: u32 = 4051; +pub const F_ARRAY_AGG_ARRAY_FINALFN: u32 = 4052; +pub const F_ARRAY_AGG_ANYARRAY: u32 = 4053; +pub const F_RANGE_MERGE_ANYRANGE_ANYRANGE: u32 = 4057; +pub const F_INET_MERGE: u32 = 4063; +pub const F_BOUND_BOX: u32 = 4067; +pub const F_INET_SAME_FAMILY: u32 = 4071; +pub const F_BINARY_UPGRADE_SET_RECORD_INIT_PRIVS: u32 = 4083; +pub const F_REGNAMESPACEIN: u32 = 4084; +pub const F_REGNAMESPACEOUT: u32 = 4085; +pub const F_TO_REGNAMESPACE: u32 = 4086; +pub const F_REGNAMESPACERECV: u32 = 4087; +pub const F_REGNAMESPACESEND: u32 = 4088; +pub const F_BOX_POINT: u32 = 4091; +pub const F_REGROLEOUT: u32 = 4092; +pub const F_TO_REGROLE: u32 = 4093; +pub const F_REGROLERECV: u32 = 4094; +pub const F_REGROLESEND: u32 = 4095; +pub const F_REGROLEIN: u32 = 4098; +pub const F_PG_NUMA_AVAILABLE: u32 = 4099; +pub const F_PG_GET_SHMEM_ALLOCATIONS_NUMA: u32 = 4100; +pub const F_BINARY_UPGRADE_SET_MISSING_VALUE: u32 = 4101; +pub const F_BRIN_INCLUSION_OPCINFO: u32 = 4105; +pub const F_BRIN_INCLUSION_ADD_VALUE: u32 = 4106; +pub const F_BRIN_INCLUSION_CONSISTENT: u32 = 4107; +pub const F_BRIN_INCLUSION_UNION: u32 = 4108; +pub const F_MACADDR8_IN: u32 = 4110; +pub const F_MACADDR8_OUT: u32 = 4111; +pub const F_TRUNC_MACADDR8: u32 = 4112; +pub const F_MACADDR8_EQ: u32 = 4113; +pub const F_MACADDR8_LT: u32 = 4114; +pub const F_MACADDR8_LE: u32 = 4115; +pub const F_MACADDR8_GT: u32 = 4116; +pub const F_MACADDR8_GE: u32 = 4117; +pub const F_MACADDR8_NE: u32 = 4118; +pub const F_MACADDR8_CMP: u32 = 4119; +pub const F_MACADDR8_NOT: u32 = 4120; +pub const F_MACADDR8_AND: u32 = 4121; +pub const F_MACADDR8_OR: u32 = 4122; +pub const F_MACADDR8: u32 = 4123; +pub const F_MACADDR: u32 = 4124; +pub const F_MACADDR8_SET7BIT: u32 = 4125; +pub const F_IN_RANGE_INT8_INT8_INT8_BOOL_BOOL: u32 = 4126; +pub const F_IN_RANGE_INT4_INT4_INT8_BOOL_BOOL: u32 = 4127; +pub const F_IN_RANGE_INT4_INT4_INT4_BOOL_BOOL: u32 = 4128; +pub const F_IN_RANGE_INT4_INT4_INT2_BOOL_BOOL: u32 = 4129; +pub const F_IN_RANGE_INT2_INT2_INT8_BOOL_BOOL: u32 = 4130; +pub const F_IN_RANGE_INT2_INT2_INT4_BOOL_BOOL: u32 = 4131; +pub const F_IN_RANGE_INT2_INT2_INT2_BOOL_BOOL: u32 = 4132; +pub const F_IN_RANGE_DATE_DATE_INTERVAL_BOOL_BOOL: u32 = 4133; +pub const F_IN_RANGE_TIMESTAMP_TIMESTAMP_INTERVAL_BOOL_BOOL: u32 = 4134; +pub const F_IN_RANGE_TIMESTAMPTZ_TIMESTAMPTZ_INTERVAL_BOOL_BOOL: u32 = 4135; +pub const F_IN_RANGE_INTERVAL_INTERVAL_INTERVAL_BOOL_BOOL: u32 = 4136; +pub const F_IN_RANGE_TIME_TIME_INTERVAL_BOOL_BOOL: u32 = 4137; +pub const F_IN_RANGE_TIMETZ_TIMETZ_INTERVAL_BOOL_BOOL: u32 = 4138; +pub const F_IN_RANGE_FLOAT8_FLOAT8_FLOAT8_BOOL_BOOL: u32 = 4139; +pub const F_IN_RANGE_FLOAT4_FLOAT4_FLOAT8_BOOL_BOOL: u32 = 4140; +pub const F_IN_RANGE_NUMERIC_NUMERIC_NUMERIC_BOOL_BOOL: u32 = 4141; +pub const F_PG_LSN_LARGER: u32 = 4187; +pub const F_PG_LSN_SMALLER: u32 = 4188; +pub const F_MAX_PG_LSN: u32 = 4189; +pub const F_MIN_PG_LSN: u32 = 4190; +pub const F_REGCOLLATIONIN: u32 = 4193; +pub const F_REGCOLLATIONOUT: u32 = 4194; +pub const F_TO_REGCOLLATION: u32 = 4195; +pub const F_REGCOLLATIONRECV: u32 = 4196; +pub const F_REGCOLLATIONSEND: u32 = 4197; +pub const F_TS_HEADLINE_REGCONFIG_JSONB_TSQUERY_TEXT: u32 = 4201; +pub const F_TS_HEADLINE_REGCONFIG_JSONB_TSQUERY: u32 = 4202; +pub const F_TS_HEADLINE_JSONB_TSQUERY_TEXT: u32 = 4203; +pub const F_TS_HEADLINE_JSONB_TSQUERY: u32 = 4204; +pub const F_TS_HEADLINE_REGCONFIG_JSON_TSQUERY_TEXT: u32 = 4205; +pub const F_TS_HEADLINE_REGCONFIG_JSON_TSQUERY: u32 = 4206; +pub const F_TS_HEADLINE_JSON_TSQUERY_TEXT: u32 = 4207; +pub const F_TS_HEADLINE_JSON_TSQUERY: u32 = 4208; +pub const F_TO_TSVECTOR_JSONB: u32 = 4209; +pub const F_TO_TSVECTOR_JSON: u32 = 4210; +pub const F_TO_TSVECTOR_REGCONFIG_JSONB: u32 = 4211; +pub const F_TO_TSVECTOR_REGCONFIG_JSON: u32 = 4212; +pub const F_JSONB_TO_TSVECTOR_JSONB_JSONB: u32 = 4213; +pub const F_JSONB_TO_TSVECTOR_REGCONFIG_JSONB_JSONB: u32 = 4214; +pub const F_JSON_TO_TSVECTOR_JSON_JSONB: u32 = 4215; +pub const F_JSON_TO_TSVECTOR_REGCONFIG_JSON_JSONB: u32 = 4216; +pub const F_PG_COPY_PHYSICAL_REPLICATION_SLOT_NAME_NAME_BOOL: u32 = 4220; +pub const F_PG_COPY_PHYSICAL_REPLICATION_SLOT_NAME_NAME: u32 = 4221; +pub const F_PG_COPY_LOGICAL_REPLICATION_SLOT_NAME_NAME_BOOL_NAME: u32 = 4222; +pub const F_PG_COPY_LOGICAL_REPLICATION_SLOT_NAME_NAME_BOOL: u32 = 4223; +pub const F_PG_COPY_LOGICAL_REPLICATION_SLOT_NAME_NAME: u32 = 4224; +pub const F_ANYCOMPATIBLEMULTIRANGE_IN: u32 = 4226; +pub const F_ANYCOMPATIBLEMULTIRANGE_OUT: u32 = 4227; +pub const F_RANGE_MERGE_ANYMULTIRANGE: u32 = 4228; +pub const F_ANYMULTIRANGE_IN: u32 = 4229; +pub const F_ANYMULTIRANGE_OUT: u32 = 4230; +pub const F_MULTIRANGE_IN: u32 = 4231; +pub const F_MULTIRANGE_OUT: u32 = 4232; +pub const F_MULTIRANGE_RECV: u32 = 4233; +pub const F_MULTIRANGE_SEND: u32 = 4234; +pub const F_LOWER_ANYMULTIRANGE: u32 = 4235; +pub const F_UPPER_ANYMULTIRANGE: u32 = 4236; +pub const F_ISEMPTY_ANYMULTIRANGE: u32 = 4237; +pub const F_LOWER_INC_ANYMULTIRANGE: u32 = 4238; +pub const F_UPPER_INC_ANYMULTIRANGE: u32 = 4239; +pub const F_LOWER_INF_ANYMULTIRANGE: u32 = 4240; +pub const F_UPPER_INF_ANYMULTIRANGE: u32 = 4241; +pub const F_MULTIRANGE_TYPANALYZE: u32 = 4242; +pub const F_MULTIRANGESEL: u32 = 4243; +pub const F_MULTIRANGE_EQ: u32 = 4244; +pub const F_MULTIRANGE_NE: u32 = 4245; +pub const F_RANGE_OVERLAPS_MULTIRANGE: u32 = 4246; +pub const F_MULTIRANGE_OVERLAPS_RANGE: u32 = 4247; +pub const F_MULTIRANGE_OVERLAPS_MULTIRANGE: u32 = 4248; +pub const F_MULTIRANGE_CONTAINS_ELEM: u32 = 4249; +pub const F_MULTIRANGE_CONTAINS_RANGE: u32 = 4250; +pub const F_MULTIRANGE_CONTAINS_MULTIRANGE: u32 = 4251; +pub const F_ELEM_CONTAINED_BY_MULTIRANGE: u32 = 4252; +pub const F_RANGE_CONTAINED_BY_MULTIRANGE: u32 = 4253; +pub const F_MULTIRANGE_CONTAINED_BY_MULTIRANGE: u32 = 4254; +pub const F_RANGE_ADJACENT_MULTIRANGE: u32 = 4255; +pub const F_MULTIRANGE_ADJACENT_MULTIRANGE: u32 = 4256; +pub const F_MULTIRANGE_ADJACENT_RANGE: u32 = 4257; +pub const F_RANGE_BEFORE_MULTIRANGE: u32 = 4258; +pub const F_MULTIRANGE_BEFORE_RANGE: u32 = 4259; +pub const F_MULTIRANGE_BEFORE_MULTIRANGE: u32 = 4260; +pub const F_RANGE_AFTER_MULTIRANGE: u32 = 4261; +pub const F_MULTIRANGE_AFTER_RANGE: u32 = 4262; +pub const F_MULTIRANGE_AFTER_MULTIRANGE: u32 = 4263; +pub const F_RANGE_OVERLEFT_MULTIRANGE: u32 = 4264; +pub const F_MULTIRANGE_OVERLEFT_RANGE: u32 = 4265; +pub const F_MULTIRANGE_OVERLEFT_MULTIRANGE: u32 = 4266; +pub const F_RANGE_OVERRIGHT_MULTIRANGE: u32 = 4267; +pub const F_MULTIRANGE_OVERRIGHT_RANGE: u32 = 4268; +pub const F_MULTIRANGE_OVERRIGHT_MULTIRANGE: u32 = 4269; +pub const F_MULTIRANGE_UNION: u32 = 4270; +pub const F_MULTIRANGE_MINUS: u32 = 4271; +pub const F_MULTIRANGE_INTERSECT: u32 = 4272; +pub const F_MULTIRANGE_CMP: u32 = 4273; +pub const F_MULTIRANGE_LT: u32 = 4274; +pub const F_MULTIRANGE_LE: u32 = 4275; +pub const F_MULTIRANGE_GE: u32 = 4276; +pub const F_MULTIRANGE_GT: u32 = 4277; +pub const F_HASH_MULTIRANGE: u32 = 4278; +pub const F_HASH_MULTIRANGE_EXTENDED: u32 = 4279; +pub const F_INT4MULTIRANGE_: u32 = 4280; +pub const F_INT4MULTIRANGE_INT4RANGE: u32 = 4281; +pub const F_INT4MULTIRANGE__INT4RANGE: u32 = 4282; +pub const F_NUMMULTIRANGE_: u32 = 4283; +pub const F_NUMMULTIRANGE_NUMRANGE: u32 = 4284; +pub const F_NUMMULTIRANGE__NUMRANGE: u32 = 4285; +pub const F_TSMULTIRANGE_: u32 = 4286; +pub const F_TSMULTIRANGE_TSRANGE: u32 = 4287; +pub const F_TSMULTIRANGE__TSRANGE: u32 = 4288; +pub const F_TSTZMULTIRANGE_: u32 = 4289; +pub const F_TSTZMULTIRANGE_TSTZRANGE: u32 = 4290; +pub const F_TSTZMULTIRANGE__TSTZRANGE: u32 = 4291; +pub const F_DATEMULTIRANGE_: u32 = 4292; +pub const F_DATEMULTIRANGE_DATERANGE: u32 = 4293; +pub const F_DATEMULTIRANGE__DATERANGE: u32 = 4294; +pub const F_INT8MULTIRANGE_: u32 = 4295; +pub const F_INT8MULTIRANGE_INT8RANGE: u32 = 4296; +pub const F_INT8MULTIRANGE__INT8RANGE: u32 = 4297; +pub const F_MULTIRANGE: u32 = 4298; +pub const F_RANGE_AGG_TRANSFN: u32 = 4299; +pub const F_RANGE_AGG_FINALFN: u32 = 4300; +pub const F_RANGE_AGG_ANYRANGE: u32 = 4301; +pub const F_KOI8R_TO_MIC: u32 = 4302; +pub const F_MIC_TO_KOI8R: u32 = 4303; +pub const F_ISO_TO_MIC: u32 = 4304; +pub const F_MIC_TO_ISO: u32 = 4305; +pub const F_WIN1251_TO_MIC: u32 = 4306; +pub const F_MIC_TO_WIN1251: u32 = 4307; +pub const F_WIN866_TO_MIC: u32 = 4308; +pub const F_MIC_TO_WIN866: u32 = 4309; +pub const F_KOI8R_TO_WIN1251: u32 = 4310; +pub const F_WIN1251_TO_KOI8R: u32 = 4311; +pub const F_KOI8R_TO_WIN866: u32 = 4312; +pub const F_WIN866_TO_KOI8R: u32 = 4313; +pub const F_WIN866_TO_WIN1251: u32 = 4314; +pub const F_WIN1251_TO_WIN866: u32 = 4315; +pub const F_ISO_TO_KOI8R: u32 = 4316; +pub const F_KOI8R_TO_ISO: u32 = 4317; +pub const F_ISO_TO_WIN1251: u32 = 4318; +pub const F_WIN1251_TO_ISO: u32 = 4319; +pub const F_ISO_TO_WIN866: u32 = 4320; +pub const F_WIN866_TO_ISO: u32 = 4321; +pub const F_EUC_CN_TO_MIC: u32 = 4322; +pub const F_MIC_TO_EUC_CN: u32 = 4323; +pub const F_EUC_JP_TO_SJIS: u32 = 4324; +pub const F_SJIS_TO_EUC_JP: u32 = 4325; +pub const F_EUC_JP_TO_MIC: u32 = 4326; +pub const F_SJIS_TO_MIC: u32 = 4327; +pub const F_MIC_TO_EUC_JP: u32 = 4328; +pub const F_MIC_TO_SJIS: u32 = 4329; +pub const F_EUC_KR_TO_MIC: u32 = 4330; +pub const F_MIC_TO_EUC_KR: u32 = 4331; +pub const F_EUC_TW_TO_BIG5: u32 = 4332; +pub const F_BIG5_TO_EUC_TW: u32 = 4333; +pub const F_EUC_TW_TO_MIC: u32 = 4334; +pub const F_BIG5_TO_MIC: u32 = 4335; +pub const F_MIC_TO_EUC_TW: u32 = 4336; +pub const F_MIC_TO_BIG5: u32 = 4337; +pub const F_LATIN2_TO_MIC: u32 = 4338; +pub const F_MIC_TO_LATIN2: u32 = 4339; +pub const F_WIN1250_TO_MIC: u32 = 4340; +pub const F_MIC_TO_WIN1250: u32 = 4341; +pub const F_LATIN2_TO_WIN1250: u32 = 4342; +pub const F_WIN1250_TO_LATIN2: u32 = 4343; +pub const F_LATIN1_TO_MIC: u32 = 4344; +pub const F_MIC_TO_LATIN1: u32 = 4345; +pub const F_LATIN3_TO_MIC: u32 = 4346; +pub const F_MIC_TO_LATIN3: u32 = 4347; +pub const F_LATIN4_TO_MIC: u32 = 4348; +pub const F_MIC_TO_LATIN4: u32 = 4349; +pub const F_NORMALIZE: u32 = 4350; +pub const F_IS_NORMALIZED: u32 = 4351; +pub const F_BIG5_TO_UTF8: u32 = 4352; +pub const F_UTF8_TO_BIG5: u32 = 4353; +pub const F_UTF8_TO_KOI8R: u32 = 4354; +pub const F_KOI8R_TO_UTF8: u32 = 4355; +pub const F_UTF8_TO_KOI8U: u32 = 4356; +pub const F_KOI8U_TO_UTF8: u32 = 4357; +pub const F_UTF8_TO_WIN: u32 = 4358; +pub const F_WIN_TO_UTF8: u32 = 4359; +pub const F_EUC_CN_TO_UTF8: u32 = 4360; +pub const F_UTF8_TO_EUC_CN: u32 = 4361; +pub const F_EUC_JP_TO_UTF8: u32 = 4362; +pub const F_UTF8_TO_EUC_JP: u32 = 4363; +pub const F_EUC_KR_TO_UTF8: u32 = 4364; +pub const F_UTF8_TO_EUC_KR: u32 = 4365; +pub const F_EUC_TW_TO_UTF8: u32 = 4366; +pub const F_UTF8_TO_EUC_TW: u32 = 4367; +pub const F_GB18030_TO_UTF8: u32 = 4368; +pub const F_UTF8_TO_GB18030: u32 = 4369; +pub const F_GBK_TO_UTF8: u32 = 4370; +pub const F_UTF8_TO_GBK: u32 = 4371; +pub const F_UTF8_TO_ISO8859: u32 = 4372; +pub const F_ISO8859_TO_UTF8: u32 = 4373; +pub const F_ISO8859_1_TO_UTF8: u32 = 4374; +pub const F_UTF8_TO_ISO8859_1: u32 = 4375; +pub const F_JOHAB_TO_UTF8: u32 = 4376; +pub const F_UTF8_TO_JOHAB: u32 = 4377; +pub const F_SJIS_TO_UTF8: u32 = 4378; +pub const F_UTF8_TO_SJIS: u32 = 4379; +pub const F_UHC_TO_UTF8: u32 = 4380; +pub const F_UTF8_TO_UHC: u32 = 4381; +pub const F_EUC_JIS_2004_TO_UTF8: u32 = 4382; +pub const F_UTF8_TO_EUC_JIS_2004: u32 = 4383; +pub const F_SHIFT_JIS_2004_TO_UTF8: u32 = 4384; +pub const F_UTF8_TO_SHIFT_JIS_2004: u32 = 4385; +pub const F_EUC_JIS_2004_TO_SHIFT_JIS_2004: u32 = 4386; +pub const F_SHIFT_JIS_2004_TO_EUC_JIS_2004: u32 = 4387; +pub const F_MULTIRANGE_INTERSECT_AGG_TRANSFN: u32 = 4388; +pub const F_RANGE_INTERSECT_AGG_ANYMULTIRANGE: u32 = 4389; +pub const F_BINARY_UPGRADE_SET_NEXT_MULTIRANGE_PG_TYPE_OID: Oid = Oid(4390); +pub const F_BINARY_UPGRADE_SET_NEXT_MULTIRANGE_ARRAY_PG_TYPE_OID: Oid = Oid(4391); +pub const F_RANGE_INTERSECT_AGG_TRANSFN: u32 = 4401; +pub const F_RANGE_INTERSECT_AGG_ANYRANGE: u32 = 4450; +pub const F_RANGE_CONTAINS_MULTIRANGE: u32 = 4541; +pub const F_MULTIRANGE_CONTAINED_BY_RANGE: u32 = 4542; +pub const F_PG_LOG_BACKEND_MEMORY_CONTEXTS: u32 = 4543; +pub const F_BINARY_UPGRADE_SET_NEXT_HEAP_RELFILENODE: u32 = 4545; +pub const F_BINARY_UPGRADE_SET_NEXT_INDEX_RELFILENODE: u32 = 4546; +pub const F_BINARY_UPGRADE_SET_NEXT_TOAST_RELFILENODE: u32 = 4547; +pub const F_BINARY_UPGRADE_SET_NEXT_PG_TABLESPACE_OID: Oid = Oid(4548); +pub const F_UNICODE_VERSION: u32 = 4549; +pub const F_PG_EVENT_TRIGGER_TABLE_REWRITE_OID: Oid = Oid(4566); +pub const F_PG_EVENT_TRIGGER_TABLE_REWRITE_REASON: u32 = 4567; +pub const F_PG_EVENT_TRIGGER_DDL_COMMANDS: u32 = 4568; +pub const F_BRIN_BLOOM_OPCINFO: u32 = 4591; +pub const F_BRIN_BLOOM_ADD_VALUE: u32 = 4592; +pub const F_BRIN_BLOOM_CONSISTENT: u32 = 4593; +pub const F_BRIN_BLOOM_UNION: u32 = 4594; +pub const F_BRIN_BLOOM_OPTIONS: u32 = 4595; +pub const F_BRIN_BLOOM_SUMMARY_IN: u32 = 4596; +pub const F_BRIN_BLOOM_SUMMARY_OUT: u32 = 4597; +pub const F_BRIN_BLOOM_SUMMARY_RECV: u32 = 4598; +pub const F_BRIN_BLOOM_SUMMARY_SEND: u32 = 4599; +pub const F_BRIN_MINMAX_MULTI_OPCINFO: u32 = 4616; +pub const F_BRIN_MINMAX_MULTI_ADD_VALUE: u32 = 4617; +pub const F_BRIN_MINMAX_MULTI_CONSISTENT: u32 = 4618; +pub const F_BRIN_MINMAX_MULTI_UNION: u32 = 4619; +pub const F_BRIN_MINMAX_MULTI_OPTIONS: u32 = 4620; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_INT2: u32 = 4621; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_INT4: u32 = 4622; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_INT8: u32 = 4623; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_FLOAT4: u32 = 4624; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_FLOAT8: u32 = 4625; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_NUMERIC: u32 = 4626; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_TID: u32 = 4627; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_UUID: u32 = 4628; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_DATE: u32 = 4629; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_TIME: u32 = 4630; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_INTERVAL: u32 = 4631; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_TIMETZ: u32 = 4632; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_PG_LSN: u32 = 4633; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_MACADDR: u32 = 4634; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_MACADDR8: u32 = 4635; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_INET: u32 = 4636; +pub const F_BRIN_MINMAX_MULTI_DISTANCE_TIMESTAMP: u32 = 4637; +pub const F_BRIN_MINMAX_MULTI_SUMMARY_IN: u32 = 4638; +pub const F_BRIN_MINMAX_MULTI_SUMMARY_OUT: u32 = 4639; +pub const F_BRIN_MINMAX_MULTI_SUMMARY_RECV: u32 = 4640; +pub const F_BRIN_MINMAX_MULTI_SUMMARY_SEND: u32 = 4641; +pub const F_PHRASETO_TSQUERY_TEXT: u32 = 5001; +pub const F_TSQUERY_PHRASE_TSQUERY_TSQUERY: u32 = 5003; +pub const F_TSQUERY_PHRASE_TSQUERY_TSQUERY_INT4: u32 = 5004; +pub const F_PHRASETO_TSQUERY_REGCONFIG_TEXT: u32 = 5006; +pub const F_WEBSEARCH_TO_TSQUERY_REGCONFIG_TEXT: u32 = 5007; +pub const F_WEBSEARCH_TO_TSQUERY_TEXT: u32 = 5009; +pub const F_SPG_BBOX_QUAD_CONFIG: u32 = 5010; +pub const F_SPG_POLY_QUAD_COMPRESS: u32 = 5011; +pub const F_SPG_BOX_QUAD_CONFIG: u32 = 5012; +pub const F_SPG_BOX_QUAD_CHOOSE: u32 = 5013; +pub const F_SPG_BOX_QUAD_PICKSPLIT: u32 = 5014; +pub const F_SPG_BOX_QUAD_INNER_CONSISTENT: u32 = 5015; +pub const F_SPG_BOX_QUAD_LEAF_CONSISTENT: u32 = 5016; +pub const F_PG_MCV_LIST_IN: u32 = 5018; +pub const F_PG_MCV_LIST_OUT: u32 = 5019; +pub const F_PG_MCV_LIST_RECV: u32 = 5020; +pub const F_PG_MCV_LIST_SEND: u32 = 5021; +pub const F_PG_LSN_PLI: u32 = 5022; +pub const F_NUMERIC_PL_PG_LSN: u32 = 5023; +pub const F_PG_LSN_MII: u32 = 5024; +pub const F_SATISFIES_HASH_PARTITION: u32 = 5028; +pub const F_PG_LS_TMPDIR_: u32 = 5029; +pub const F_PG_LS_TMPDIR_OID: Oid = Oid(5030); +pub const F_PG_LS_ARCHIVE_STATUSDIR: u32 = 5031; +pub const F_NETWORK_SORTSUPPORT: u32 = 5033; +pub const F_XID8LT: u32 = 5034; +pub const F_XID8GT: u32 = 5035; +pub const F_XID8LE: u32 = 5036; +pub const F_XID8GE: u32 = 5037; +pub const F_MATCHINGSEL: u32 = 5040; +pub const F_MATCHINGJOINSEL: u32 = 5041; +pub const F_MIN_SCALE: u32 = 5042; +pub const F_TRIM_SCALE: u32 = 5043; +pub const F_GCD_INT4_INT4: u32 = 5044; +pub const F_GCD_INT8_INT8: u32 = 5045; +pub const F_LCM_INT4_INT4: u32 = 5046; +pub const F_LCM_INT8_INT8: u32 = 5047; +pub const F_GCD_NUMERIC_NUMERIC: u32 = 5048; +pub const F_LCM_NUMERIC_NUMERIC: u32 = 5049; +pub const F_BTVARSTREQUALIMAGE: u32 = 5050; +pub const F_BTEQUALIMAGE: u32 = 5051; +pub const F_PG_GET_SHMEM_ALLOCATIONS: u32 = 5052; +pub const F_PG_STAT_GET_INS_SINCE_VACUUM: u32 = 5053; +pub const F_JSONB_SET_LAX: u32 = 5054; +pub const F_PG_SNAPSHOT_IN: u32 = 5055; +pub const F_PG_SNAPSHOT_OUT: u32 = 5056; +pub const F_PG_SNAPSHOT_RECV: u32 = 5057; +pub const F_PG_SNAPSHOT_SEND: u32 = 5058; +pub const F_PG_CURRENT_XACT_ID: u32 = 5059; +pub const F_PG_CURRENT_XACT_ID_IF_ASSIGNED: u32 = 5060; +pub const F_PG_CURRENT_SNAPSHOT: u32 = 5061; +pub const F_PG_SNAPSHOT_XMIN: u32 = 5062; +pub const F_PG_SNAPSHOT_XMAX: u32 = 5063; +pub const F_PG_SNAPSHOT_XIP: u32 = 5064; +pub const F_PG_VISIBLE_IN_SNAPSHOT: u32 = 5065; +pub const F_PG_XACT_STATUS: u32 = 5066; +pub const F_XID8IN: u32 = 5070; +pub const F_XID: u32 = 5071; +pub const F_XID8OUT: u32 = 5081; +pub const F_XID8RECV: u32 = 5082; +pub const F_XID8SEND: u32 = 5083; +pub const F_XID8EQ: u32 = 5084; +pub const F_XID8NE: u32 = 5085; +pub const F_ANYCOMPATIBLE_IN: u32 = 5086; +pub const F_ANYCOMPATIBLE_OUT: u32 = 5087; +pub const F_ANYCOMPATIBLEARRAY_IN: u32 = 5088; +pub const F_ANYCOMPATIBLEARRAY_OUT: u32 = 5089; +pub const F_ANYCOMPATIBLEARRAY_RECV: u32 = 5090; +pub const F_ANYCOMPATIBLEARRAY_SEND: u32 = 5091; +pub const F_ANYCOMPATIBLENONARRAY_IN: u32 = 5092; +pub const F_ANYCOMPATIBLENONARRAY_OUT: u32 = 5093; +pub const F_ANYCOMPATIBLERANGE_IN: u32 = 5094; +pub const F_ANYCOMPATIBLERANGE_OUT: u32 = 5095; +pub const F_XID8CMP: u32 = 5096; +pub const F_XID8_LARGER: u32 = 5097; +pub const F_XID8_SMALLER: u32 = 5098; +pub const F_MAX_XID8: u32 = 5099; +pub const F_MIN_XID8: u32 = 5100; +pub const F_PG_REPLICATION_ORIGIN_CREATE: u32 = 6003; +pub const F_PG_REPLICATION_ORIGIN_DROP: u32 = 6004; +pub const F_PG_REPLICATION_ORIGIN_OID: Oid = Oid(6005); +pub const F_PG_REPLICATION_ORIGIN_SESSION_SETUP: u32 = 6006; +pub const F_PG_REPLICATION_ORIGIN_SESSION_RESET: u32 = 6007; +pub const F_PG_REPLICATION_ORIGIN_SESSION_IS_SETUP: u32 = 6008; +pub const F_PG_REPLICATION_ORIGIN_SESSION_PROGRESS: u32 = 6009; +pub const F_PG_REPLICATION_ORIGIN_XACT_SETUP: u32 = 6010; +pub const F_PG_REPLICATION_ORIGIN_XACT_RESET: u32 = 6011; +pub const F_PG_REPLICATION_ORIGIN_ADVANCE: u32 = 6012; +pub const F_PG_REPLICATION_ORIGIN_PROGRESS: u32 = 6013; +pub const F_PG_SHOW_REPLICATION_ORIGIN_STATUS: u32 = 6014; +pub const F_JSONB_SUBSCRIPT_HANDLER: u32 = 6098; +pub const F_ICU_UNICODE_VERSION: u32 = 6099; +pub const F_PG_LSN: u32 = 6103; +pub const F_UNICODE_ASSIGNED: u32 = 6105; +pub const F_PG_STAT_GET_BACKEND_SUBXACT: u32 = 6107; +pub const F_PG_STAT_GET_SUBSCRIPTION: u32 = 6118; +pub const F_PG_GET_PUBLICATION_TABLES: u32 = 6119; +pub const F_PG_GET_REPLICA_IDENTITY_INDEX: u32 = 6120; +pub const F_PG_RELATION_IS_PUBLISHABLE: u32 = 6121; +pub const F_MULTIRANGE_GIST_CONSISTENT: u32 = 6154; +pub const F_MULTIRANGE_GIST_COMPRESS: u32 = 6156; +pub const F_PG_GET_CATALOG_FOREIGN_KEYS: u32 = 6159; +pub const F_STRING_TO_TABLE_TEXT_TEXT: u32 = 6160; +pub const F_STRING_TO_TABLE_TEXT_TEXT_TEXT: u32 = 6161; +pub const F_BIT_COUNT_BIT: u32 = 6162; +pub const F_BIT_COUNT_BYTEA: u32 = 6163; +pub const F_BIT_XOR_INT2: u32 = 6164; +pub const F_BIT_XOR_INT4: u32 = 6165; +pub const F_BIT_XOR_INT8: u32 = 6166; +pub const F_BIT_XOR_BIT: u32 = 6167; +pub const F_PG_XACT_COMMIT_TIMESTAMP_ORIGIN: u32 = 6168; +pub const F_PG_STAT_GET_REPLICATION_SLOT: u32 = 6169; +pub const F_PG_STAT_RESET_REPLICATION_SLOT: u32 = 6170; +pub const F_TRIM_ARRAY: u32 = 6172; +pub const F_PG_GET_STATISTICSOBJDEF_EXPRESSIONS: u32 = 6173; +pub const F_PG_GET_STATISTICSOBJDEF_COLUMNS: u32 = 6174; +pub const F_DATE_BIN_INTERVAL_TIMESTAMP_TIMESTAMP: u32 = 6177; +pub const F_DATE_BIN_INTERVAL_TIMESTAMPTZ_TIMESTAMPTZ: u32 = 6178; +pub const F_ARRAY_SUBSCRIPT_HANDLER: u32 = 6179; +pub const F_RAW_ARRAY_SUBSCRIPT_HANDLER: u32 = 6180; +pub const F_TS_DEBUG_REGCONFIG_TEXT: u32 = 6183; +pub const F_TS_DEBUG_TEXT: u32 = 6184; +pub const F_PG_STAT_GET_DB_SESSION_TIME: u32 = 6185; +pub const F_PG_STAT_GET_DB_ACTIVE_TIME: u32 = 6186; +pub const F_PG_STAT_GET_DB_IDLE_IN_TRANSACTION_TIME: u32 = 6187; +pub const F_PG_STAT_GET_DB_SESSIONS: u32 = 6188; +pub const F_PG_STAT_GET_DB_SESSIONS_ABANDONED: u32 = 6189; +pub const F_PG_STAT_GET_DB_SESSIONS_FATAL: u32 = 6190; +pub const F_PG_STAT_GET_DB_SESSIONS_KILLED: u32 = 6191; +pub const F_HASH_RECORD: u32 = 6192; +pub const F_HASH_RECORD_EXTENDED: u32 = 6193; +pub const F_LTRIM_BYTEA_BYTEA: u32 = 6195; +pub const F_RTRIM_BYTEA_BYTEA: u32 = 6196; +pub const F_PG_GET_FUNCTION_SQLBODY: u32 = 6197; +pub const F_UNISTR: u32 = 6198; +pub const F_EXTRACT_TEXT_DATE: u32 = 6199; +pub const F_EXTRACT_TEXT_TIME: u32 = 6200; +pub const F_EXTRACT_TEXT_TIMETZ: u32 = 6201; +pub const F_EXTRACT_TEXT_TIMESTAMP: u32 = 6202; +pub const F_EXTRACT_TEXT_TIMESTAMPTZ: u32 = 6203; +pub const F_EXTRACT_TEXT_INTERVAL: u32 = 6204; +pub const F_HAS_PARAMETER_PRIVILEGE_NAME_TEXT_TEXT: u32 = 6205; +pub const F_HAS_PARAMETER_PRIVILEGE_OID_TEXT_TEXT: u32 = 6206; +pub const F_HAS_PARAMETER_PRIVILEGE_TEXT_TEXT: u32 = 6207; +pub const F_PG_READ_FILE_TEXT_BOOL: u32 = 6208; +pub const F_PG_READ_BINARY_FILE_TEXT_BOOL: u32 = 6209; +pub const F_PG_INPUT_IS_VALID: u32 = 6210; +pub const F_PG_INPUT_ERROR_INFO: u32 = 6211; +pub const F_RANDOM_NORMAL: u32 = 6212; +pub const F_PG_SPLIT_WALFILE_NAME: u32 = 6213; +pub const F_PG_STAT_GET_IO: u32 = 6214; +pub const F_ARRAY_SHUFFLE: u32 = 6215; +pub const F_ARRAY_SAMPLE: u32 = 6216; +pub const F_PG_STAT_GET_TUPLES_NEWPAGE_UPDATED: u32 = 6217; +pub const F_PG_STAT_GET_XACT_TUPLES_NEWPAGE_UPDATED: u32 = 6218; +pub const F_ERF: u32 = 6219; +pub const F_ERFC: u32 = 6220; +pub const F_DATE_ADD_TIMESTAMPTZ_INTERVAL: u32 = 6221; +pub const F_DATE_ADD_TIMESTAMPTZ_INTERVAL_TEXT: u32 = 6222; +pub const F_DATE_SUBTRACT_TIMESTAMPTZ_INTERVAL: u32 = 6223; +pub const F_PG_GET_WAL_RESOURCE_MANAGERS: u32 = 6224; +pub const F_MULTIRANGE_AGG_TRANSFN: u32 = 6225; +pub const F_MULTIRANGE_AGG_FINALFN: u32 = 6226; +pub const F_RANGE_AGG_ANYMULTIRANGE: u32 = 6227; +pub const F_PG_STAT_HAVE_STATS: u32 = 6230; +pub const F_PG_STAT_GET_SUBSCRIPTION_STATS: u32 = 6231; +pub const F_PG_STAT_RESET_SUBSCRIPTION_STATS: u32 = 6232; +pub const F_WINDOW_ROW_NUMBER_SUPPORT: u32 = 6233; +pub const F_WINDOW_RANK_SUPPORT: u32 = 6234; +pub const F_WINDOW_DENSE_RANK_SUPPORT: u32 = 6235; +pub const F_INT8INC_SUPPORT: u32 = 6236; +pub const F_PG_SETTINGS_GET_FLAGS: u32 = 6240; +pub const F_PG_STOP_MAKING_PINNED_OBJECTS: u32 = 6241; +pub const F_TEXT_STARTS_WITH_SUPPORT: u32 = 6242; +pub const F_PG_STAT_GET_RECOVERY_PREFETCH: u32 = 6248; +pub const F_PG_DATABASE_COLLATION_ACTUAL_VERSION: u32 = 6249; +pub const F_PG_IDENT_FILE_MAPPINGS: u32 = 6250; +pub const F_REGEXP_REPLACE_TEXT_TEXT_TEXT_INT4_INT4_TEXT: u32 = 6251; +pub const F_REGEXP_REPLACE_TEXT_TEXT_TEXT_INT4_INT4: u32 = 6252; +pub const F_REGEXP_REPLACE_TEXT_TEXT_TEXT_INT4: u32 = 6253; +pub const F_REGEXP_COUNT_TEXT_TEXT: u32 = 6254; +pub const F_REGEXP_COUNT_TEXT_TEXT_INT4: u32 = 6255; +pub const F_REGEXP_COUNT_TEXT_TEXT_INT4_TEXT: u32 = 6256; +pub const F_REGEXP_INSTR_TEXT_TEXT: u32 = 6257; +pub const F_REGEXP_INSTR_TEXT_TEXT_INT4: u32 = 6258; +pub const F_REGEXP_INSTR_TEXT_TEXT_INT4_INT4: u32 = 6259; +pub const F_REGEXP_INSTR_TEXT_TEXT_INT4_INT4_INT4: u32 = 6260; +pub const F_REGEXP_INSTR_TEXT_TEXT_INT4_INT4_INT4_TEXT: u32 = 6261; +pub const F_REGEXP_INSTR_TEXT_TEXT_INT4_INT4_INT4_TEXT_INT4: u32 = 6262; +pub const F_REGEXP_LIKE_TEXT_TEXT: u32 = 6263; +pub const F_REGEXP_LIKE_TEXT_TEXT_TEXT: u32 = 6264; +pub const F_REGEXP_SUBSTR_TEXT_TEXT: u32 = 6265; +pub const F_REGEXP_SUBSTR_TEXT_TEXT_INT4: u32 = 6266; +pub const F_REGEXP_SUBSTR_TEXT_TEXT_INT4_INT4: u32 = 6267; +pub const F_REGEXP_SUBSTR_TEXT_TEXT_INT4_INT4_TEXT: u32 = 6268; +pub const F_REGEXP_SUBSTR_TEXT_TEXT_INT4_INT4_TEXT_INT4: u32 = 6269; +pub const F_PG_LS_LOGICALSNAPDIR: u32 = 6270; +pub const F_PG_LS_LOGICALMAPDIR: u32 = 6271; +pub const F_PG_LS_REPLSLOTDIR: u32 = 6272; +pub const F_DATE_SUBTRACT_TIMESTAMPTZ_INTERVAL_TEXT: u32 = 6273; +pub const F_GENERATE_SERIES_TIMESTAMPTZ_TIMESTAMPTZ_INTERVAL_TEXT: u32 = 6274; +pub const F_JSON_AGG_STRICT_TRANSFN: u32 = 6275; +pub const F_JSON_AGG_STRICT: u32 = 6276; +pub const F_JSON_OBJECT_AGG_STRICT_TRANSFN: u32 = 6277; +pub const F_JSON_OBJECT_AGG_UNIQUE_TRANSFN: u32 = 6278; +pub const F_JSON_OBJECT_AGG_UNIQUE_STRICT_TRANSFN: u32 = 6279; +pub const F_JSON_OBJECT_AGG_STRICT: u32 = 6280; +pub const F_JSON_OBJECT_AGG_UNIQUE: u32 = 6281; +pub const F_JSON_OBJECT_AGG_UNIQUE_STRICT: u32 = 6282; +pub const F_JSONB_AGG_STRICT_TRANSFN: u32 = 6283; +pub const F_JSONB_AGG_STRICT: u32 = 6284; +pub const F_JSONB_OBJECT_AGG_STRICT_TRANSFN: u32 = 6285; +pub const F_JSONB_OBJECT_AGG_UNIQUE_TRANSFN: u32 = 6286; +pub const F_JSONB_OBJECT_AGG_UNIQUE_STRICT_TRANSFN: u32 = 6287; +pub const F_JSONB_OBJECT_AGG_STRICT: u32 = 6288; +pub const F_JSONB_OBJECT_AGG_UNIQUE: u32 = 6289; +pub const F_JSONB_OBJECT_AGG_UNIQUE_STRICT: u32 = 6290; +pub const F_ANY_VALUE: u32 = 6291; +pub const F_ANY_VALUE_TRANSFN: u32 = 6292; +pub const F_ARRAY_AGG_COMBINE: u32 = 6293; +pub const F_ARRAY_AGG_SERIALIZE: u32 = 6294; +pub const F_ARRAY_AGG_DESERIALIZE: u32 = 6295; +pub const F_ARRAY_AGG_ARRAY_COMBINE: u32 = 6296; +pub const F_ARRAY_AGG_ARRAY_SERIALIZE: u32 = 6297; +pub const F_ARRAY_AGG_ARRAY_DESERIALIZE: u32 = 6298; +pub const F_STRING_AGG_COMBINE: u32 = 6299; +pub const F_STRING_AGG_SERIALIZE: u32 = 6300; +pub const F_STRING_AGG_DESERIALIZE: u32 = 6301; +pub const F_PG_LOG_STANDBY_SNAPSHOT: u32 = 6305; +pub const F_WINDOW_PERCENT_RANK_SUPPORT: u32 = 6306; +pub const F_WINDOW_CUME_DIST_SUPPORT: u32 = 6307; +pub const F_WINDOW_NTILE_SUPPORT: u32 = 6308; +pub const F_PG_STAT_GET_DB_CONFLICT_LOGICALSLOT: u32 = 6309; +pub const F_PG_STAT_GET_LASTSCAN: u32 = 6310; +pub const F_SYSTEM_USER: u32 = 6311; +pub const F_BINARY_UPGRADE_LOGICAL_SLOT_HAS_CAUGHT_UP: u32 = 6312; +pub const F_PG_STAT_GET_CHECKPOINTER_STAT_RESET_TIME: u32 = 6314; +pub const F_PG_BASETYPE: u32 = 6315; +pub const F_PG_COLUMN_TOAST_CHUNK_ID: u32 = 6316; +pub const F_TO_REGTYPEMOD: u32 = 6317; +pub const F_PG_GET_WAIT_EVENTS: u32 = 6318; +pub const F_BINARY_UPGRADE_ADD_SUB_REL_STATE: u32 = 6319; +pub const F_BINARY_UPGRADE_REPLORIGIN_ADVANCE: u32 = 6320; +pub const F_PG_AVAILABLE_WAL_SUMMARIES: u32 = 6321; +pub const F_PG_WAL_SUMMARY_CONTENTS: u32 = 6322; +pub const F_PG_GET_WAL_SUMMARIZER_STATE: u32 = 6323; +pub const F_INTERVAL_AVG_SERIALIZE: u32 = 6324; +pub const F_INTERVAL_AVG_DESERIALIZE: u32 = 6325; +pub const F_INTERVAL_SUM: u32 = 6326; +pub const F_PG_STAT_GET_CHECKPOINTER_RESTARTPOINTS_TIMED: u32 = 6327; +pub const F_PG_STAT_GET_CHECKPOINTER_RESTARTPOINTS_REQUESTED: u32 = 6328; +pub const F_PG_STAT_GET_CHECKPOINTER_RESTARTPOINTS_PERFORMED: u32 = 6329; +pub const F_TO_BIN_INT4: u32 = 6330; +pub const F_TO_BIN_INT8: u32 = 6331; +pub const F_TO_OCT_INT4: u32 = 6332; +pub const F_TO_OCT_INT8: u32 = 6333; +pub const F_TIMEZONE_TIMESTAMPTZ: u32 = 6334; +pub const F_TIMEZONE_TIMESTAMP: u32 = 6335; +pub const F_TIMEZONE_TIMETZ: u32 = 6336; +pub const F_JSONB_POPULATE_RECORD_VALID: u32 = 6338; +pub const F_RANDOM_INT4_INT4: u32 = 6339; +pub const F_RANDOM_INT8_INT8: u32 = 6340; +pub const F_RANDOM_NUMERIC_NUMERIC: u32 = 6341; +pub const F_UUID_EXTRACT_TIMESTAMP: u32 = 6342; +pub const F_UUID_EXTRACT_VERSION: u32 = 6343; +pub const F_PG_SYNC_REPLICATION_SLOTS: u32 = 6344; +pub const F_RANGE_CONTAINS_ELEM_SUPPORT: u32 = 6345; +pub const F_ELEM_CONTAINED_BY_RANGE_SUPPORT: u32 = 6346; +pub const F_PG_STAT_GET_BACKEND_WAL: u32 = 8037; +pub const F_GIST_STRATNUM_COMMON: u32 = 8047; +pub const F_HAS_LARGEOBJECT_PRIVILEGE_NAME_OID_TEXT: u32 = 8048; +pub const F_HAS_LARGEOBJECT_PRIVILEGE_OID_TEXT: u32 = 8049; +pub const F_HAS_LARGEOBJECT_PRIVILEGE_OID_OID_TEXT: u32 = 8050; +pub const F_PG_GET_LOADED_MODULES: u32 = 8303; +pub const F_GENERATE_SERIES_TIMESTAMP_SUPPORT: u32 = 8402; +pub const F_PG_STAT_GET_DB_PARALLEL_WORKERS_TO_LAUNCH: u32 = 8403; +pub const F_PG_STAT_GET_DB_PARALLEL_WORKERS_LAUNCHED: u32 = 8404; +pub const F_GENERATE_SERIES_NUMERIC_SUPPORT: u32 = 8405; +pub const F_PG_STAT_GET_TOTAL_VACUUM_TIME: u32 = 8406; +pub const F_PG_STAT_GET_TOTAL_AUTOVACUUM_TIME: u32 = 8407; +pub const F_PG_STAT_GET_TOTAL_ANALYZE_TIME: u32 = 8408; +pub const F_PG_STAT_GET_TOTAL_AUTOANALYZE_TIME: u32 = 8409; +pub const F_PG_RESTORE_RELATION_STATS: u32 = 8459; +pub const F_PG_RESTORE_ATTRIBUTE_STATS: u32 = 8461; +pub const F_CRC32: u32 = 8571; +pub const F_CRC32C: u32 = 8572; +pub const F_PG_STAT_GET_CHECKPOINTER_SLRU_WRITTEN: u32 = 8573; +pub const F_BYTEA_INT2: u32 = 8577; +pub const F_BYTEA_INT4: u32 = 8578; +pub const F_BYTEA_INT8: u32 = 8579; +pub const F_INT2_BYTEA: u32 = 8580; +pub const F_INT4_BYTEA: u32 = 8581; +pub const F_INT8_BYTEA: u32 = 8582; +pub const F_MAX_RECORD: u32 = 8595; +pub const F_MIN_RECORD: u32 = 8596; +pub const F_RECORD_LARGER: u32 = 8597; +pub const F_RECORD_SMALLER: u32 = 8598; +pub const F_PG_STAT_GET_CHECKPOINTER_NUM_PERFORMED: u32 = 8599; +pub const F_ARRAY_APPEND_SUPPORT: u32 = 8680; +pub const F_ARRAY_PREPEND_SUPPORT: u32 = 8681; +pub const F_ARRAY_SUBSCRIPT_HANDLER_SUPPORT: u32 = 8682; +pub const F_ARRAY_REVERSE: u32 = 8686; +pub const F_REVERSE_BYTEA: u32 = 8694; +pub const F_GAMMA: u32 = 8702; +pub const F_LGAMMA: u32 = 8703; +pub const F_PG_GET_ACL: u32 = 8730; +pub const F_PG_STAT_GET_BACKEND_IO: u32 = 8806; +pub const F_PG_STAT_RESET_BACKEND_STATS: u32 = 8807; +pub const F_ARRAY_SORT_ANYARRAY: u32 = 8810; +pub const F_ARRAY_SORT_ANYARRAY_BOOL: u32 = 8811; +pub const F_ARRAY_SORT_ANYARRAY_BOOL_BOOL: u32 = 8812; +pub const F_RANGE_SORTSUPPORT: u32 = 8849; +pub const F_BYTEA_LARGER: u32 = 8920; +pub const F_BYTEA_SMALLER: u32 = 8921; +pub const F_MAX_BYTEA: u32 = 8922; +pub const F_MIN_BYTEA: u32 = 8923; +pub const F_PG_CLEAR_RELATION_STATS: u32 = 9160; +pub const F_PG_CLEAR_ATTRIBUTE_STATS: u32 = 9162; +pub const F_PG_GET_AIOS: u32 = 9200; +pub const F_PG_LS_SUMMARIESDIR: u32 = 9220; +pub const F_PG_TIMEZONE_ABBREVS_ZONE: u32 = 9221; +pub const F_BTINT2SKIPSUPPORT: u32 = 9290; +pub const F_BTINT4SKIPSUPPORT: u32 = 9291; +pub const F_BTINT8SKIPSUPPORT: u32 = 9292; +pub const F_BTOIDSKIPSUPPORT: u32 = 9293; +pub const F_BTCHARSKIPSUPPORT: u32 = 9294; +pub const F_DATE_SKIPSUPPORT: u32 = 9295; +pub const F_BTBOOLSKIPSUPPORT: u32 = 9296; +pub const F_TIMESTAMP_SKIPSUPPORT: u32 = 9297; +pub const F_UUID_SKIPSUPPORT: u32 = 9298; +pub const F_CASEFOLD: u32 = 9569; +pub const F_HASHBYTEA: u32 = 9708; +pub const F_HASHBYTEAEXTENDED: u32 = 9709; +pub const F_HASHDATE: u32 = 9710; +pub const F_HASHDATEEXTENDED: u32 = 9711; +pub const F_HASHBOOL: u32 = 9712; +pub const F_HASHBOOLEXTENDED: u32 = 9713; +pub const F_HASHXID: u32 = 9714; +pub const F_HASHXIDEXTENDED: u32 = 9715; +pub const F_HASHXID8: u32 = 9716; +pub const F_HASHXID8EXTENDED: u32 = 9717; +pub const F_HASHCID: u32 = 9718; +pub const F_HASHCIDEXTENDED: u32 = 9719; +pub const F_TIMESTAMPTZ_HASH: u32 = 9720; +pub const F_TIMESTAMPTZ_HASH_EXTENDED: u32 = 9721; +pub const F_PG_GET_SEQUENCE_DATA: u32 = 9876; +pub const F_UUIDV4: u32 = 9895; +pub const F_UUIDV7_: u32 = 9896; +pub const F_UUIDV7_INTERVAL: u32 = 9897; +pub const NUMERIC_MAX_PRECISION: u32 = 1000; +pub const NUMERIC_MIN_SCALE: i32 = -1000; +pub const NUMERIC_MAX_SCALE: 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: &::core::ffi::CStr = c"empty"; +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 __uid_t = ::core::ffi::c_uint; +pub type __gid_t = ::core::ffi::c_uint; +pub type __ino_t = ::core::ffi::c_ulong; +pub type __mode_t = ::core::ffi::c_uint; +pub type __off_t = ::core::ffi::c_long; +pub type __off64_t = ::core::ffi::c_long; +pub type __pid_t = ::core::ffi::c_int; +pub type __socklen_t = ::core::ffi::c_uint; +pub type __sig_atomic_t = ::core::ffi::c_int; +pub type __gnuc_va_list = __builtin_va_list; +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 = ::core::ffi::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_FILE { + pub _flags: ::core::ffi::c_int, + pub _IO_read_ptr: *mut ::core::ffi::c_char, + pub _IO_read_end: *mut ::core::ffi::c_char, + pub _IO_read_base: *mut ::core::ffi::c_char, + pub _IO_write_base: *mut ::core::ffi::c_char, + pub _IO_write_ptr: *mut ::core::ffi::c_char, + pub _IO_write_end: *mut ::core::ffi::c_char, + pub _IO_buf_base: *mut ::core::ffi::c_char, + pub _IO_buf_end: *mut ::core::ffi::c_char, + pub _IO_save_base: *mut ::core::ffi::c_char, + pub _IO_backup_base: *mut ::core::ffi::c_char, + pub _IO_save_end: *mut ::core::ffi::c_char, + pub _markers: *mut _IO_marker, + pub _chain: *mut _IO_FILE, + pub _fileno: ::core::ffi::c_int, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>, + pub _short_backupbuf: [::core::ffi::c_char; 1usize], + pub _old_offset: __off_t, + pub _cur_column: ::core::ffi::c_ushort, + pub _vtable_offset: ::core::ffi::c_schar, + pub _shortbuf: [::core::ffi::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 ::core::ffi::c_void, + pub _prevchain: *mut *mut _IO_FILE, + pub _mode: ::core::ffi::c_int, + pub _unused2: [::core::ffi::c_char; 20usize], +} +impl Default for _IO_FILE { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl _IO_FILE { + #[inline] + pub fn _flags2(&self) -> ::core::ffi::c_int { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) } + } + #[inline] + pub fn set__flags2(&mut self, val: ::core::ffi::c_int) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 24u8, val as u64) + } + } + #[inline] + pub unsafe fn _flags2_raw(this: *const Self) -> ::core::ffi::c_int { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 24u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set__flags2_raw(this: *mut Self, val: ::core::ffi::c_int) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 24u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(_flags2: ::core::ffi::c_int) -> __BindgenBitfieldUnit<[u8; 3usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 24u8, { + let _flags2: u32 = unsafe { ::core::mem::transmute(_flags2) }; + _flags2 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type va_list = __gnuc_va_list; +pub type off_t = __off_t; +pub type gid_t = __gid_t; +pub type mode_t = __mode_t; +pub type uid_t = __uid_t; +pub type pid_t = __pid_t; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct __sigset_t { + pub __val: [::core::ffi::c_ulong; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lconv { + pub decimal_point: *mut ::core::ffi::c_char, + pub thousands_sep: *mut ::core::ffi::c_char, + pub grouping: *mut ::core::ffi::c_char, + pub int_curr_symbol: *mut ::core::ffi::c_char, + pub currency_symbol: *mut ::core::ffi::c_char, + pub mon_decimal_point: *mut ::core::ffi::c_char, + pub mon_thousands_sep: *mut ::core::ffi::c_char, + pub mon_grouping: *mut ::core::ffi::c_char, + pub positive_sign: *mut ::core::ffi::c_char, + pub negative_sign: *mut ::core::ffi::c_char, + pub int_frac_digits: ::core::ffi::c_char, + pub frac_digits: ::core::ffi::c_char, + pub p_cs_precedes: ::core::ffi::c_char, + pub p_sep_by_space: ::core::ffi::c_char, + pub n_cs_precedes: ::core::ffi::c_char, + pub n_sep_by_space: ::core::ffi::c_char, + pub p_sign_posn: ::core::ffi::c_char, + pub n_sign_posn: ::core::ffi::c_char, + pub int_p_cs_precedes: ::core::ffi::c_char, + pub int_p_sep_by_space: ::core::ffi::c_char, + pub int_n_cs_precedes: ::core::ffi::c_char, + pub int_n_sep_by_space: ::core::ffi::c_char, + pub int_p_sign_posn: ::core::ffi::c_char, + pub int_n_sign_posn: ::core::ffi::c_char, +} +impl Default for lconv { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type pg_funcptr_t = ::core::option::Option; +pub type Pointer = *mut ::core::ffi::c_char; +pub type int8 = i8; +pub type int16 = i16; +pub type int32 = i32; +pub type int64 = i64; +pub type uint8 = u8; +pub type uint16 = u16; +pub type uint32 = u32; +pub type uint64 = u64; +pub type bits8 = uint8; +pub type bits16 = uint16; +pub type bits32 = uint32; +pub type int128 = i128; +pub type uint128 = u128; +pub type Size = usize; +pub type Index = ::core::ffi::c_uint; +pub type Offset = ::core::ffi::c_int; +pub type float4 = f32; +pub type float8 = f64; +pub type regproc = Oid; +pub type RegProcedure = regproc; +pub type LocalTransactionId = uint32; +pub type SubTransactionId = uint32; +pub type MultiXactOffset = uint32; +pub type CommandId = uint32; +#[repr(C)] +#[derive(Debug, Default)] +pub struct varlena { + pub vl_len_: [::core::ffi::c_char; 4usize], + pub vl_dat: __IncompleteArrayField<::core::ffi::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: ::core::ffi::c_int, + pub dataoffset: int32, + pub elemtype: Oid, + pub dim1: ::core::ffi::c_int, + pub lbound1: ::core::ffi::c_int, + pub values: __IncompleteArrayField, +} +impl Default for int2vector { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub dataoffset: int32, + pub elemtype: Oid, + pub dim1: ::core::ffi::c_int, + pub lbound1: ::core::ffi::c_int, + pub values: __IncompleteArrayField, +} +impl Default for oidvector { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nameData { + pub data: [::core::ffi::c_char; 64usize], +} +impl Default for nameData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: [::core::ffi::c_char; 8192usize], + pub force_align_d: f64, + pub force_align_i64: int64, +} +impl Default for PGAlignedBlock { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[repr(align(4096))] +#[derive(Copy, Clone)] +pub union PGIOAlignedBlock { + pub data: [::core::ffi::c_char; 8192usize], + pub force_align_d: f64, + pub force_align_i64: int64, +} +impl Default for PGIOAlignedBlock { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[repr(align(4096))] +#[derive(Copy, Clone)] +pub union PGAlignedXLogBlock { + pub data: [::core::ffi::c_char; 8192usize], + pub force_align_d: f64, + pub force_align_i64: int64, +} +impl Default for PGAlignedXLogBlock { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type pgsocket = ::core::ffi::c_int; +pub type qsort_arg_comparator = ::core::option::Option< + unsafe extern "C-unwind" fn( + a: *const ::core::ffi::c_void, + b: *const ::core::ffi::c_void, + arg: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, +>; +pub type pqsigfunc = + ::core::option::Option; +pub type __jmp_buf = [::core::ffi::c_long; 8usize]; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct __jmp_buf_tag { + pub __jmpbuf: __jmp_buf, + pub __mask_was_saved: ::core::ffi::c_int, + pub __saved_mask: __sigset_t, +} +pub type sigjmp_buf = [__jmp_buf_tag; 1usize]; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct StringInfoData { + pub data: *mut ::core::ffi::c_char, + pub len: ::core::ffi::c_int, + pub maxlen: ::core::ffi::c_int, + pub cursor: ::core::ffi::c_int, +} +impl Default for StringInfoData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 ErrorContextCallback { + pub previous: *mut ErrorContextCallback, + pub callback: + ::core::option::Option, + pub arg: *mut ::core::ffi::c_void, +} +impl Default for ErrorContextCallback { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ErrorData { + pub elevel: ::core::ffi::c_int, + pub output_to_server: bool, + pub output_to_client: bool, + pub hide_stmt: bool, + pub hide_ctx: bool, + pub filename: *const ::core::ffi::c_char, + pub lineno: ::core::ffi::c_int, + pub funcname: *const ::core::ffi::c_char, + pub domain: *const ::core::ffi::c_char, + pub context_domain: *const ::core::ffi::c_char, + pub sqlerrcode: ::core::ffi::c_int, + pub message: *mut ::core::ffi::c_char, + pub detail: *mut ::core::ffi::c_char, + pub detail_log: *mut ::core::ffi::c_char, + pub hint: *mut ::core::ffi::c_char, + pub context: *mut ::core::ffi::c_char, + pub backtrace: *mut ::core::ffi::c_char, + pub message_id: *const ::core::ffi::c_char, + pub schema_name: *mut ::core::ffi::c_char, + pub table_name: *mut ::core::ffi::c_char, + pub column_name: *mut ::core::ffi::c_char, + pub datatype_name: *mut ::core::ffi::c_char, + pub constraint_name: *mut ::core::ffi::c_char, + pub cursorpos: ::core::ffi::c_int, + pub internalpos: ::core::ffi::c_int, + pub internalquery: *mut ::core::ffi::c_char, + pub saved_errno: ::core::ffi::c_int, + pub assoc_context: *mut MemoryContextData, +} +impl Default for ErrorData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type emit_log_hook_type = + ::core::option::Option; +pub mod PGErrorVerbosity { + pub type Type = ::core::ffi::c_uint; + pub const PGERROR_TERSE: Type = 0; + pub const PGERROR_DEFAULT: Type = 1; + pub const PGERROR_VERBOSE: Type = 2; +} +pub type MemoryContext = *mut MemoryContextData; +pub type MemoryContextCallbackFunction = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MemoryContextCallback { + pub func: MemoryContextCallbackFunction, + pub arg: *mut ::core::ffi::c_void, + pub next: *mut MemoryContextCallback, +} +impl Default for MemoryContextCallback { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 attlen: int16, + pub attnum: int16, + pub atttypmod: int32, + pub attndims: int16, + pub attbyval: bool, + pub attalign: ::core::ffi::c_char, + pub attstorage: ::core::ffi::c_char, + pub attcompression: ::core::ffi::c_char, + pub attnotnull: bool, + pub atthasdef: bool, + pub atthasmissing: bool, + pub attidentity: ::core::ffi::c_char, + pub attgenerated: ::core::ffi::c_char, + pub attisdropped: bool, + pub attislocal: bool, + pub attinhcount: int16, + pub attcollation: Oid, +} +impl Default for FormData_pg_attribute { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_attribute = *mut FormData_pg_attribute; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormExtraData_pg_attribute { + pub attstattarget: NullableDatum, + pub attoptions: NullableDatum, +} +impl Default for FormExtraData_pg_attribute { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum NodeTag { + T_Invalid = 0, + T_List = 1, + T_Alias = 2, + T_RangeVar = 3, + T_TableFunc = 4, + T_IntoClause = 5, + T_Var = 6, + T_Const = 7, + T_Param = 8, + T_Aggref = 9, + T_GroupingFunc = 10, + T_WindowFunc = 11, + T_WindowFuncRunCondition = 12, + T_MergeSupportFunc = 13, + T_SubscriptingRef = 14, + T_FuncExpr = 15, + T_NamedArgExpr = 16, + T_OpExpr = 17, + T_DistinctExpr = 18, + T_NullIfExpr = 19, + T_ScalarArrayOpExpr = 20, + T_BoolExpr = 21, + T_SubLink = 22, + T_SubPlan = 23, + T_AlternativeSubPlan = 24, + T_FieldSelect = 25, + T_FieldStore = 26, + T_RelabelType = 27, + T_CoerceViaIO = 28, + T_ArrayCoerceExpr = 29, + T_ConvertRowtypeExpr = 30, + T_CollateExpr = 31, + T_CaseExpr = 32, + T_CaseWhen = 33, + T_CaseTestExpr = 34, + T_ArrayExpr = 35, + T_RowExpr = 36, + T_RowCompareExpr = 37, + T_CoalesceExpr = 38, + T_MinMaxExpr = 39, + T_SQLValueFunction = 40, + T_XmlExpr = 41, + T_JsonFormat = 42, + T_JsonReturning = 43, + T_JsonValueExpr = 44, + T_JsonConstructorExpr = 45, + T_JsonIsPredicate = 46, + T_JsonBehavior = 47, + T_JsonExpr = 48, + T_JsonTablePath = 49, + T_JsonTablePathScan = 50, + T_JsonTableSiblingJoin = 51, + T_NullTest = 52, + T_BooleanTest = 53, + T_MergeAction = 54, + T_CoerceToDomain = 55, + T_CoerceToDomainValue = 56, + T_SetToDefault = 57, + T_CurrentOfExpr = 58, + T_NextValueExpr = 59, + T_InferenceElem = 60, + T_ReturningExpr = 61, + T_TargetEntry = 62, + T_RangeTblRef = 63, + T_JoinExpr = 64, + T_FromExpr = 65, + T_OnConflictExpr = 66, + T_Query = 67, + T_TypeName = 68, + T_ColumnRef = 69, + T_ParamRef = 70, + T_A_Expr = 71, + T_A_Const = 72, + T_TypeCast = 73, + T_CollateClause = 74, + T_RoleSpec = 75, + T_FuncCall = 76, + T_A_Star = 77, + T_A_Indices = 78, + T_A_Indirection = 79, + T_A_ArrayExpr = 80, + T_ResTarget = 81, + T_MultiAssignRef = 82, + T_SortBy = 83, + T_WindowDef = 84, + T_RangeSubselect = 85, + T_RangeFunction = 86, + T_RangeTableFunc = 87, + T_RangeTableFuncCol = 88, + T_RangeTableSample = 89, + T_ColumnDef = 90, + T_TableLikeClause = 91, + T_IndexElem = 92, + T_DefElem = 93, + T_LockingClause = 94, + T_XmlSerialize = 95, + T_PartitionElem = 96, + T_PartitionSpec = 97, + T_PartitionBoundSpec = 98, + T_PartitionRangeDatum = 99, + T_PartitionCmd = 100, + T_RangeTblEntry = 101, + T_RTEPermissionInfo = 102, + T_RangeTblFunction = 103, + T_TableSampleClause = 104, + T_WithCheckOption = 105, + T_SortGroupClause = 106, + T_GroupingSet = 107, + T_WindowClause = 108, + T_RowMarkClause = 109, + T_WithClause = 110, + T_InferClause = 111, + T_OnConflictClause = 112, + T_CTESearchClause = 113, + T_CTECycleClause = 114, + T_CommonTableExpr = 115, + T_MergeWhenClause = 116, + T_ReturningOption = 117, + T_ReturningClause = 118, + T_TriggerTransition = 119, + T_JsonOutput = 120, + T_JsonArgument = 121, + T_JsonFuncExpr = 122, + T_JsonTablePathSpec = 123, + T_JsonTable = 124, + T_JsonTableColumn = 125, + T_JsonKeyValue = 126, + T_JsonParseExpr = 127, + T_JsonScalarExpr = 128, + T_JsonSerializeExpr = 129, + T_JsonObjectConstructor = 130, + T_JsonArrayConstructor = 131, + T_JsonArrayQueryConstructor = 132, + T_JsonAggConstructor = 133, + T_JsonObjectAgg = 134, + T_JsonArrayAgg = 135, + T_RawStmt = 136, + T_InsertStmt = 137, + T_DeleteStmt = 138, + T_UpdateStmt = 139, + T_MergeStmt = 140, + T_SelectStmt = 141, + T_SetOperationStmt = 142, + T_ReturnStmt = 143, + T_PLAssignStmt = 144, + T_CreateSchemaStmt = 145, + T_AlterTableStmt = 146, + T_AlterTableCmd = 147, + T_ATAlterConstraint = 148, + T_ReplicaIdentityStmt = 149, + T_AlterCollationStmt = 150, + T_AlterDomainStmt = 151, + T_GrantStmt = 152, + T_ObjectWithArgs = 153, + T_AccessPriv = 154, + T_GrantRoleStmt = 155, + T_AlterDefaultPrivilegesStmt = 156, + T_CopyStmt = 157, + T_VariableSetStmt = 158, + T_VariableShowStmt = 159, + T_CreateStmt = 160, + T_Constraint = 161, + T_CreateTableSpaceStmt = 162, + T_DropTableSpaceStmt = 163, + T_AlterTableSpaceOptionsStmt = 164, + T_AlterTableMoveAllStmt = 165, + T_CreateExtensionStmt = 166, + T_AlterExtensionStmt = 167, + T_AlterExtensionContentsStmt = 168, + T_CreateFdwStmt = 169, + T_AlterFdwStmt = 170, + T_CreateForeignServerStmt = 171, + T_AlterForeignServerStmt = 172, + T_CreateForeignTableStmt = 173, + T_CreateUserMappingStmt = 174, + T_AlterUserMappingStmt = 175, + T_DropUserMappingStmt = 176, + T_ImportForeignSchemaStmt = 177, + T_CreatePolicyStmt = 178, + T_AlterPolicyStmt = 179, + T_CreateAmStmt = 180, + T_CreateTrigStmt = 181, + T_CreateEventTrigStmt = 182, + T_AlterEventTrigStmt = 183, + T_CreatePLangStmt = 184, + T_CreateRoleStmt = 185, + T_AlterRoleStmt = 186, + T_AlterRoleSetStmt = 187, + T_DropRoleStmt = 188, + T_CreateSeqStmt = 189, + T_AlterSeqStmt = 190, + T_DefineStmt = 191, + T_CreateDomainStmt = 192, + T_CreateOpClassStmt = 193, + T_CreateOpClassItem = 194, + T_CreateOpFamilyStmt = 195, + T_AlterOpFamilyStmt = 196, + T_DropStmt = 197, + T_TruncateStmt = 198, + T_CommentStmt = 199, + T_SecLabelStmt = 200, + T_DeclareCursorStmt = 201, + T_ClosePortalStmt = 202, + T_FetchStmt = 203, + T_IndexStmt = 204, + T_CreateStatsStmt = 205, + T_StatsElem = 206, + T_AlterStatsStmt = 207, + T_CreateFunctionStmt = 208, + T_FunctionParameter = 209, + T_AlterFunctionStmt = 210, + T_DoStmt = 211, + T_InlineCodeBlock = 212, + T_CallStmt = 213, + T_CallContext = 214, + T_RenameStmt = 215, + T_AlterObjectDependsStmt = 216, + T_AlterObjectSchemaStmt = 217, + T_AlterOwnerStmt = 218, + T_AlterOperatorStmt = 219, + T_AlterTypeStmt = 220, + T_RuleStmt = 221, + T_NotifyStmt = 222, + T_ListenStmt = 223, + T_UnlistenStmt = 224, + T_TransactionStmt = 225, + T_CompositeTypeStmt = 226, + T_CreateEnumStmt = 227, + T_CreateRangeStmt = 228, + T_AlterEnumStmt = 229, + T_ViewStmt = 230, + T_LoadStmt = 231, + T_CreatedbStmt = 232, + T_AlterDatabaseStmt = 233, + T_AlterDatabaseRefreshCollStmt = 234, + T_AlterDatabaseSetStmt = 235, + T_DropdbStmt = 236, + T_AlterSystemStmt = 237, + T_ClusterStmt = 238, + T_VacuumStmt = 239, + T_VacuumRelation = 240, + T_ExplainStmt = 241, + T_CreateTableAsStmt = 242, + T_RefreshMatViewStmt = 243, + T_CheckPointStmt = 244, + T_DiscardStmt = 245, + T_LockStmt = 246, + T_ConstraintsSetStmt = 247, + T_ReindexStmt = 248, + T_CreateConversionStmt = 249, + T_CreateCastStmt = 250, + T_CreateTransformStmt = 251, + T_PrepareStmt = 252, + T_ExecuteStmt = 253, + T_DeallocateStmt = 254, + T_DropOwnedStmt = 255, + T_ReassignOwnedStmt = 256, + T_AlterTSDictionaryStmt = 257, + T_AlterTSConfigurationStmt = 258, + T_PublicationTable = 259, + T_PublicationObjSpec = 260, + T_CreatePublicationStmt = 261, + T_AlterPublicationStmt = 262, + T_CreateSubscriptionStmt = 263, + T_AlterSubscriptionStmt = 264, + T_DropSubscriptionStmt = 265, + T_PlannerGlobal = 266, + T_PlannerInfo = 267, + T_RelOptInfo = 268, + T_IndexOptInfo = 269, + T_ForeignKeyOptInfo = 270, + T_StatisticExtInfo = 271, + T_JoinDomain = 272, + T_EquivalenceClass = 273, + T_EquivalenceMember = 274, + T_PathKey = 275, + T_GroupByOrdering = 276, + T_PathTarget = 277, + T_ParamPathInfo = 278, + T_Path = 279, + T_IndexPath = 280, + T_IndexClause = 281, + T_BitmapHeapPath = 282, + T_BitmapAndPath = 283, + T_BitmapOrPath = 284, + T_TidPath = 285, + T_TidRangePath = 286, + T_SubqueryScanPath = 287, + T_ForeignPath = 288, + T_CustomPath = 289, + T_AppendPath = 290, + T_MergeAppendPath = 291, + T_GroupResultPath = 292, + T_MaterialPath = 293, + T_MemoizePath = 294, + T_UniquePath = 295, + T_GatherPath = 296, + T_GatherMergePath = 297, + T_NestPath = 298, + T_MergePath = 299, + T_HashPath = 300, + T_ProjectionPath = 301, + T_ProjectSetPath = 302, + T_SortPath = 303, + T_IncrementalSortPath = 304, + T_GroupPath = 305, + T_UpperUniquePath = 306, + T_AggPath = 307, + T_GroupingSetData = 308, + T_RollupData = 309, + T_GroupingSetsPath = 310, + T_MinMaxAggPath = 311, + T_WindowAggPath = 312, + T_SetOpPath = 313, + T_RecursiveUnionPath = 314, + T_LockRowsPath = 315, + T_ModifyTablePath = 316, + T_LimitPath = 317, + T_RestrictInfo = 318, + T_PlaceHolderVar = 319, + T_SpecialJoinInfo = 320, + T_OuterJoinClauseInfo = 321, + T_AppendRelInfo = 322, + T_RowIdentityVarInfo = 323, + T_PlaceHolderInfo = 324, + T_MinMaxAggInfo = 325, + T_PlannerParamItem = 326, + T_AggInfo = 327, + T_AggTransInfo = 328, + T_UniqueRelInfo = 329, + T_PlannedStmt = 330, + T_Result = 331, + T_ProjectSet = 332, + T_ModifyTable = 333, + T_Append = 334, + T_MergeAppend = 335, + T_RecursiveUnion = 336, + T_BitmapAnd = 337, + T_BitmapOr = 338, + T_SeqScan = 339, + T_SampleScan = 340, + T_IndexScan = 341, + T_IndexOnlyScan = 342, + T_BitmapIndexScan = 343, + T_BitmapHeapScan = 344, + T_TidScan = 345, + T_TidRangeScan = 346, + T_SubqueryScan = 347, + T_FunctionScan = 348, + T_ValuesScan = 349, + T_TableFuncScan = 350, + T_CteScan = 351, + T_NamedTuplestoreScan = 352, + T_WorkTableScan = 353, + T_ForeignScan = 354, + T_CustomScan = 355, + T_NestLoop = 356, + T_NestLoopParam = 357, + T_MergeJoin = 358, + T_HashJoin = 359, + T_Material = 360, + T_Memoize = 361, + T_Sort = 362, + T_IncrementalSort = 363, + T_Group = 364, + T_Agg = 365, + T_WindowAgg = 366, + T_Unique = 367, + T_Gather = 368, + T_GatherMerge = 369, + T_Hash = 370, + T_SetOp = 371, + T_LockRows = 372, + T_Limit = 373, + T_PlanRowMark = 374, + T_PartitionPruneInfo = 375, + T_PartitionedRelPruneInfo = 376, + T_PartitionPruneStepOp = 377, + T_PartitionPruneStepCombine = 378, + T_PlanInvalItem = 379, + T_ExprState = 380, + T_IndexInfo = 381, + T_ExprContext = 382, + T_ReturnSetInfo = 383, + T_ProjectionInfo = 384, + T_JunkFilter = 385, + T_OnConflictSetState = 386, + T_MergeActionState = 387, + T_ResultRelInfo = 388, + T_EState = 389, + T_WindowFuncExprState = 390, + T_SetExprState = 391, + T_SubPlanState = 392, + T_DomainConstraintState = 393, + T_ResultState = 394, + T_ProjectSetState = 395, + T_ModifyTableState = 396, + T_AppendState = 397, + T_MergeAppendState = 398, + T_RecursiveUnionState = 399, + T_BitmapAndState = 400, + T_BitmapOrState = 401, + T_ScanState = 402, + T_SeqScanState = 403, + T_SampleScanState = 404, + T_IndexScanState = 405, + T_IndexOnlyScanState = 406, + T_BitmapIndexScanState = 407, + T_BitmapHeapScanState = 408, + T_TidScanState = 409, + T_TidRangeScanState = 410, + T_SubqueryScanState = 411, + T_FunctionScanState = 412, + T_ValuesScanState = 413, + T_TableFuncScanState = 414, + T_CteScanState = 415, + T_NamedTuplestoreScanState = 416, + T_WorkTableScanState = 417, + T_ForeignScanState = 418, + T_CustomScanState = 419, + T_JoinState = 420, + T_NestLoopState = 421, + T_MergeJoinState = 422, + T_HashJoinState = 423, + T_MaterialState = 424, + T_MemoizeState = 425, + T_SortState = 426, + T_IncrementalSortState = 427, + T_GroupState = 428, + T_AggState = 429, + T_WindowAggState = 430, + T_UniqueState = 431, + T_GatherState = 432, + T_GatherMergeState = 433, + T_HashState = 434, + T_SetOpState = 435, + T_LockRowsState = 436, + T_LimitState = 437, + T_IndexAmRoutine = 438, + T_TableAmRoutine = 439, + T_TsmRoutine = 440, + T_EventTriggerData = 441, + T_TriggerData = 442, + T_TupleTableSlot = 443, + T_FdwRoutine = 444, + T_Bitmapset = 445, + T_ExtensibleNode = 446, + T_ErrorSaveContext = 447, + T_IdentifySystemCmd = 448, + T_BaseBackupCmd = 449, + T_CreateReplicationSlotCmd = 450, + T_DropReplicationSlotCmd = 451, + T_AlterReplicationSlotCmd = 452, + T_StartReplicationCmd = 453, + T_ReadReplicationSlotCmd = 454, + T_TimeLineHistoryCmd = 455, + T_UploadManifestCmd = 456, + T_SupportRequestSimplify = 457, + T_SupportRequestSelectivity = 458, + T_SupportRequestCost = 459, + T_SupportRequestRows = 460, + T_SupportRequestIndexCondition = 461, + T_SupportRequestWFuncMonotonic = 462, + T_SupportRequestOptimizeWindowClause = 463, + T_SupportRequestModifyInPlace = 464, + T_Integer = 465, + T_Float = 466, + T_Boolean = 467, + T_String = 468, + T_BitString = 469, + T_ForeignKeyCacheInfo = 470, + T_IntList = 471, + T_OidList = 472, + T_XidList = 473, + T_AllocSetContext = 474, + T_GenerationContext = 475, + T_SlabContext = 476, + T_BumpContext = 477, + T_TIDBitmap = 478, + T_WindowObjectData = 479, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Node { + pub type_: NodeTag, +} +impl Default for Node { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ParseLoc = ::core::ffi::c_int; +pub type Selectivity = f64; +pub type Cost = f64; +pub type Cardinality = f64; +pub mod CmdType { + pub type Type = ::core::ffi::c_uint; + pub const CMD_UNKNOWN: Type = 0; + pub const CMD_SELECT: Type = 1; + pub const CMD_UPDATE: Type = 2; + pub const CMD_INSERT: Type = 3; + pub const CMD_DELETE: Type = 4; + pub const CMD_MERGE: Type = 5; + pub const CMD_UTILITY: Type = 6; + pub const CMD_NOTHING: Type = 7; +} +pub mod JoinType { + pub type Type = ::core::ffi::c_uint; + pub const JOIN_INNER: Type = 0; + pub const JOIN_LEFT: Type = 1; + pub const JOIN_FULL: Type = 2; + pub const JOIN_RIGHT: Type = 3; + pub const JOIN_SEMI: Type = 4; + pub const JOIN_ANTI: Type = 5; + pub const JOIN_RIGHT_SEMI: Type = 6; + pub const JOIN_RIGHT_ANTI: Type = 7; + pub const JOIN_UNIQUE_OUTER: Type = 8; + pub const JOIN_UNIQUE_INNER: Type = 9; +} +pub mod AggStrategy { + pub type Type = ::core::ffi::c_uint; + pub const AGG_PLAIN: Type = 0; + pub const AGG_SORTED: Type = 1; + pub const AGG_HASHED: Type = 2; + pub const AGG_MIXED: Type = 3; +} +pub mod AggSplit { + pub type Type = ::core::ffi::c_uint; + pub const AGGSPLIT_SIMPLE: Type = 0; + pub const AGGSPLIT_INITIAL_SERIAL: Type = 6; + pub const AGGSPLIT_FINAL_DESERIAL: Type = 9; +} +pub mod SetOpCmd { + pub type Type = ::core::ffi::c_uint; + pub const SETOPCMD_INTERSECT: Type = 0; + pub const SETOPCMD_INTERSECT_ALL: Type = 1; + pub const SETOPCMD_EXCEPT: Type = 2; + pub const SETOPCMD_EXCEPT_ALL: Type = 3; +} +pub mod SetOpStrategy { + pub type Type = ::core::ffi::c_uint; + pub const SETOP_SORTED: Type = 0; + pub const SETOP_HASHED: Type = 1; +} +pub mod OnConflictAction { + pub type Type = ::core::ffi::c_uint; + pub const ONCONFLICT_NONE: Type = 0; + pub const ONCONFLICT_NOTHING: Type = 1; + pub const ONCONFLICT_UPDATE: Type = 2; +} +pub mod LimitOption { + pub type Type = ::core::ffi::c_uint; + pub const LIMIT_OPTION_COUNT: Type = 0; + pub const LIMIT_OPTION_WITH_TIES: Type = 1; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ListCell { + pub ptr_value: *mut ::core::ffi::c_void, + pub int_value: ::core::ffi::c_int, + pub oid_value: Oid, + pub xid_value: TransactionId, +} +impl Default for ListCell { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +pub struct List { + pub type_: NodeTag, + pub length: ::core::ffi::c_int, + pub max_length: ::core::ffi::c_int, + pub elements: *mut ListCell, + pub initial_elements: __IncompleteArrayField, +} +impl Default for List { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, +} +impl Default for ForEachState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, +} +impl Default for ForBothState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub i2: ::core::ffi::c_int, +} +impl Default for ForBothCellState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, +} +impl Default for ForThreeState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, +} +impl Default for ForFourState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, +} +impl Default for ForFiveState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type list_sort_comparator = ::core::option::Option< + unsafe extern "C-unwind" fn(a: *const ListCell, b: *const ListCell) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AttrDefault { + pub adnum: AttrNumber, + pub adbin: *mut ::core::ffi::c_char, +} +impl Default for AttrDefault { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ConstrCheck { + pub ccname: *mut ::core::ffi::c_char, + pub ccbin: *mut ::core::ffi::c_char, + pub ccenforced: bool, + pub ccvalid: bool, + pub ccnoinherit: bool, +} +impl Default for ConstrCheck { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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, + pub has_generated_virtual: bool, +} +impl Default for TupleConstr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct CompactAttribute { + pub attcacheoff: int32, + pub attlen: int16, + pub attbyval: bool, + pub attispackable: bool, + pub atthasmissing: bool, + pub attisdropped: bool, + pub attgenerated: bool, + pub attnullability: ::core::ffi::c_char, + pub attalignby: uint8, +} +#[repr(C)] +#[derive(Debug)] +pub struct TupleDescData { + pub natts: ::core::ffi::c_int, + pub tdtypeid: Oid, + pub tdtypmod: int32, + pub tdrefcount: ::core::ffi::c_int, + pub constr: *mut TupleConstr, + pub compact_attrs: __IncompleteArrayField, +} +impl Default for TupleDescData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, +} +impl Default for AttrMap { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 15u8) as u32) } + } + #[inline] + pub fn set_lp_off(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 15u8, val as u64) + } + } + #[inline] + pub unsafe fn lp_off_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 15u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_lp_off_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 15u8, + val as u64, + ) + } + } + #[inline] + pub fn lp_flags(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 2u8) as u32) } + } + #[inline] + pub fn set_lp_flags(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn lp_flags_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 15usize, + 2u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_lp_flags_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 15usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn lp_len(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 15u8) as u32) } + } + #[inline] + pub fn set_lp_len(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(17usize, 15u8, val as u64) + } + } + #[inline] + pub unsafe fn lp_len_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 17usize, + 15u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_lp_len_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 17usize, + 15u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + lp_off: ::core::ffi::c_uint, + lp_flags: ::core::ffi::c_uint, + lp_len: ::core::ffi::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 { ::core::mem::transmute(lp_off) }; + lp_off as u64 + }); + __bindgen_bitfield_unit.set(15usize, 2u8, { + let lp_flags: u32 = unsafe { ::core::mem::transmute(lp_flags) }; + lp_flags as u64 + }); + __bindgen_bitfield_unit.set(17usize, 15u8, { + let lp_len: u32 = unsafe { ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type HeapTuple = *mut HeapTupleData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { + pub iov_base: *mut ::core::ffi::c_void, + pub iov_len: usize, +} +impl Default for iovec { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +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 TransamVariablesData { + 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 TransamVariablesData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Item = Pointer; +pub type PageData = ::core::ffi::c_char; +pub type Page = *mut PageData; +pub type LocationIndex = uint16; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PageXLogRecPtr { + pub xlogid: uint32, + pub xrecoff: uint32, +} +#[repr(C)] +#[derive(Debug)] +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, +} +impl Default for PageHeaderData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type PageHeader = *mut PageHeaderData; +#[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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod vartag_external { + pub type Type = ::core::ffi::c_uint; + pub const VARTAG_INDIRECT: Type = 1; + pub const VARTAG_EXPANDED_RO: Type = 2; + pub const VARTAG_EXPANDED_RW: Type = 3; + pub const VARTAG_ONDISK: Type = 18; +} +#[repr(C)] +pub union varattrib_4b { + pub va_4byte: ::core::mem::ManuallyDrop, + pub va_compressed: ::core::mem::ManuallyDrop, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct varattrib_4b__bindgen_ty_1 { + pub va_header: uint32, + pub va_data: __IncompleteArrayField<::core::ffi::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<::core::ffi::c_char>, +} +impl Default for varattrib_4b { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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<::core::ffi::c_char>, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct varattrib_1b_e { + pub va_header: uint8, + pub va_tag: uint8, + pub va_data: __IncompleteArrayField<::core::ffi::c_char>, +} +#[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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for HeapTupleFields { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for HeapTupleHeaderData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: [::core::ffi::c_char; 6usize], + pub t_infomask2: uint16, + pub t_infomask: uint16, + pub t_hoff: uint8, + pub t_bits: __IncompleteArrayField, +} +pub type Buffer = ::core::ffi::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::option::Option, + pub release: ::core::option::Option, + pub clear: ::core::option::Option, + pub getsomeattrs: ::core::option::Option< + unsafe extern "C-unwind" fn(slot: *mut TupleTableSlot, natts: ::core::ffi::c_int), + >, + pub getsysattr: ::core::option::Option< + unsafe extern "C-unwind" fn( + slot: *mut TupleTableSlot, + attnum: ::core::ffi::c_int, + isnull: *mut bool, + ) -> Datum, + >, + pub is_current_xact_tuple: + ::core::option::Option bool>, + pub materialize: ::core::option::Option, + pub copyslot: ::core::option::Option< + unsafe extern "C-unwind" fn(dstslot: *mut TupleTableSlot, srcslot: *mut TupleTableSlot), + >, + pub get_heap_tuple: + ::core::option::Option HeapTuple>, + pub get_minimal_tuple: ::core::option::Option< + unsafe extern "C-unwind" fn(slot: *mut TupleTableSlot) -> MinimalTuple, + >, + pub copy_heap_tuple: + ::core::option::Option HeapTuple>, + pub copy_minimal_tuple: ::core::option::Option< + unsafe extern "C-unwind" fn(slot: *mut TupleTableSlot, extra: Size) -> MinimalTuple, + >, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct VirtualTupleTableSlot { + pub base: TupleTableSlot, + pub data: *mut ::core::ffi::c_char, +} +impl Default for VirtualTupleTableSlot { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type bitmapword = uint64; +pub type signedbitmapword = int64; +#[repr(C)] +#[derive(Debug)] +pub struct Bitmapset { + pub type_: NodeTag, + pub nwords: ::core::ffi::c_int, + pub words: __IncompleteArrayField, +} +impl Default for Bitmapset { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod BMS_Comparison { + pub type Type = ::core::ffi::c_uint; + pub const BMS_EQUAL: Type = 0; + pub const BMS_SUBSET1: Type = 1; + pub const BMS_SUBSET2: Type = 2; + pub const BMS_DIFFERENT: Type = 3; +} +pub mod BMS_Membership { + pub type Type = ::core::ffi::c_uint; + pub const BMS_EMPTY_SET: Type = 0; + pub const BMS_SINGLETON: Type = 1; + pub const BMS_MULTIPLE: Type = 2; +} +#[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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct instr_time { + pub ticks: int64, +} +#[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 shared_blk_read_time: instr_time, + pub shared_blk_write_time: instr_time, + pub local_blk_read_time: instr_time, + pub local_blk_write_time: instr_time, + pub temp_blk_read_time: instr_time, + pub temp_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 wal_buffers_full: int64, +} +pub mod InstrumentOption { + pub type Type = ::core::ffi::c_uint; + pub const INSTRUMENT_TIMER: Type = 1; + pub const INSTRUMENT_BUFFERS: Type = 2; + pub const INSTRUMENT_ROWS: Type = 4; + pub const INSTRUMENT_WAL: Type = 8; + pub const INSTRUMENT_ALL: Type = 2147483647; +} +#[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: ::core::ffi::c_int, + pub instrument: __IncompleteArrayField, +} +pub type fmNodePtr = *mut Node; +pub type fmAggrefPtr = *mut Aggref; +pub type fmExprContextCallbackFunction = + ::core::option::Option; +pub type fmStringInfo = *mut StringInfoData; +pub type FunctionCallInfo = *mut FunctionCallInfoBaseData; +pub type PGFunction = + ::core::option::Option Datum>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FmgrInfo { + pub fn_addr: PGFunction, + pub fn_oid: Oid, + pub fn_nargs: ::core::ffi::c_short, + pub fn_strict: bool, + pub fn_retset: bool, + pub fn_stats: ::core::ffi::c_uchar, + pub fn_extra: *mut ::core::ffi::c_void, + pub fn_mcxt: MemoryContext, + pub fn_expr: fmNodePtr, +} +impl Default for FmgrInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_short, + pub args: __IncompleteArrayField, +} +impl Default for FunctionCallInfoBaseData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, +} +pub type PGFInfoFunction = + ::core::option::Option *const Pg_finfo_record>; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct Pg_abi_values { + pub version: ::core::ffi::c_int, + pub funcmaxargs: ::core::ffi::c_int, + pub indexmaxkeys: ::core::ffi::c_int, + pub namedatalen: ::core::ffi::c_int, + pub float8byval: ::core::ffi::c_int, + pub abi_extra: [::core::ffi::c_char; 32usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Pg_magic_struct { + pub len: ::core::ffi::c_int, + pub abi_fields: Pg_abi_values, + pub name: *const ::core::ffi::c_char, + pub version: *const ::core::ffi::c_char, +} +impl Default for Pg_magic_struct { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type PGModuleMagicFunction = + ::core::option::Option *const Pg_magic_struct>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DynamicFileList { + _unused: [u8; 0], +} +pub mod FmgrHookEventType { + pub type Type = ::core::ffi::c_uint; + pub const FHET_START: Type = 0; + pub const FHET_END: Type = 1; + pub const FHET_ABORT: Type = 2; +} +pub type needs_fmgr_hook_type = + ::core::option::Option bool>; +pub type fmgr_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + event: FmgrHookEventType::Type, + 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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dclist_head { + pub dlist: dlist_head, + pub count: uint32, +} +impl Default for dclist_head { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type pairingheap_comparator = ::core::option::Option< + unsafe extern "C-unwind" fn( + a: *const pairingheap_node, + b: *const pairingheap_node, + arg: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pairingheap { + pub ph_compare: pairingheap_comparator, + pub ph_arg: *mut ::core::ffi::c_void, + pub ph_root: *mut pairingheap_node, +} +impl Default for pairingheap { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ErrorSaveContext { + pub type_: NodeTag, + pub error_occurred: bool, + pub details_wanted: bool, + pub error_data: *mut ErrorData, +} +impl Default for ErrorSaveContext { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ParamListInfo = *mut ParamListInfoData; +pub type ParamFetchHook = ::core::option::Option< + unsafe extern "C-unwind" fn( + params: ParamListInfo, + paramid: ::core::ffi::c_int, + speculative: bool, + workspace: *mut ParamExternData, + ) -> *mut ParamExternData, +>; +pub type ParamCompileHook = ::core::option::Option< + unsafe extern "C-unwind" fn( + params: ParamListInfo, + param: *mut Param, + state: *mut ExprState, + resv: *mut Datum, + resnull: *mut bool, + ), +>; +pub type ParserSetupHook = ::core::option::Option< + unsafe extern "C-unwind" fn(pstate: *mut ParseState, arg: *mut ::core::ffi::c_void), +>; +#[repr(C)] +#[derive(Debug)] +pub struct ParamListInfoData { + pub paramFetch: ParamFetchHook, + pub paramFetchArg: *mut ::core::ffi::c_void, + pub paramCompile: ParamCompileHook, + pub paramCompileArg: *mut ::core::ffi::c_void, + pub parserSetup: ParserSetupHook, + pub parserSetupArg: *mut ::core::ffi::c_void, + pub paramValuesStr: *mut ::core::ffi::c_char, + pub numParams: ::core::ffi::c_int, + pub params: __IncompleteArrayField, +} +impl Default for ParamListInfoData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParamExecData { + pub execPlan: *mut ::core::ffi::c_void, + pub value: Datum, + pub isnull: bool, +} +impl Default for ParamExecData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParamsErrorCbData { + pub portalName: *const ::core::ffi::c_char, + pub params: ParamListInfo, +} +impl Default for ParamsErrorCbData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ScanDirection { + pub type Type = ::core::ffi::c_int; + pub const BackwardScanDirection: Type = -1; + pub const NoMovementScanDirection: Type = 0; + pub const ForwardScanDirection: Type = 1; +} +pub type StrategyNumber = uint16; +pub type RelFileNumber = Oid; +pub mod ForkNumber { + pub type Type = ::core::ffi::c_int; + pub const InvalidForkNumber: Type = -1; + pub const MAIN_FORKNUM: Type = 0; + pub const FSM_FORKNUM: Type = 1; + pub const VISIBILITYMAP_FORKNUM: Type = 2; + pub const INIT_FORKNUM: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RelPathStr { + pub str_: [::core::ffi::c_char; 72usize], +} +impl Default for RelPathStr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod LockClauseStrength { + pub type Type = ::core::ffi::c_uint; + pub const LCS_NONE: Type = 0; + pub const LCS_FORKEYSHARE: Type = 1; + pub const LCS_FORSHARE: Type = 2; + pub const LCS_FORNOKEYUPDATE: Type = 3; + pub const LCS_FORUPDATE: Type = 4; +} +pub mod LockWaitPolicy { + pub type Type = ::core::ffi::c_uint; + pub const LockWaitBlock: Type = 0; + pub const LockWaitSkip: Type = 1; + pub const LockWaitError: Type = 2; +} +pub mod LockTupleMode { + pub type Type = ::core::ffi::c_uint; + pub const LockTupleKeyShare: Type = 0; + pub const LockTupleShare: Type = 1; + pub const LockTupleNoKeyExclusive: Type = 2; + pub const LockTupleExclusive: Type = 3; +} +pub mod CompareType { + pub type Type = ::core::ffi::c_uint; + pub const COMPARE_INVALID: Type = 0; + pub const COMPARE_LT: Type = 1; + pub const COMPARE_LE: Type = 2; + pub const COMPARE_EQ: Type = 3; + pub const COMPARE_GE: Type = 4; + pub const COMPARE_GT: Type = 5; + pub const COMPARE_NE: Type = 6; + pub const COMPARE_OVERLAP: Type = 7; + pub const COMPARE_CONTAINED_BY: Type = 8; +} +pub mod OverridingKind { + pub type Type = ::core::ffi::c_uint; + pub const OVERRIDING_NOT_SET: Type = 0; + pub const OVERRIDING_USER_VALUE: Type = 1; + pub const OVERRIDING_SYSTEM_VALUE: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Alias { + pub type_: NodeTag, + pub aliasname: *mut ::core::ffi::c_char, + pub colnames: *mut List, +} +impl Default for Alias { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod OnCommitAction { + pub type Type = ::core::ffi::c_uint; + pub const ONCOMMIT_NOOP: Type = 0; + pub const ONCOMMIT_PRESERVE_ROWS: Type = 1; + pub const ONCOMMIT_DELETE_ROWS: Type = 2; + pub const ONCOMMIT_DROP: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RangeVar { + pub type_: NodeTag, + pub catalogname: *mut ::core::ffi::c_char, + pub schemaname: *mut ::core::ffi::c_char, + pub relname: *mut ::core::ffi::c_char, + pub inh: bool, + pub relpersistence: ::core::ffi::c_char, + pub alias: *mut Alias, + pub location: ParseLoc, +} +impl Default for RangeVar { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod TableFuncType { + pub type Type = ::core::ffi::c_uint; + pub const TFT_XMLTABLE: Type = 0; + pub const TFT_JSON_TABLE: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TableFunc { + pub type_: NodeTag, + pub functype: TableFuncType::Type, + 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 colvalexprs: *mut List, + pub passingvalexprs: *mut List, + pub notnulls: *mut Bitmapset, + pub plan: *mut Node, + pub ordinalitycol: ::core::ffi::c_int, + pub location: ParseLoc, +} +impl Default for TableFunc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 ::core::ffi::c_char, + pub options: *mut List, + pub onCommit: OnCommitAction::Type, + pub tableSpaceName: *mut ::core::ffi::c_char, + pub viewQuery: *mut Query, + pub skipData: bool, +} +impl Default for IntoClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod VarReturningType { + pub type Type = ::core::ffi::c_uint; + pub const VAR_RETURNING_DEFAULT: Type = 0; + pub const VAR_RETURNING_OLD: Type = 1; + pub const VAR_RETURNING_NEW: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Var { + pub xpr: Expr, + pub varno: ::core::ffi::c_int, + pub varattno: AttrNumber, + pub vartype: Oid, + pub vartypmod: int32, + pub varcollid: Oid, + pub varnullingrels: *mut Bitmapset, + pub varlevelsup: Index, + pub varreturningtype: VarReturningType::Type, + pub varnosyn: Index, + pub varattnosyn: AttrNumber, + pub location: ParseLoc, +} +impl Default for Var { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub constvalue: Datum, + pub constisnull: bool, + pub constbyval: bool, + pub location: ParseLoc, +} +impl Default for Const { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ParamKind { + pub type Type = ::core::ffi::c_uint; + pub const PARAM_EXTERN: Type = 0; + pub const PARAM_EXEC: Type = 1; + pub const PARAM_SUBLINK: Type = 2; + pub const PARAM_MULTIEXPR: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Param { + pub xpr: Expr, + pub paramkind: ParamKind::Type, + pub paramid: ::core::ffi::c_int, + pub paramtype: Oid, + pub paramtypmod: int32, + pub paramcollid: Oid, + pub location: ParseLoc, +} +impl Default for Param { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_char, + pub aggpresorted: bool, + pub agglevelsup: Index, + pub aggsplit: AggSplit::Type, + pub aggno: ::core::ffi::c_int, + pub aggtransno: ::core::ffi::c_int, + pub location: ParseLoc, +} +impl Default for Aggref { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ParseLoc, +} +impl Default for GroupingFunc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 runCondition: *mut List, + pub winref: Index, + pub winstar: bool, + pub winagg: bool, + pub location: ParseLoc, +} +impl Default for WindowFunc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WindowFuncRunCondition { + pub xpr: Expr, + pub opno: Oid, + pub inputcollid: Oid, + pub wfunc_left: bool, + pub arg: *mut Expr, +} +impl Default for WindowFuncRunCondition { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MergeSupportFunc { + pub xpr: Expr, + pub msftype: Oid, + pub msfcollid: Oid, + pub location: ParseLoc, +} +impl Default for MergeSupportFunc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod CoercionContext { + pub type Type = ::core::ffi::c_uint; + pub const COERCION_IMPLICIT: Type = 0; + pub const COERCION_ASSIGNMENT: Type = 1; + pub const COERCION_PLPGSQL: Type = 2; + pub const COERCION_EXPLICIT: Type = 3; +} +pub mod CoercionForm { + pub type Type = ::core::ffi::c_uint; + pub const COERCE_EXPLICIT_CALL: Type = 0; + pub const COERCE_EXPLICIT_CAST: Type = 1; + pub const COERCE_IMPLICIT_CAST: Type = 2; + pub const COERCE_SQL_SYNTAX: Type = 3; +} +#[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::Type, + pub funccollid: Oid, + pub inputcollid: Oid, + pub args: *mut List, + pub location: ParseLoc, +} +impl Default for FuncExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 ::core::ffi::c_char, + pub argnumber: ::core::ffi::c_int, + pub location: ParseLoc, +} +impl Default for NamedArgExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ParseLoc, +} +impl Default for OpExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 negfuncid: Oid, + pub useOr: bool, + pub inputcollid: Oid, + pub args: *mut List, + pub location: ParseLoc, +} +impl Default for ScalarArrayOpExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod BoolExprType { + pub type Type = ::core::ffi::c_uint; + pub const AND_EXPR: Type = 0; + pub const OR_EXPR: Type = 1; + pub const NOT_EXPR: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BoolExpr { + pub xpr: Expr, + pub boolop: BoolExprType::Type, + pub args: *mut List, + pub location: ParseLoc, +} +impl Default for BoolExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod SubLinkType { + pub type Type = ::core::ffi::c_uint; + pub const EXISTS_SUBLINK: Type = 0; + pub const ALL_SUBLINK: Type = 1; + pub const ANY_SUBLINK: Type = 2; + pub const ROWCOMPARE_SUBLINK: Type = 3; + pub const EXPR_SUBLINK: Type = 4; + pub const MULTIEXPR_SUBLINK: Type = 5; + pub const ARRAY_SUBLINK: Type = 6; + pub const CTE_SUBLINK: Type = 7; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SubLink { + pub xpr: Expr, + pub subLinkType: SubLinkType::Type, + pub subLinkId: ::core::ffi::c_int, + pub testexpr: *mut Node, + pub operName: *mut List, + pub subselect: *mut Node, + pub location: ParseLoc, +} +impl Default for SubLink { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub testexpr: *mut Node, + pub paramIds: *mut List, + pub plan_id: ::core::ffi::c_int, + pub plan_name: *mut ::core::ffi::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub location: ParseLoc, +} +impl Default for RelabelType { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub location: ParseLoc, +} +impl Default for CoerceViaIO { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub location: ParseLoc, +} +impl Default for ArrayCoerceExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub location: ParseLoc, +} +impl Default for ConvertRowtypeExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ParseLoc, +} +impl Default for CollateExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ParseLoc, +} +impl Default for CaseExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ParseLoc, +} +impl Default for CaseWhen { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ParseLoc, +} +impl Default for ArrayExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub colnames: *mut List, + pub location: ParseLoc, +} +impl Default for RowExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RowCompareExpr { + pub xpr: Expr, + pub cmptype: CompareType::Type, + 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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ParseLoc, +} +impl Default for CoalesceExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod MinMaxOp { + pub type Type = ::core::ffi::c_uint; + pub const IS_GREATEST: Type = 0; + pub const IS_LEAST: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MinMaxExpr { + pub xpr: Expr, + pub minmaxtype: Oid, + pub minmaxcollid: Oid, + pub inputcollid: Oid, + pub op: MinMaxOp::Type, + pub args: *mut List, + pub location: ParseLoc, +} +impl Default for MinMaxExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod SQLValueFunctionOp { + pub type Type = ::core::ffi::c_uint; + pub const SVFOP_CURRENT_DATE: Type = 0; + pub const SVFOP_CURRENT_TIME: Type = 1; + pub const SVFOP_CURRENT_TIME_N: Type = 2; + pub const SVFOP_CURRENT_TIMESTAMP: Type = 3; + pub const SVFOP_CURRENT_TIMESTAMP_N: Type = 4; + pub const SVFOP_LOCALTIME: Type = 5; + pub const SVFOP_LOCALTIME_N: Type = 6; + pub const SVFOP_LOCALTIMESTAMP: Type = 7; + pub const SVFOP_LOCALTIMESTAMP_N: Type = 8; + pub const SVFOP_CURRENT_ROLE: Type = 9; + pub const SVFOP_CURRENT_USER: Type = 10; + pub const SVFOP_USER: Type = 11; + pub const SVFOP_SESSION_USER: Type = 12; + pub const SVFOP_CURRENT_CATALOG: Type = 13; + pub const SVFOP_CURRENT_SCHEMA: Type = 14; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SQLValueFunction { + pub xpr: Expr, + pub op: SQLValueFunctionOp::Type, + pub type_: Oid, + pub typmod: int32, + pub location: ParseLoc, +} +impl Default for SQLValueFunction { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod XmlExprOp { + pub type Type = ::core::ffi::c_uint; + pub const IS_XMLCONCAT: Type = 0; + pub const IS_XMLELEMENT: Type = 1; + pub const IS_XMLFOREST: Type = 2; + pub const IS_XMLPARSE: Type = 3; + pub const IS_XMLPI: Type = 4; + pub const IS_XMLROOT: Type = 5; + pub const IS_XMLSERIALIZE: Type = 6; + pub const IS_DOCUMENT: Type = 7; +} +pub mod XmlOptionType { + pub type Type = ::core::ffi::c_uint; + pub const XMLOPTION_DOCUMENT: Type = 0; + pub const XMLOPTION_CONTENT: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XmlExpr { + pub xpr: Expr, + pub op: XmlExprOp::Type, + pub name: *mut ::core::ffi::c_char, + pub named_args: *mut List, + pub arg_names: *mut List, + pub args: *mut List, + pub xmloption: XmlOptionType::Type, + pub indent: bool, + pub type_: Oid, + pub typmod: int32, + pub location: ParseLoc, +} +impl Default for XmlExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod JsonEncoding { + pub type Type = ::core::ffi::c_uint; + pub const JS_ENC_DEFAULT: Type = 0; + pub const JS_ENC_UTF8: Type = 1; + pub const JS_ENC_UTF16: Type = 2; + pub const JS_ENC_UTF32: Type = 3; +} +pub mod JsonFormatType { + pub type Type = ::core::ffi::c_uint; + pub const JS_FORMAT_DEFAULT: Type = 0; + pub const JS_FORMAT_JSON: Type = 1; + pub const JS_FORMAT_JSONB: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonFormat { + pub type_: NodeTag, + pub format_type: JsonFormatType::Type, + pub encoding: JsonEncoding::Type, + pub location: ParseLoc, +} +impl Default for JsonFormat { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonReturning { + pub type_: NodeTag, + pub format: *mut JsonFormat, + pub typid: Oid, + pub typmod: int32, +} +impl Default for JsonReturning { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonValueExpr { + pub type_: NodeTag, + pub raw_expr: *mut Expr, + pub formatted_expr: *mut Expr, + pub format: *mut JsonFormat, +} +impl Default for JsonValueExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod JsonConstructorType { + pub type Type = ::core::ffi::c_uint; + pub const JSCTOR_JSON_OBJECT: Type = 1; + pub const JSCTOR_JSON_ARRAY: Type = 2; + pub const JSCTOR_JSON_OBJECTAGG: Type = 3; + pub const JSCTOR_JSON_ARRAYAGG: Type = 4; + pub const JSCTOR_JSON_PARSE: Type = 5; + pub const JSCTOR_JSON_SCALAR: Type = 6; + pub const JSCTOR_JSON_SERIALIZE: Type = 7; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonConstructorExpr { + pub xpr: Expr, + pub type_: JsonConstructorType::Type, + pub args: *mut List, + pub func: *mut Expr, + pub coercion: *mut Expr, + pub returning: *mut JsonReturning, + pub absent_on_null: bool, + pub unique: bool, + pub location: ParseLoc, +} +impl Default for JsonConstructorExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod JsonValueType { + pub type Type = ::core::ffi::c_uint; + pub const JS_TYPE_ANY: Type = 0; + pub const JS_TYPE_OBJECT: Type = 1; + pub const JS_TYPE_ARRAY: Type = 2; + pub const JS_TYPE_SCALAR: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonIsPredicate { + pub type_: NodeTag, + pub expr: *mut Node, + pub format: *mut JsonFormat, + pub item_type: JsonValueType::Type, + pub unique_keys: bool, + pub location: ParseLoc, +} +impl Default for JsonIsPredicate { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod JsonWrapper { + pub type Type = ::core::ffi::c_uint; + pub const JSW_UNSPEC: Type = 0; + pub const JSW_NONE: Type = 1; + pub const JSW_CONDITIONAL: Type = 2; + pub const JSW_UNCONDITIONAL: Type = 3; +} +pub mod JsonBehaviorType { + pub type Type = ::core::ffi::c_uint; + pub const JSON_BEHAVIOR_NULL: Type = 0; + pub const JSON_BEHAVIOR_ERROR: Type = 1; + pub const JSON_BEHAVIOR_EMPTY: Type = 2; + pub const JSON_BEHAVIOR_TRUE: Type = 3; + pub const JSON_BEHAVIOR_FALSE: Type = 4; + pub const JSON_BEHAVIOR_UNKNOWN: Type = 5; + pub const JSON_BEHAVIOR_EMPTY_ARRAY: Type = 6; + pub const JSON_BEHAVIOR_EMPTY_OBJECT: Type = 7; + pub const JSON_BEHAVIOR_DEFAULT: Type = 8; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonBehavior { + pub type_: NodeTag, + pub btype: JsonBehaviorType::Type, + pub expr: *mut Node, + pub coerce: bool, + pub location: ParseLoc, +} +impl Default for JsonBehavior { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod JsonExprOp { + pub type Type = ::core::ffi::c_uint; + pub const JSON_EXISTS_OP: Type = 0; + pub const JSON_QUERY_OP: Type = 1; + pub const JSON_VALUE_OP: Type = 2; + pub const JSON_TABLE_OP: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonExpr { + pub xpr: Expr, + pub op: JsonExprOp::Type, + pub column_name: *mut ::core::ffi::c_char, + pub formatted_expr: *mut Node, + pub format: *mut JsonFormat, + pub path_spec: *mut Node, + pub returning: *mut JsonReturning, + pub passing_names: *mut List, + pub passing_values: *mut List, + pub on_empty: *mut JsonBehavior, + pub on_error: *mut JsonBehavior, + pub use_io_coercion: bool, + pub use_json_coercion: bool, + pub wrapper: JsonWrapper::Type, + pub omit_quotes: bool, + pub collation: Oid, + pub location: ParseLoc, +} +impl Default for JsonExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonTablePath { + pub type_: NodeTag, + pub value: *mut Const, + pub name: *mut ::core::ffi::c_char, +} +impl Default for JsonTablePath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonTablePlan { + pub type_: NodeTag, +} +impl Default for JsonTablePlan { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonTablePathScan { + pub plan: JsonTablePlan, + pub path: *mut JsonTablePath, + pub errorOnError: bool, + pub child: *mut JsonTablePlan, + pub colMin: ::core::ffi::c_int, + pub colMax: ::core::ffi::c_int, +} +impl Default for JsonTablePathScan { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonTableSiblingJoin { + pub plan: JsonTablePlan, + pub lplan: *mut JsonTablePlan, + pub rplan: *mut JsonTablePlan, +} +impl Default for JsonTableSiblingJoin { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod NullTestType { + pub type Type = ::core::ffi::c_uint; + pub const IS_NULL: Type = 0; + pub const IS_NOT_NULL: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NullTest { + pub xpr: Expr, + pub arg: *mut Expr, + pub nulltesttype: NullTestType::Type, + pub argisrow: bool, + pub location: ParseLoc, +} +impl Default for NullTest { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod BoolTestType { + pub type Type = ::core::ffi::c_uint; + pub const IS_TRUE: Type = 0; + pub const IS_NOT_TRUE: Type = 1; + pub const IS_FALSE: Type = 2; + pub const IS_NOT_FALSE: Type = 3; + pub const IS_UNKNOWN: Type = 4; + pub const IS_NOT_UNKNOWN: Type = 5; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BooleanTest { + pub xpr: Expr, + pub arg: *mut Expr, + pub booltesttype: BoolTestType::Type, + pub location: ParseLoc, +} +impl Default for BooleanTest { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod MergeMatchKind { + pub type Type = ::core::ffi::c_uint; + pub const MERGE_WHEN_MATCHED: Type = 0; + pub const MERGE_WHEN_NOT_MATCHED_BY_SOURCE: Type = 1; + pub const MERGE_WHEN_NOT_MATCHED_BY_TARGET: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MergeAction { + pub type_: NodeTag, + pub matchKind: MergeMatchKind::Type, + pub commandType: CmdType::Type, + pub override_: OverridingKind::Type, + pub qual: *mut Node, + pub targetList: *mut List, + pub updateColnos: *mut List, +} +impl Default for MergeAction { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub location: ParseLoc, +} +impl Default for CoerceToDomain { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ParseLoc, +} +impl Default for CoerceToDomainValue { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ParseLoc, +} +impl Default for SetToDefault { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 ::core::ffi::c_char, + pub cursor_param: ::core::ffi::c_int, +} +impl Default for CurrentOfExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReturningExpr { + pub xpr: Expr, + pub retlevelsup: ::core::ffi::c_int, + pub retold: bool, + pub retexpr: *mut Expr, +} +impl Default for ReturningExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 ::core::ffi::c_char, + pub ressortgroupref: Index, + pub resorigtbl: Oid, + pub resorigcol: AttrNumber, + pub resjunk: bool, +} +impl Default for TargetEntry { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, +} +impl Default for RangeTblRef { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + 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: ::core::ffi::c_int, +} +impl Default for JoinExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub arbiterElems: *mut List, + pub arbiterWhere: *mut Node, + pub constraint: Oid, + pub onConflictSet: *mut List, + pub onConflictWhere: *mut Node, + pub exclRelIndex: ::core::ffi::c_int, + pub exclRelTlist: *mut List, +} +impl Default for OnConflictExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub queryId: uint64, + pub planId: uint64, + pub hasReturning: bool, + pub hasModifyingCTE: bool, + pub canSetTag: bool, + pub transientPlan: bool, + pub dependsOnRole: bool, + pub parallelModeNeeded: bool, + pub jitFlags: ::core::ffi::c_int, + pub planTree: *mut Plan, + pub partPruneInfos: *mut List, + pub rtable: *mut List, + pub unprunableRelids: *mut Bitmapset, + pub permInfos: *mut List, + pub resultRelations: *mut List, + pub firstResultRels: *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: ParseLoc, + pub stmt_len: ParseLoc, +} +impl Default for PlannedStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 disabled_nodes: ::core::ffi::c_int, + pub startup_cost: Cost, + pub total_cost: Cost, + pub plan_rows: Cardinality, + pub plan_width: ::core::ffi::c_int, + pub parallel_aware: bool, + pub parallel_safe: bool, + pub async_capable: bool, + pub plan_node_id: ::core::ffi::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + 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 returningOldAlias: *mut ::core::ffi::c_char, + pub returningNewAlias: *mut ::core::ffi::c_char, + pub returningLists: *mut List, + pub fdwPrivLists: *mut List, + pub fdwDirectModifyPlans: *mut Bitmapset, + pub rowMarks: *mut List, + pub epqParam: ::core::ffi::c_int, + pub onConflictAction: OnConflictAction::Type, + pub arbiterIndexes: *mut List, + pub onConflictSet: *mut List, + pub onConflictCols: *mut List, + pub onConflictWhere: *mut Node, + pub exclRelRTI: Index, + pub exclRelTlist: *mut List, + pub mergeActionLists: *mut List, + pub mergeJoinConditions: *mut List, +} +impl Default for ModifyTable { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub first_partial_plan: ::core::ffi::c_int, + pub part_prune_index: ::core::ffi::c_int, +} +impl Default for Append { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub sortColIdx: *mut AttrNumber, + pub sortOperators: *mut Oid, + pub collations: *mut Oid, + pub nullsFirst: *mut bool, + pub part_prune_index: ::core::ffi::c_int, +} +impl Default for MergeAppend { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub numCols: ::core::ffi::c_int, + pub dupColIdx: *mut AttrNumber, + pub dupOperators: *mut Oid, + pub dupCollations: *mut Oid, + pub numGroups: ::core::ffi::c_long, +} +impl Default for RecursiveUnion { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SeqScan { + pub scan: Scan, +} +impl Default for SeqScan { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, +} +impl Default for IndexScan { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 recheckqual: *mut List, + pub indexorderby: *mut List, + pub indextlist: *mut List, + pub indexorderdir: ScanDirection::Type, +} +impl Default for IndexOnlyScan { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod SubqueryScanStatus { + pub type Type = ::core::ffi::c_uint; + pub const SUBQUERY_SCAN_UNKNOWN: Type = 0; + pub const SUBQUERY_SCAN_TRIVIAL: Type = 1; + pub const SUBQUERY_SCAN_NONTRIVIAL: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SubqueryScan { + pub scan: Scan, + pub subplan: *mut Plan, + pub scanstatus: SubqueryScanStatus::Type, +} +impl Default for SubqueryScan { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub cteParam: ::core::ffi::c_int, +} +impl Default for CteScan { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 ::core::ffi::c_char, +} +impl Default for NamedTuplestoreScan { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, +} +impl Default for WorkTableScan { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub resultRelation: Index, + pub checkAsUser: Oid, + 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 fs_base_relids: *mut Bitmapset, + pub fsSystemCol: bool, +} +impl Default for ForeignScan { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub inner_unique: bool, + pub joinqual: *mut List, +} +impl Default for Join { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub paramval: *mut Var, +} +impl Default for NestLoopParam { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 mergeReversals: *mut bool, + pub mergeNullsFirst: *mut bool, +} +impl Default for MergeJoin { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, +} +impl Default for IncrementalSort { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub grpColIdx: *mut AttrNumber, + pub grpOperators: *mut Oid, + pub grpCollations: *mut Oid, +} +impl Default for Group { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub aggsplit: AggSplit::Type, + pub numCols: ::core::ffi::c_int, + pub grpColIdx: *mut AttrNumber, + pub grpOperators: *mut Oid, + pub grpCollations: *mut Oid, + pub numGroups: ::core::ffi::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 winname: *mut ::core::ffi::c_char, + pub winref: Index, + pub partNumCols: ::core::ffi::c_int, + pub partColIdx: *mut AttrNumber, + pub partOperators: *mut Oid, + pub partCollations: *mut Oid, + pub ordNumCols: ::core::ffi::c_int, + pub ordColIdx: *mut AttrNumber, + pub ordOperators: *mut Oid, + pub ordCollations: *mut Oid, + pub frameOptions: ::core::ffi::c_int, + pub startOffset: *mut Node, + pub endOffset: *mut Node, + pub runCondition: *mut List, + pub runConditionOrig: *mut List, + pub startInRangeFunc: Oid, + pub endInRangeFunc: Oid, + pub inRangeColl: Oid, + pub inRangeAsc: bool, + pub inRangeNullsFirst: bool, + pub topWindow: bool, +} +impl Default for WindowAgg { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub uniqColIdx: *mut AttrNumber, + pub uniqOperators: *mut Oid, + pub uniqCollations: *mut Oid, +} +impl Default for Unique { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub rescan_param: ::core::ffi::c_int, + pub single_copy: bool, + pub invisible: bool, + pub initParam: *mut Bitmapset, +} +impl Default for Gather { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub rescan_param: ::core::ffi::c_int, + pub numCols: ::core::ffi::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: Cardinality, +} +impl Default for Hash { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub strategy: SetOpStrategy::Type, + pub numCols: ::core::ffi::c_int, + pub cmpColIdx: *mut AttrNumber, + pub cmpOperators: *mut Oid, + pub cmpCollations: *mut Oid, + pub cmpNullsFirst: *mut bool, + pub numGroups: ::core::ffi::c_long, +} +impl Default for SetOp { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, +} +impl Default for LockRows { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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::Type, + pub uniqNumCols: ::core::ffi::c_int, + pub uniqColIdx: *mut AttrNumber, + pub uniqOperators: *mut Oid, + pub uniqCollations: *mut Oid, +} +impl Default for Limit { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod RowMarkType { + pub type Type = ::core::ffi::c_uint; + pub const ROW_MARK_EXCLUSIVE: Type = 0; + pub const ROW_MARK_NOKEYEXCLUSIVE: Type = 1; + pub const ROW_MARK_SHARE: Type = 2; + pub const ROW_MARK_KEYSHARE: Type = 3; + pub const ROW_MARK_REFERENCE: Type = 4; + pub const ROW_MARK_COPY: Type = 5; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PlanRowMark { + pub type_: NodeTag, + pub rti: Index, + pub prti: Index, + pub rowmarkId: Index, + pub markType: RowMarkType::Type, + pub allMarkTypes: ::core::ffi::c_int, + pub strength: LockClauseStrength::Type, + pub waitPolicy: LockWaitPolicy::Type, + pub isParent: bool, +} +impl Default for PlanRowMark { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 relids: *mut Bitmapset, + pub prune_infos: *mut List, + pub other_subplans: *mut Bitmapset, +} +impl Default for PartitionPruneInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub subplan_map: *mut ::core::ffi::c_int, + pub subpart_map: *mut ::core::ffi::c_int, + pub leafpart_rti_map: *mut ::core::ffi::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, +} +impl Default for PartitionPruneStep { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod PartitionPruneCombineOp { + pub type Type = ::core::ffi::c_uint; + pub const PARTPRUNE_COMBINE_UNION: Type = 0; + pub const PARTPRUNE_COMBINE_INTERSECT: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionPruneStepCombine { + pub step: PartitionPruneStep, + pub combineOp: PartitionPruneCombineOp::Type, + pub source_stepids: *mut List, +} +impl Default for PartitionPruneStepCombine { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_int, + pub hashValue: uint32, +} +impl Default for PlanInvalItem { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod MonotonicFunction { + pub type Type = ::core::ffi::c_uint; + pub const MONOTONICFUNC_NONE: Type = 0; + pub const MONOTONICFUNC_INCREASING: Type = 1; + pub const MONOTONICFUNC_DECREASING: Type = 2; + pub const MONOTONICFUNC_BOTH: Type = 3; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct pg_atomic_flag { + pub value: ::core::ffi::c_char, +} +#[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 mod dsm_op { + pub type Type = ::core::ffi::c_uint; + pub const DSM_OP_CREATE: Type = 0; + pub const DSM_OP_ATTACH: Type = 1; + pub const DSM_OP_DETACH: Type = 2; + pub const DSM_OP_DESTROY: Type = 3; +} +#[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 = + ::core::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 TBMPrivateIterator { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TBMSharedIterator { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct TBMIterator { + pub shared: bool, + pub i: TBMIterator__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union TBMIterator__bindgen_ty_1 { + pub private_iterator: *mut TBMPrivateIterator, + pub shared_iterator: *mut TBMSharedIterator, +} +impl Default for TBMIterator__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for TBMIterator { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TBMIterateResult { + pub blockno: BlockNumber, + pub lossy: bool, + pub recheck: bool, + pub internal_page: *mut ::core::ffi::c_void, +} +impl Default for TBMIterateResult { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type PartitionBoundInfo = *mut PartitionBoundInfoData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionKeyData { + _unused: [u8; 0], +} +pub type PartitionKey = *mut PartitionKeyData; +pub type PartitionDesc = *mut PartitionDescData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionDirectoryData { + _unused: [u8; 0], +} +pub type PartitionDirectory = *mut PartitionDirectoryData; +pub type ProcNumber = ::core::ffi::c_int; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct proclist_node { + pub next: ProcNumber, + pub prev: ProcNumber, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct proclist_head { + pub head: ProcNumber, + pub tail: ProcNumber, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct proclist_mutable_iter { + pub cur: ProcNumber, + pub next: ProcNumber, +} +pub type slock_t = ::core::ffi::c_uchar; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SpinDelayStatus { + pub spins: ::core::ffi::c_int, + pub delays: ::core::ffi::c_int, + pub cur_delay: ::core::ffi::c_int, + pub file: *const ::core::ffi::c_char, + pub line: ::core::ffi::c_int, + pub func: *const ::core::ffi::c_char, +} +impl Default for SpinDelayStatus { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: [::core::ffi::c_char; 16usize], +} +impl Default for ConditionVariableMinimallyPadded { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type HashValueFunc = ::core::option::Option< + unsafe extern "C-unwind" fn(key: *const ::core::ffi::c_void, keysize: Size) -> uint32, +>; +pub type HashCompareFunc = ::core::option::Option< + unsafe extern "C-unwind" fn( + key1: *const ::core::ffi::c_void, + key2: *const ::core::ffi::c_void, + keysize: Size, + ) -> ::core::ffi::c_int, +>; +pub type HashCopyFunc = ::core::option::Option< + unsafe extern "C-unwind" fn( + dest: *mut ::core::ffi::c_void, + src: *const ::core::ffi::c_void, + keysize: Size, + ) -> *mut ::core::ffi::c_void, +>; +pub type HashAllocFunc = + ::core::option::Option *mut ::core::ffi::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::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: ::core::ffi::c_long, + pub ssize: ::core::ffi::c_long, + pub dsize: ::core::ffi::c_long, + pub max_dsize: ::core::ffi::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 = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod HASHACTION { + pub type Type = ::core::ffi::c_uint; + pub const HASH_FIND: Type = 0; + pub const HASH_ENTER: Type = 1; + pub const HASH_REMOVE: Type = 2; + pub const HASH_ENTER_NULL: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HASH_SEQ_STATUS { + pub hashp: *mut HTAB, + pub curBucket: uint32, + pub curEntry: *mut HASHELEMENT, + pub hasHashvalue: bool, + pub hashvalue: uint32, +} +impl Default for HASH_SEQ_STATUS { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod EphemeralNameRelationType { + pub type Type = ::core::ffi::c_uint; + pub const ENR_NAMED_TUPLESTORE: Type = 0; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct EphemeralNamedRelationMetadataData { + pub name: *mut ::core::ffi::c_char, + pub reliddesc: Oid, + pub tupdesc: TupleDesc, + pub enrtype: EphemeralNameRelationType::Type, + pub enrtuples: f64, +} +impl Default for EphemeralNamedRelationMetadataData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type EphemeralNamedRelationMetadata = *mut EphemeralNamedRelationMetadataData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct EphemeralNamedRelationData { + pub md: EphemeralNamedRelationMetadataData, + pub reldata: *mut ::core::ffi::c_void, +} +impl Default for EphemeralNamedRelationData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type EphemeralNamedRelation = *mut EphemeralNamedRelationData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct QueryEnvironment { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Integer { + pub type_: NodeTag, + pub ival: ::core::ffi::c_int, +} +impl Default for Integer { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Float { + pub type_: NodeTag, + pub fval: *mut ::core::ffi::c_char, +} +impl Default for Float { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Boolean { + pub type_: NodeTag, + pub boolval: bool, +} +impl Default for Boolean { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct String { + pub type_: NodeTag, + pub sval: *mut ::core::ffi::c_char, +} +impl Default for String { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BitString { + pub type_: NodeTag, + pub bsval: *mut ::core::ffi::c_char, +} +impl Default for BitString { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod QuerySource { + pub type Type = ::core::ffi::c_uint; + pub const QSRC_ORIGINAL: Type = 0; + pub const QSRC_PARSER: Type = 1; + pub const QSRC_INSTEAD_RULE: Type = 2; + pub const QSRC_QUAL_INSTEAD_RULE: Type = 3; + pub const QSRC_NON_INSTEAD_RULE: Type = 4; +} +pub mod SortByDir { + pub type Type = ::core::ffi::c_uint; + pub const SORTBY_DEFAULT: Type = 0; + pub const SORTBY_ASC: Type = 1; + pub const SORTBY_DESC: Type = 2; + pub const SORTBY_USING: Type = 3; +} +pub mod SortByNulls { + pub type Type = ::core::ffi::c_uint; + pub const SORTBY_NULLS_DEFAULT: Type = 0; + pub const SORTBY_NULLS_FIRST: Type = 1; + pub const SORTBY_NULLS_LAST: Type = 2; +} +pub mod SetQuantifier { + pub type Type = ::core::ffi::c_uint; + pub const SET_QUANTIFIER_DEFAULT: Type = 0; + pub const SET_QUANTIFIER_ALL: Type = 1; + pub const SET_QUANTIFIER_DISTINCT: Type = 2; +} +pub type AclMode = uint64; +#[doc = "\tQuery Tree"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Query { + pub type_: NodeTag, + pub commandType: CmdType::Type, + pub querySource: QuerySource::Type, + pub queryId: uint64, + pub canSetTag: bool, + pub utilityStmt: *mut Node, + pub resultRelation: ::core::ffi::c_int, + pub hasAggs: bool, + pub hasWindowFuncs: bool, + pub hasTargetSRFs: bool, + pub hasSubLinks: bool, + pub hasDistinctOn: bool, + pub hasRecursive: bool, + pub hasModifyingCTE: bool, + pub hasForUpdate: bool, + pub hasRowSecurity: bool, + pub hasGroupRTE: bool, + pub isReturn: bool, + pub cteList: *mut List, + pub rtable: *mut List, + pub rteperminfos: *mut List, + pub jointree: *mut FromExpr, + pub mergeActionList: *mut List, + pub mergeTargetRelation: ::core::ffi::c_int, + pub mergeJoinCondition: *mut Node, + pub targetList: *mut List, + pub override_: OverridingKind::Type, + pub onConflict: *mut OnConflictExpr, + pub returningOldAlias: *mut ::core::ffi::c_char, + pub returningNewAlias: *mut ::core::ffi::c_char, + pub returningList: *mut List, + pub groupClause: *mut List, + pub groupDistinct: bool, + pub groupingSets: *mut List, + pub havingQual: *mut Node, + pub windowClause: *mut List, + pub distinctClause: *mut List, + pub sortClause: *mut List, + pub limitOffset: *mut Node, + pub limitCount: *mut Node, + pub limitOption: LimitOption::Type, + pub rowMarks: *mut List, + pub setOperations: *mut Node, + pub constraintDeps: *mut List, + pub withCheckOptions: *mut List, + pub stmt_location: ParseLoc, + pub stmt_len: ParseLoc, +} +impl Default for Query { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[doc = "\tSupporting data structures for Parse Trees\n\n\tMost of these node types appear in raw parsetrees output by the grammar,\n\tand get transformed to something else by the analyzer. A few of them\n\tare used as-is in transformed querytrees."] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TypeName { + pub type_: NodeTag, + pub names: *mut List, + pub typeOid: Oid, + pub setof: bool, + pub pct_type: bool, + pub typmods: *mut List, + pub typemod: int32, + pub arrayBounds: *mut List, + pub location: ParseLoc, +} +impl Default for TypeName { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ColumnRef { + pub type_: NodeTag, + pub fields: *mut List, + pub location: ParseLoc, +} +impl Default for ColumnRef { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParamRef { + pub type_: NodeTag, + pub number: ::core::ffi::c_int, + pub location: ParseLoc, +} +impl Default for ParamRef { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod A_Expr_Kind { + pub type Type = ::core::ffi::c_uint; + pub const AEXPR_OP: Type = 0; + pub const AEXPR_OP_ANY: Type = 1; + pub const AEXPR_OP_ALL: Type = 2; + pub const AEXPR_DISTINCT: Type = 3; + pub const AEXPR_NOT_DISTINCT: Type = 4; + pub const AEXPR_NULLIF: Type = 5; + pub const AEXPR_IN: Type = 6; + pub const AEXPR_LIKE: Type = 7; + pub const AEXPR_ILIKE: Type = 8; + pub const AEXPR_SIMILAR: Type = 9; + pub const AEXPR_BETWEEN: Type = 10; + pub const AEXPR_NOT_BETWEEN: Type = 11; + pub const AEXPR_BETWEEN_SYM: Type = 12; + pub const AEXPR_NOT_BETWEEN_SYM: Type = 13; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct A_Expr { + pub type_: NodeTag, + pub kind: A_Expr_Kind::Type, + pub name: *mut List, + pub lexpr: *mut Node, + pub rexpr: *mut Node, + pub location: ParseLoc, +} +impl Default for A_Expr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ValUnion { + pub node: Node, + pub ival: Integer, + pub fval: Float, + pub boolval: Boolean, + pub sval: String, + pub bsval: BitString, +} +impl Default for ValUnion { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct A_Const { + pub type_: NodeTag, + pub val: ValUnion, + pub isnull: bool, + pub location: ParseLoc, +} +impl Default for A_Const { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TypeCast { + pub type_: NodeTag, + pub arg: *mut Node, + pub typeName: *mut TypeName, + pub location: ParseLoc, +} +impl Default for TypeCast { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CollateClause { + pub type_: NodeTag, + pub arg: *mut Node, + pub collname: *mut List, + pub location: ParseLoc, +} +impl Default for CollateClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod RoleSpecType { + pub type Type = ::core::ffi::c_uint; + pub const ROLESPEC_CSTRING: Type = 0; + pub const ROLESPEC_CURRENT_ROLE: Type = 1; + pub const ROLESPEC_CURRENT_USER: Type = 2; + pub const ROLESPEC_SESSION_USER: Type = 3; + pub const ROLESPEC_PUBLIC: Type = 4; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RoleSpec { + pub type_: NodeTag, + pub roletype: RoleSpecType::Type, + pub rolename: *mut ::core::ffi::c_char, + pub location: ParseLoc, +} +impl Default for RoleSpec { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FuncCall { + pub type_: NodeTag, + pub funcname: *mut List, + pub args: *mut List, + pub agg_order: *mut List, + pub agg_filter: *mut Node, + pub over: *mut WindowDef, + pub agg_within_group: bool, + pub agg_star: bool, + pub agg_distinct: bool, + pub func_variadic: bool, + pub funcformat: CoercionForm::Type, + pub location: ParseLoc, +} +impl Default for FuncCall { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct A_Star { + pub type_: NodeTag, +} +impl Default for A_Star { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct A_Indices { + pub type_: NodeTag, + pub is_slice: bool, + pub lidx: *mut Node, + pub uidx: *mut Node, +} +impl Default for A_Indices { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct A_Indirection { + pub type_: NodeTag, + pub arg: *mut Node, + pub indirection: *mut List, +} +impl Default for A_Indirection { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct A_ArrayExpr { + pub type_: NodeTag, + pub elements: *mut List, + pub location: ParseLoc, +} +impl Default for A_ArrayExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ResTarget { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, + pub indirection: *mut List, + pub val: *mut Node, + pub location: ParseLoc, +} +impl Default for ResTarget { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MultiAssignRef { + pub type_: NodeTag, + pub source: *mut Node, + pub colno: ::core::ffi::c_int, + pub ncolumns: ::core::ffi::c_int, +} +impl Default for MultiAssignRef { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SortBy { + pub type_: NodeTag, + pub node: *mut Node, + pub sortby_dir: SortByDir::Type, + pub sortby_nulls: SortByNulls::Type, + pub useOp: *mut List, + pub location: ParseLoc, +} +impl Default for SortBy { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WindowDef { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, + pub refname: *mut ::core::ffi::c_char, + pub partitionClause: *mut List, + pub orderClause: *mut List, + pub frameOptions: ::core::ffi::c_int, + pub startOffset: *mut Node, + pub endOffset: *mut Node, + pub location: ParseLoc, +} +impl Default for WindowDef { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RangeSubselect { + pub type_: NodeTag, + pub lateral: bool, + pub subquery: *mut Node, + pub alias: *mut Alias, +} +impl Default for RangeSubselect { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RangeFunction { + pub type_: NodeTag, + pub lateral: bool, + pub ordinality: bool, + pub is_rowsfrom: bool, + pub functions: *mut List, + pub alias: *mut Alias, + pub coldeflist: *mut List, +} +impl Default for RangeFunction { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RangeTableFunc { + pub type_: NodeTag, + pub lateral: bool, + pub docexpr: *mut Node, + pub rowexpr: *mut Node, + pub namespaces: *mut List, + pub columns: *mut List, + pub alias: *mut Alias, + pub location: ParseLoc, +} +impl Default for RangeTableFunc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RangeTableFuncCol { + pub type_: NodeTag, + pub colname: *mut ::core::ffi::c_char, + pub typeName: *mut TypeName, + pub for_ordinality: bool, + pub is_not_null: bool, + pub colexpr: *mut Node, + pub coldefexpr: *mut Node, + pub location: ParseLoc, +} +impl Default for RangeTableFuncCol { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RangeTableSample { + pub type_: NodeTag, + pub relation: *mut Node, + pub method: *mut List, + pub args: *mut List, + pub repeatable: *mut Node, + pub location: ParseLoc, +} +impl Default for RangeTableSample { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ColumnDef { + pub type_: NodeTag, + pub colname: *mut ::core::ffi::c_char, + pub typeName: *mut TypeName, + pub compression: *mut ::core::ffi::c_char, + pub inhcount: int16, + pub is_local: bool, + pub is_not_null: bool, + pub is_from_type: bool, + pub storage: ::core::ffi::c_char, + pub storage_name: *mut ::core::ffi::c_char, + pub raw_default: *mut Node, + pub cooked_default: *mut Node, + pub identity: ::core::ffi::c_char, + pub identitySequence: *mut RangeVar, + pub generated: ::core::ffi::c_char, + pub collClause: *mut CollateClause, + pub collOid: Oid, + pub constraints: *mut List, + pub fdwoptions: *mut List, + pub location: ParseLoc, +} +impl Default for ColumnDef { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TableLikeClause { + pub type_: NodeTag, + pub relation: *mut RangeVar, + pub options: bits32, + pub relationOid: Oid, +} +impl Default for TableLikeClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod TableLikeOption { + pub type Type = ::core::ffi::c_uint; + pub const CREATE_TABLE_LIKE_COMMENTS: Type = 1; + pub const CREATE_TABLE_LIKE_COMPRESSION: Type = 2; + pub const CREATE_TABLE_LIKE_CONSTRAINTS: Type = 4; + pub const CREATE_TABLE_LIKE_DEFAULTS: Type = 8; + pub const CREATE_TABLE_LIKE_GENERATED: Type = 16; + pub const CREATE_TABLE_LIKE_IDENTITY: Type = 32; + pub const CREATE_TABLE_LIKE_INDEXES: Type = 64; + pub const CREATE_TABLE_LIKE_STATISTICS: Type = 128; + pub const CREATE_TABLE_LIKE_STORAGE: Type = 256; + pub const CREATE_TABLE_LIKE_ALL: Type = 2147483647; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexElem { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, + pub expr: *mut Node, + pub indexcolname: *mut ::core::ffi::c_char, + pub collation: *mut List, + pub opclass: *mut List, + pub opclassopts: *mut List, + pub ordering: SortByDir::Type, + pub nulls_ordering: SortByNulls::Type, +} +impl Default for IndexElem { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod DefElemAction { + pub type Type = ::core::ffi::c_uint; + pub const DEFELEM_UNSPEC: Type = 0; + pub const DEFELEM_SET: Type = 1; + pub const DEFELEM_ADD: Type = 2; + pub const DEFELEM_DROP: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DefElem { + pub type_: NodeTag, + pub defnamespace: *mut ::core::ffi::c_char, + pub defname: *mut ::core::ffi::c_char, + pub arg: *mut Node, + pub defaction: DefElemAction::Type, + pub location: ParseLoc, +} +impl Default for DefElem { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LockingClause { + pub type_: NodeTag, + pub lockedRels: *mut List, + pub strength: LockClauseStrength::Type, + pub waitPolicy: LockWaitPolicy::Type, +} +impl Default for LockingClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XmlSerialize { + pub type_: NodeTag, + pub xmloption: XmlOptionType::Type, + pub expr: *mut Node, + pub typeName: *mut TypeName, + pub indent: bool, + pub location: ParseLoc, +} +impl Default for XmlSerialize { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionElem { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, + pub expr: *mut Node, + pub collation: *mut List, + pub opclass: *mut List, + pub location: ParseLoc, +} +impl Default for PartitionElem { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod PartitionStrategy { + pub type Type = ::core::ffi::c_uint; + pub const PARTITION_STRATEGY_LIST: Type = 108; + pub const PARTITION_STRATEGY_RANGE: Type = 114; + pub const PARTITION_STRATEGY_HASH: Type = 104; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionSpec { + pub type_: NodeTag, + pub strategy: PartitionStrategy::Type, + pub partParams: *mut List, + pub location: ParseLoc, +} +impl Default for PartitionSpec { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionBoundSpec { + pub type_: NodeTag, + pub strategy: ::core::ffi::c_char, + pub is_default: bool, + pub modulus: ::core::ffi::c_int, + pub remainder: ::core::ffi::c_int, + pub listdatums: *mut List, + pub lowerdatums: *mut List, + pub upperdatums: *mut List, + pub location: ParseLoc, +} +impl Default for PartitionBoundSpec { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod PartitionRangeDatumKind { + pub type Type = ::core::ffi::c_int; + pub const PARTITION_RANGE_DATUM_MINVALUE: Type = -1; + pub const PARTITION_RANGE_DATUM_VALUE: Type = 0; + pub const PARTITION_RANGE_DATUM_MAXVALUE: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionRangeDatum { + pub type_: NodeTag, + pub kind: PartitionRangeDatumKind::Type, + pub value: *mut Node, + pub location: ParseLoc, +} +impl Default for PartitionRangeDatum { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionCmd { + pub type_: NodeTag, + pub name: *mut RangeVar, + pub bound: *mut PartitionBoundSpec, + pub concurrent: bool, +} +impl Default for PartitionCmd { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod RTEKind { + pub type Type = ::core::ffi::c_uint; + pub const RTE_RELATION: Type = 0; + pub const RTE_SUBQUERY: Type = 1; + pub const RTE_JOIN: Type = 2; + pub const RTE_FUNCTION: Type = 3; + pub const RTE_TABLEFUNC: Type = 4; + pub const RTE_VALUES: Type = 5; + pub const RTE_CTE: Type = 6; + pub const RTE_NAMEDTUPLESTORE: Type = 7; + pub const RTE_RESULT: Type = 8; + pub const RTE_GROUP: Type = 9; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RangeTblEntry { + pub type_: NodeTag, + pub alias: *mut Alias, + pub eref: *mut Alias, + pub rtekind: RTEKind::Type, + pub relid: Oid, + pub inh: bool, + pub relkind: ::core::ffi::c_char, + pub rellockmode: ::core::ffi::c_int, + pub perminfoindex: Index, + pub tablesample: *mut TableSampleClause, + pub subquery: *mut Query, + pub security_barrier: bool, + pub jointype: JoinType::Type, + pub joinmergedcols: ::core::ffi::c_int, + pub joinaliasvars: *mut List, + pub joinleftcols: *mut List, + pub joinrightcols: *mut List, + pub join_using_alias: *mut Alias, + pub functions: *mut List, + pub funcordinality: bool, + pub tablefunc: *mut TableFunc, + pub values_lists: *mut List, + pub ctename: *mut ::core::ffi::c_char, + pub ctelevelsup: Index, + pub self_reference: bool, + pub coltypes: *mut List, + pub coltypmods: *mut List, + pub colcollations: *mut List, + pub enrname: *mut ::core::ffi::c_char, + pub enrtuples: Cardinality, + pub groupexprs: *mut List, + pub lateral: bool, + pub inFromCl: bool, + pub securityQuals: *mut List, +} +impl Default for RangeTblEntry { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RTEPermissionInfo { + pub type_: NodeTag, + pub relid: Oid, + pub inh: bool, + pub requiredPerms: AclMode, + pub checkAsUser: Oid, + pub selectedCols: *mut Bitmapset, + pub insertedCols: *mut Bitmapset, + pub updatedCols: *mut Bitmapset, +} +impl Default for RTEPermissionInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RangeTblFunction { + pub type_: NodeTag, + pub funcexpr: *mut Node, + pub funccolcount: ::core::ffi::c_int, + pub funccolnames: *mut List, + pub funccoltypes: *mut List, + pub funccoltypmods: *mut List, + pub funccolcollations: *mut List, + pub funcparams: *mut Bitmapset, +} +impl Default for RangeTblFunction { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TableSampleClause { + pub type_: NodeTag, + pub tsmhandler: Oid, + pub args: *mut List, + pub repeatable: *mut Expr, +} +impl Default for TableSampleClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod WCOKind { + pub type Type = ::core::ffi::c_uint; + pub const WCO_VIEW_CHECK: Type = 0; + pub const WCO_RLS_INSERT_CHECK: Type = 1; + pub const WCO_RLS_UPDATE_CHECK: Type = 2; + pub const WCO_RLS_CONFLICT_CHECK: Type = 3; + pub const WCO_RLS_MERGE_UPDATE_CHECK: Type = 4; + pub const WCO_RLS_MERGE_DELETE_CHECK: Type = 5; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WithCheckOption { + pub type_: NodeTag, + pub kind: WCOKind::Type, + pub relname: *mut ::core::ffi::c_char, + pub polname: *mut ::core::ffi::c_char, + pub qual: *mut Node, + pub cascaded: bool, +} +impl Default for WithCheckOption { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SortGroupClause { + pub type_: NodeTag, + pub tleSortGroupRef: Index, + pub eqop: Oid, + pub sortop: Oid, + pub reverse_sort: bool, + pub nulls_first: bool, + pub hashable: bool, +} +impl Default for SortGroupClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod GroupingSetKind { + pub type Type = ::core::ffi::c_uint; + pub const GROUPING_SET_EMPTY: Type = 0; + pub const GROUPING_SET_SIMPLE: Type = 1; + pub const GROUPING_SET_ROLLUP: Type = 2; + pub const GROUPING_SET_CUBE: Type = 3; + pub const GROUPING_SET_SETS: Type = 4; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GroupingSet { + pub type_: NodeTag, + pub kind: GroupingSetKind::Type, + pub content: *mut List, + pub location: ParseLoc, +} +impl Default for GroupingSet { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WindowClause { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, + pub refname: *mut ::core::ffi::c_char, + pub partitionClause: *mut List, + pub orderClause: *mut List, + pub frameOptions: ::core::ffi::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, + pub winref: Index, + pub copiedOrder: bool, +} +impl Default for WindowClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RowMarkClause { + pub type_: NodeTag, + pub rti: Index, + pub strength: LockClauseStrength::Type, + pub waitPolicy: LockWaitPolicy::Type, + pub pushedDown: bool, +} +impl Default for RowMarkClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WithClause { + pub type_: NodeTag, + pub ctes: *mut List, + pub recursive: bool, + pub location: ParseLoc, +} +impl Default for WithClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct InferClause { + pub type_: NodeTag, + pub indexElems: *mut List, + pub whereClause: *mut Node, + pub conname: *mut ::core::ffi::c_char, + pub location: ParseLoc, +} +impl Default for InferClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OnConflictClause { + pub type_: NodeTag, + pub action: OnConflictAction::Type, + pub infer: *mut InferClause, + pub targetList: *mut List, + pub whereClause: *mut Node, + pub location: ParseLoc, +} +impl Default for OnConflictClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod CTEMaterialize { + pub type Type = ::core::ffi::c_uint; + pub const CTEMaterializeDefault: Type = 0; + pub const CTEMaterializeAlways: Type = 1; + pub const CTEMaterializeNever: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CTESearchClause { + pub type_: NodeTag, + pub search_col_list: *mut List, + pub search_breadth_first: bool, + pub search_seq_column: *mut ::core::ffi::c_char, + pub location: ParseLoc, +} +impl Default for CTESearchClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CTECycleClause { + pub type_: NodeTag, + pub cycle_col_list: *mut List, + pub cycle_mark_column: *mut ::core::ffi::c_char, + pub cycle_mark_value: *mut Node, + pub cycle_mark_default: *mut Node, + pub cycle_path_column: *mut ::core::ffi::c_char, + pub location: ParseLoc, + pub cycle_mark_type: Oid, + pub cycle_mark_typmod: ::core::ffi::c_int, + pub cycle_mark_collation: Oid, + pub cycle_mark_neop: Oid, +} +impl Default for CTECycleClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CommonTableExpr { + pub type_: NodeTag, + pub ctename: *mut ::core::ffi::c_char, + pub aliascolnames: *mut List, + pub ctematerialized: CTEMaterialize::Type, + pub ctequery: *mut Node, + pub search_clause: *mut CTESearchClause, + pub cycle_clause: *mut CTECycleClause, + pub location: ParseLoc, + pub cterecursive: bool, + pub cterefcount: ::core::ffi::c_int, + pub ctecolnames: *mut List, + pub ctecoltypes: *mut List, + pub ctecoltypmods: *mut List, + pub ctecolcollations: *mut List, +} +impl Default for CommonTableExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MergeWhenClause { + pub type_: NodeTag, + pub matchKind: MergeMatchKind::Type, + pub commandType: CmdType::Type, + pub override_: OverridingKind::Type, + pub condition: *mut Node, + pub targetList: *mut List, + pub values: *mut List, +} +impl Default for MergeWhenClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ReturningOptionKind { + pub type Type = ::core::ffi::c_uint; + pub const RETURNING_OPTION_OLD: Type = 0; + pub const RETURNING_OPTION_NEW: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReturningOption { + pub type_: NodeTag, + pub option: ReturningOptionKind::Type, + pub value: *mut ::core::ffi::c_char, + pub location: ParseLoc, +} +impl Default for ReturningOption { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReturningClause { + pub type_: NodeTag, + pub options: *mut List, + pub exprs: *mut List, +} +impl Default for ReturningClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TriggerTransition { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, + pub isNew: bool, + pub isTable: bool, +} +impl Default for TriggerTransition { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonOutput { + pub type_: NodeTag, + pub typeName: *mut TypeName, + pub returning: *mut JsonReturning, +} +impl Default for JsonOutput { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonArgument { + pub type_: NodeTag, + pub val: *mut JsonValueExpr, + pub name: *mut ::core::ffi::c_char, +} +impl Default for JsonArgument { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod JsonQuotes { + pub type Type = ::core::ffi::c_uint; + pub const JS_QUOTES_UNSPEC: Type = 0; + pub const JS_QUOTES_KEEP: Type = 1; + pub const JS_QUOTES_OMIT: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonFuncExpr { + pub type_: NodeTag, + pub op: JsonExprOp::Type, + pub column_name: *mut ::core::ffi::c_char, + pub context_item: *mut JsonValueExpr, + pub pathspec: *mut Node, + pub passing: *mut List, + pub output: *mut JsonOutput, + pub on_empty: *mut JsonBehavior, + pub on_error: *mut JsonBehavior, + pub wrapper: JsonWrapper::Type, + pub quotes: JsonQuotes::Type, + pub location: ParseLoc, +} +impl Default for JsonFuncExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonTablePathSpec { + pub type_: NodeTag, + pub string: *mut Node, + pub name: *mut ::core::ffi::c_char, + pub name_location: ParseLoc, + pub location: ParseLoc, +} +impl Default for JsonTablePathSpec { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonTable { + pub type_: NodeTag, + pub context_item: *mut JsonValueExpr, + pub pathspec: *mut JsonTablePathSpec, + pub passing: *mut List, + pub columns: *mut List, + pub on_error: *mut JsonBehavior, + pub alias: *mut Alias, + pub lateral: bool, + pub location: ParseLoc, +} +impl Default for JsonTable { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod JsonTableColumnType { + pub type Type = ::core::ffi::c_uint; + pub const JTC_FOR_ORDINALITY: Type = 0; + pub const JTC_REGULAR: Type = 1; + pub const JTC_EXISTS: Type = 2; + pub const JTC_FORMATTED: Type = 3; + pub const JTC_NESTED: Type = 4; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonTableColumn { + pub type_: NodeTag, + pub coltype: JsonTableColumnType::Type, + pub name: *mut ::core::ffi::c_char, + pub typeName: *mut TypeName, + pub pathspec: *mut JsonTablePathSpec, + pub format: *mut JsonFormat, + pub wrapper: JsonWrapper::Type, + pub quotes: JsonQuotes::Type, + pub columns: *mut List, + pub on_empty: *mut JsonBehavior, + pub on_error: *mut JsonBehavior, + pub location: ParseLoc, +} +impl Default for JsonTableColumn { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonKeyValue { + pub type_: NodeTag, + pub key: *mut Expr, + pub value: *mut JsonValueExpr, +} +impl Default for JsonKeyValue { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonParseExpr { + pub type_: NodeTag, + pub expr: *mut JsonValueExpr, + pub output: *mut JsonOutput, + pub unique_keys: bool, + pub location: ParseLoc, +} +impl Default for JsonParseExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonScalarExpr { + pub type_: NodeTag, + pub expr: *mut Expr, + pub output: *mut JsonOutput, + pub location: ParseLoc, +} +impl Default for JsonScalarExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonSerializeExpr { + pub type_: NodeTag, + pub expr: *mut JsonValueExpr, + pub output: *mut JsonOutput, + pub location: ParseLoc, +} +impl Default for JsonSerializeExpr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonObjectConstructor { + pub type_: NodeTag, + pub exprs: *mut List, + pub output: *mut JsonOutput, + pub absent_on_null: bool, + pub unique: bool, + pub location: ParseLoc, +} +impl Default for JsonObjectConstructor { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonArrayConstructor { + pub type_: NodeTag, + pub exprs: *mut List, + pub output: *mut JsonOutput, + pub absent_on_null: bool, + pub location: ParseLoc, +} +impl Default for JsonArrayConstructor { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonArrayQueryConstructor { + pub type_: NodeTag, + pub query: *mut Node, + pub output: *mut JsonOutput, + pub format: *mut JsonFormat, + pub absent_on_null: bool, + pub location: ParseLoc, +} +impl Default for JsonArrayQueryConstructor { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonAggConstructor { + pub type_: NodeTag, + pub output: *mut JsonOutput, + pub agg_filter: *mut Node, + pub agg_order: *mut List, + pub over: *mut WindowDef, + pub location: ParseLoc, +} +impl Default for JsonAggConstructor { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonObjectAgg { + pub type_: NodeTag, + pub constructor: *mut JsonAggConstructor, + pub arg: *mut JsonKeyValue, + pub absent_on_null: bool, + pub unique: bool, +} +impl Default for JsonObjectAgg { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonArrayAgg { + pub type_: NodeTag, + pub constructor: *mut JsonAggConstructor, + pub arg: *mut JsonValueExpr, + pub absent_on_null: bool, +} +impl Default for JsonArrayAgg { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[doc = "\t\tRaw Grammar Output Statements"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RawStmt { + pub type_: NodeTag, + pub stmt: *mut Node, + pub stmt_location: ParseLoc, + pub stmt_len: ParseLoc, +} +impl Default for RawStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[doc = "\t\tOptimizable Statements"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct InsertStmt { + pub type_: NodeTag, + pub relation: *mut RangeVar, + pub cols: *mut List, + pub selectStmt: *mut Node, + pub onConflictClause: *mut OnConflictClause, + pub returningClause: *mut ReturningClause, + pub withClause: *mut WithClause, + pub override_: OverridingKind::Type, + pub stmt_location: ParseLoc, + pub stmt_len: ParseLoc, +} +impl Default for InsertStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DeleteStmt { + pub type_: NodeTag, + pub relation: *mut RangeVar, + pub usingClause: *mut List, + pub whereClause: *mut Node, + pub returningClause: *mut ReturningClause, + pub withClause: *mut WithClause, + pub stmt_location: ParseLoc, + pub stmt_len: ParseLoc, +} +impl Default for DeleteStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct UpdateStmt { + pub type_: NodeTag, + pub relation: *mut RangeVar, + pub targetList: *mut List, + pub whereClause: *mut Node, + pub fromClause: *mut List, + pub returningClause: *mut ReturningClause, + pub withClause: *mut WithClause, + pub stmt_location: ParseLoc, + pub stmt_len: ParseLoc, +} +impl Default for UpdateStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MergeStmt { + pub type_: NodeTag, + pub relation: *mut RangeVar, + pub sourceRelation: *mut Node, + pub joinCondition: *mut Node, + pub mergeWhenClauses: *mut List, + pub returningClause: *mut ReturningClause, + pub withClause: *mut WithClause, + pub stmt_location: ParseLoc, + pub stmt_len: ParseLoc, +} +impl Default for MergeStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod SetOperation { + pub type Type = ::core::ffi::c_uint; + pub const SETOP_NONE: Type = 0; + pub const SETOP_UNION: Type = 1; + pub const SETOP_INTERSECT: Type = 2; + pub const SETOP_EXCEPT: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SelectStmt { + pub type_: NodeTag, + pub distinctClause: *mut List, + pub intoClause: *mut IntoClause, + pub targetList: *mut List, + pub fromClause: *mut List, + pub whereClause: *mut Node, + pub groupClause: *mut List, + pub groupDistinct: bool, + pub havingClause: *mut Node, + pub windowClause: *mut List, + pub valuesLists: *mut List, + pub sortClause: *mut List, + pub limitOffset: *mut Node, + pub limitCount: *mut Node, + pub limitOption: LimitOption::Type, + pub lockingClause: *mut List, + pub withClause: *mut WithClause, + pub op: SetOperation::Type, + pub all: bool, + pub larg: *mut SelectStmt, + pub rarg: *mut SelectStmt, + pub stmt_location: ParseLoc, + pub stmt_len: ParseLoc, +} +impl Default for SelectStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SetOperationStmt { + pub type_: NodeTag, + pub op: SetOperation::Type, + pub all: bool, + pub larg: *mut Node, + pub rarg: *mut Node, + pub colTypes: *mut List, + pub colTypmods: *mut List, + pub colCollations: *mut List, + pub groupClauses: *mut List, +} +impl Default for SetOperationStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReturnStmt { + pub type_: NodeTag, + pub returnval: *mut Node, +} +impl Default for ReturnStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLAssignStmt { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, + pub indirection: *mut List, + pub nnames: ::core::ffi::c_int, + pub val: *mut SelectStmt, + pub location: ParseLoc, +} +impl Default for PLAssignStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ObjectType { + #[doc = "\t\tOther Statements (no optimizations required)\n\n\t\tThese are not touched by parser/analyze.c except to put them into\n\t\tthe utilityStmt field of a Query. This is eventually passed to\n\t\tProcessUtility (by-passing rewriting and planning). Some of the\n\t\tstatements do need attention from parse analysis, and this is\n\t\tdone by routines in parser/parse_utilcmd.c after ProcessUtility\n\t\treceives the command for execution.\n\t\tDECLARE CURSOR, EXPLAIN, and CREATE TABLE AS are special cases:\n\t\tthey contain optimizable statements, which get processed normally\n\t\tby parser/analyze.c."] + pub type Type = ::core::ffi::c_uint; + pub const OBJECT_ACCESS_METHOD: Type = 0; + pub const OBJECT_AGGREGATE: Type = 1; + pub const OBJECT_AMOP: Type = 2; + pub const OBJECT_AMPROC: Type = 3; + pub const OBJECT_ATTRIBUTE: Type = 4; + pub const OBJECT_CAST: Type = 5; + pub const OBJECT_COLUMN: Type = 6; + pub const OBJECT_COLLATION: Type = 7; + pub const OBJECT_CONVERSION: Type = 8; + pub const OBJECT_DATABASE: Type = 9; + pub const OBJECT_DEFAULT: Type = 10; + pub const OBJECT_DEFACL: Type = 11; + pub const OBJECT_DOMAIN: Type = 12; + pub const OBJECT_DOMCONSTRAINT: Type = 13; + pub const OBJECT_EVENT_TRIGGER: Type = 14; + pub const OBJECT_EXTENSION: Type = 15; + pub const OBJECT_FDW: Type = 16; + pub const OBJECT_FOREIGN_SERVER: Type = 17; + pub const OBJECT_FOREIGN_TABLE: Type = 18; + pub const OBJECT_FUNCTION: Type = 19; + pub const OBJECT_INDEX: Type = 20; + pub const OBJECT_LANGUAGE: Type = 21; + pub const OBJECT_LARGEOBJECT: Type = 22; + pub const OBJECT_MATVIEW: Type = 23; + pub const OBJECT_OPCLASS: Type = 24; + pub const OBJECT_OPERATOR: Type = 25; + pub const OBJECT_OPFAMILY: Type = 26; + pub const OBJECT_PARAMETER_ACL: Type = 27; + pub const OBJECT_POLICY: Type = 28; + pub const OBJECT_PROCEDURE: Type = 29; + pub const OBJECT_PUBLICATION: Type = 30; + pub const OBJECT_PUBLICATION_NAMESPACE: Type = 31; + pub const OBJECT_PUBLICATION_REL: Type = 32; + pub const OBJECT_ROLE: Type = 33; + pub const OBJECT_ROUTINE: Type = 34; + pub const OBJECT_RULE: Type = 35; + pub const OBJECT_SCHEMA: Type = 36; + pub const OBJECT_SEQUENCE: Type = 37; + pub const OBJECT_SUBSCRIPTION: Type = 38; + pub const OBJECT_STATISTIC_EXT: Type = 39; + pub const OBJECT_TABCONSTRAINT: Type = 40; + pub const OBJECT_TABLE: Type = 41; + pub const OBJECT_TABLESPACE: Type = 42; + pub const OBJECT_TRANSFORM: Type = 43; + pub const OBJECT_TRIGGER: Type = 44; + pub const OBJECT_TSCONFIGURATION: Type = 45; + pub const OBJECT_TSDICTIONARY: Type = 46; + pub const OBJECT_TSPARSER: Type = 47; + pub const OBJECT_TSTEMPLATE: Type = 48; + pub const OBJECT_TYPE: Type = 49; + pub const OBJECT_USER_MAPPING: Type = 50; + pub const OBJECT_VIEW: Type = 51; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateSchemaStmt { + pub type_: NodeTag, + pub schemaname: *mut ::core::ffi::c_char, + pub authrole: *mut RoleSpec, + pub schemaElts: *mut List, + pub if_not_exists: bool, +} +impl Default for CreateSchemaStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod DropBehavior { + pub type Type = ::core::ffi::c_uint; + pub const DROP_RESTRICT: Type = 0; + pub const DROP_CASCADE: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterTableStmt { + pub type_: NodeTag, + pub relation: *mut RangeVar, + pub cmds: *mut List, + pub objtype: ObjectType::Type, + pub missing_ok: bool, +} +impl Default for AlterTableStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod AlterTableType { + pub type Type = ::core::ffi::c_uint; + pub const AT_AddColumn: Type = 0; + pub const AT_AddColumnToView: Type = 1; + pub const AT_ColumnDefault: Type = 2; + pub const AT_CookedColumnDefault: Type = 3; + pub const AT_DropNotNull: Type = 4; + pub const AT_SetNotNull: Type = 5; + pub const AT_SetExpression: Type = 6; + pub const AT_DropExpression: Type = 7; + pub const AT_SetStatistics: Type = 8; + pub const AT_SetOptions: Type = 9; + pub const AT_ResetOptions: Type = 10; + pub const AT_SetStorage: Type = 11; + pub const AT_SetCompression: Type = 12; + pub const AT_DropColumn: Type = 13; + pub const AT_AddIndex: Type = 14; + pub const AT_ReAddIndex: Type = 15; + pub const AT_AddConstraint: Type = 16; + pub const AT_ReAddConstraint: Type = 17; + pub const AT_ReAddDomainConstraint: Type = 18; + pub const AT_AlterConstraint: Type = 19; + pub const AT_ValidateConstraint: Type = 20; + pub const AT_AddIndexConstraint: Type = 21; + pub const AT_DropConstraint: Type = 22; + pub const AT_ReAddComment: Type = 23; + pub const AT_AlterColumnType: Type = 24; + pub const AT_AlterColumnGenericOptions: Type = 25; + pub const AT_ChangeOwner: Type = 26; + pub const AT_ClusterOn: Type = 27; + pub const AT_DropCluster: Type = 28; + pub const AT_SetLogged: Type = 29; + pub const AT_SetUnLogged: Type = 30; + pub const AT_DropOids: Type = 31; + pub const AT_SetAccessMethod: Type = 32; + pub const AT_SetTableSpace: Type = 33; + pub const AT_SetRelOptions: Type = 34; + pub const AT_ResetRelOptions: Type = 35; + pub const AT_ReplaceRelOptions: Type = 36; + pub const AT_EnableTrig: Type = 37; + pub const AT_EnableAlwaysTrig: Type = 38; + pub const AT_EnableReplicaTrig: Type = 39; + pub const AT_DisableTrig: Type = 40; + pub const AT_EnableTrigAll: Type = 41; + pub const AT_DisableTrigAll: Type = 42; + pub const AT_EnableTrigUser: Type = 43; + pub const AT_DisableTrigUser: Type = 44; + pub const AT_EnableRule: Type = 45; + pub const AT_EnableAlwaysRule: Type = 46; + pub const AT_EnableReplicaRule: Type = 47; + pub const AT_DisableRule: Type = 48; + pub const AT_AddInherit: Type = 49; + pub const AT_DropInherit: Type = 50; + pub const AT_AddOf: Type = 51; + pub const AT_DropOf: Type = 52; + pub const AT_ReplicaIdentity: Type = 53; + pub const AT_EnableRowSecurity: Type = 54; + pub const AT_DisableRowSecurity: Type = 55; + pub const AT_ForceRowSecurity: Type = 56; + pub const AT_NoForceRowSecurity: Type = 57; + pub const AT_GenericOptions: Type = 58; + pub const AT_AttachPartition: Type = 59; + pub const AT_DetachPartition: Type = 60; + pub const AT_DetachPartitionFinalize: Type = 61; + pub const AT_AddIdentity: Type = 62; + pub const AT_SetIdentity: Type = 63; + pub const AT_DropIdentity: Type = 64; + pub const AT_ReAddStatistics: Type = 65; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterTableCmd { + pub type_: NodeTag, + pub subtype: AlterTableType::Type, + pub name: *mut ::core::ffi::c_char, + pub num: int16, + pub newowner: *mut RoleSpec, + pub def: *mut Node, + pub behavior: DropBehavior::Type, + pub missing_ok: bool, + pub recurse: bool, +} +impl Default for AlterTableCmd { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ATAlterConstraint { + pub type_: NodeTag, + pub conname: *mut ::core::ffi::c_char, + pub alterEnforceability: bool, + pub is_enforced: bool, + pub alterDeferrability: bool, + pub deferrable: bool, + pub initdeferred: bool, + pub alterInheritability: bool, + pub noinherit: bool, +} +impl Default for ATAlterConstraint { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReplicaIdentityStmt { + pub type_: NodeTag, + pub identity_type: ::core::ffi::c_char, + pub name: *mut ::core::ffi::c_char, +} +impl Default for ReplicaIdentityStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterCollationStmt { + pub type_: NodeTag, + pub collname: *mut List, +} +impl Default for AlterCollationStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterDomainStmt { + pub type_: NodeTag, + pub subtype: ::core::ffi::c_char, + pub typeName: *mut List, + pub name: *mut ::core::ffi::c_char, + pub def: *mut Node, + pub behavior: DropBehavior::Type, + pub missing_ok: bool, +} +impl Default for AlterDomainStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod GrantTargetType { + pub type Type = ::core::ffi::c_uint; + pub const ACL_TARGET_OBJECT: Type = 0; + pub const ACL_TARGET_ALL_IN_SCHEMA: Type = 1; + pub const ACL_TARGET_DEFAULTS: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GrantStmt { + pub type_: NodeTag, + pub is_grant: bool, + pub targtype: GrantTargetType::Type, + pub objtype: ObjectType::Type, + pub objects: *mut List, + pub privileges: *mut List, + pub grantees: *mut List, + pub grant_option: bool, + pub grantor: *mut RoleSpec, + pub behavior: DropBehavior::Type, +} +impl Default for GrantStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ObjectWithArgs { + pub type_: NodeTag, + pub objname: *mut List, + pub objargs: *mut List, + pub objfuncargs: *mut List, + pub args_unspecified: bool, +} +impl Default for ObjectWithArgs { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AccessPriv { + pub type_: NodeTag, + pub priv_name: *mut ::core::ffi::c_char, + pub cols: *mut List, +} +impl Default for AccessPriv { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GrantRoleStmt { + pub type_: NodeTag, + pub granted_roles: *mut List, + pub grantee_roles: *mut List, + pub is_grant: bool, + pub opt: *mut List, + pub grantor: *mut RoleSpec, + pub behavior: DropBehavior::Type, +} +impl Default for GrantRoleStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterDefaultPrivilegesStmt { + pub type_: NodeTag, + pub options: *mut List, + pub action: *mut GrantStmt, +} +impl Default for AlterDefaultPrivilegesStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CopyStmt { + pub type_: NodeTag, + pub relation: *mut RangeVar, + pub query: *mut Node, + pub attlist: *mut List, + pub is_from: bool, + pub is_program: bool, + pub filename: *mut ::core::ffi::c_char, + pub options: *mut List, + pub whereClause: *mut Node, +} +impl Default for CopyStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod VariableSetKind { + pub type Type = ::core::ffi::c_uint; + pub const VAR_SET_VALUE: Type = 0; + pub const VAR_SET_DEFAULT: Type = 1; + pub const VAR_SET_CURRENT: Type = 2; + pub const VAR_SET_MULTI: Type = 3; + pub const VAR_RESET: Type = 4; + pub const VAR_RESET_ALL: Type = 5; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct VariableSetStmt { + pub type_: NodeTag, + pub kind: VariableSetKind::Type, + pub name: *mut ::core::ffi::c_char, + pub args: *mut List, + pub jumble_args: bool, + pub is_local: bool, + pub location: ParseLoc, +} +impl Default for VariableSetStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct VariableShowStmt { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, +} +impl Default for VariableShowStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateStmt { + pub type_: NodeTag, + pub relation: *mut RangeVar, + pub tableElts: *mut List, + pub inhRelations: *mut List, + pub partbound: *mut PartitionBoundSpec, + pub partspec: *mut PartitionSpec, + pub ofTypename: *mut TypeName, + pub constraints: *mut List, + pub nnconstraints: *mut List, + pub options: *mut List, + pub oncommit: OnCommitAction::Type, + pub tablespacename: *mut ::core::ffi::c_char, + pub accessMethod: *mut ::core::ffi::c_char, + pub if_not_exists: bool, +} +impl Default for CreateStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ConstrType { + pub type Type = ::core::ffi::c_uint; + pub const CONSTR_NULL: Type = 0; + pub const CONSTR_NOTNULL: Type = 1; + pub const CONSTR_DEFAULT: Type = 2; + pub const CONSTR_IDENTITY: Type = 3; + pub const CONSTR_GENERATED: Type = 4; + pub const CONSTR_CHECK: Type = 5; + pub const CONSTR_PRIMARY: Type = 6; + pub const CONSTR_UNIQUE: Type = 7; + pub const CONSTR_EXCLUSION: Type = 8; + pub const CONSTR_FOREIGN: Type = 9; + pub const CONSTR_ATTR_DEFERRABLE: Type = 10; + pub const CONSTR_ATTR_NOT_DEFERRABLE: Type = 11; + pub const CONSTR_ATTR_DEFERRED: Type = 12; + pub const CONSTR_ATTR_IMMEDIATE: Type = 13; + pub const CONSTR_ATTR_ENFORCED: Type = 14; + pub const CONSTR_ATTR_NOT_ENFORCED: Type = 15; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Constraint { + pub type_: NodeTag, + pub contype: ConstrType::Type, + pub conname: *mut ::core::ffi::c_char, + pub deferrable: bool, + pub initdeferred: bool, + pub is_enforced: bool, + pub skip_validation: bool, + pub initially_valid: bool, + pub is_no_inherit: bool, + pub raw_expr: *mut Node, + pub cooked_expr: *mut ::core::ffi::c_char, + pub generated_when: ::core::ffi::c_char, + pub generated_kind: ::core::ffi::c_char, + pub nulls_not_distinct: bool, + pub keys: *mut List, + pub without_overlaps: bool, + pub including: *mut List, + pub exclusions: *mut List, + pub options: *mut List, + pub indexname: *mut ::core::ffi::c_char, + pub indexspace: *mut ::core::ffi::c_char, + pub reset_default_tblspc: bool, + pub access_method: *mut ::core::ffi::c_char, + pub where_clause: *mut Node, + pub pktable: *mut RangeVar, + pub fk_attrs: *mut List, + pub pk_attrs: *mut List, + pub fk_with_period: bool, + pub pk_with_period: bool, + pub fk_matchtype: ::core::ffi::c_char, + pub fk_upd_action: ::core::ffi::c_char, + pub fk_del_action: ::core::ffi::c_char, + pub fk_del_set_cols: *mut List, + pub old_conpfeqop: *mut List, + pub old_pktable_oid: Oid, + pub location: ParseLoc, +} +impl Default for Constraint { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateTableSpaceStmt { + pub type_: NodeTag, + pub tablespacename: *mut ::core::ffi::c_char, + pub owner: *mut RoleSpec, + pub location: *mut ::core::ffi::c_char, + pub options: *mut List, +} +impl Default for CreateTableSpaceStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DropTableSpaceStmt { + pub type_: NodeTag, + pub tablespacename: *mut ::core::ffi::c_char, + pub missing_ok: bool, +} +impl Default for DropTableSpaceStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterTableSpaceOptionsStmt { + pub type_: NodeTag, + pub tablespacename: *mut ::core::ffi::c_char, + pub options: *mut List, + pub isReset: bool, +} +impl Default for AlterTableSpaceOptionsStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterTableMoveAllStmt { + pub type_: NodeTag, + pub orig_tablespacename: *mut ::core::ffi::c_char, + pub objtype: ObjectType::Type, + pub roles: *mut List, + pub new_tablespacename: *mut ::core::ffi::c_char, + pub nowait: bool, +} +impl Default for AlterTableMoveAllStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateExtensionStmt { + pub type_: NodeTag, + pub extname: *mut ::core::ffi::c_char, + pub if_not_exists: bool, + pub options: *mut List, +} +impl Default for CreateExtensionStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterExtensionStmt { + pub type_: NodeTag, + pub extname: *mut ::core::ffi::c_char, + pub options: *mut List, +} +impl Default for AlterExtensionStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterExtensionContentsStmt { + pub type_: NodeTag, + pub extname: *mut ::core::ffi::c_char, + pub action: ::core::ffi::c_int, + pub objtype: ObjectType::Type, + pub object: *mut Node, +} +impl Default for AlterExtensionContentsStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateFdwStmt { + pub type_: NodeTag, + pub fdwname: *mut ::core::ffi::c_char, + pub func_options: *mut List, + pub options: *mut List, +} +impl Default for CreateFdwStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterFdwStmt { + pub type_: NodeTag, + pub fdwname: *mut ::core::ffi::c_char, + pub func_options: *mut List, + pub options: *mut List, +} +impl Default for AlterFdwStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateForeignServerStmt { + pub type_: NodeTag, + pub servername: *mut ::core::ffi::c_char, + pub servertype: *mut ::core::ffi::c_char, + pub version: *mut ::core::ffi::c_char, + pub fdwname: *mut ::core::ffi::c_char, + pub if_not_exists: bool, + pub options: *mut List, +} +impl Default for CreateForeignServerStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterForeignServerStmt { + pub type_: NodeTag, + pub servername: *mut ::core::ffi::c_char, + pub version: *mut ::core::ffi::c_char, + pub options: *mut List, + pub has_version: bool, +} +impl Default for AlterForeignServerStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateForeignTableStmt { + pub base: CreateStmt, + pub servername: *mut ::core::ffi::c_char, + pub options: *mut List, +} +impl Default for CreateForeignTableStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateUserMappingStmt { + pub type_: NodeTag, + pub user: *mut RoleSpec, + pub servername: *mut ::core::ffi::c_char, + pub if_not_exists: bool, + pub options: *mut List, +} +impl Default for CreateUserMappingStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterUserMappingStmt { + pub type_: NodeTag, + pub user: *mut RoleSpec, + pub servername: *mut ::core::ffi::c_char, + pub options: *mut List, +} +impl Default for AlterUserMappingStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DropUserMappingStmt { + pub type_: NodeTag, + pub user: *mut RoleSpec, + pub servername: *mut ::core::ffi::c_char, + pub missing_ok: bool, +} +impl Default for DropUserMappingStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ImportForeignSchemaType { + pub type Type = ::core::ffi::c_uint; + pub const FDW_IMPORT_SCHEMA_ALL: Type = 0; + pub const FDW_IMPORT_SCHEMA_LIMIT_TO: Type = 1; + pub const FDW_IMPORT_SCHEMA_EXCEPT: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ImportForeignSchemaStmt { + pub type_: NodeTag, + pub server_name: *mut ::core::ffi::c_char, + pub remote_schema: *mut ::core::ffi::c_char, + pub local_schema: *mut ::core::ffi::c_char, + pub list_type: ImportForeignSchemaType::Type, + pub table_list: *mut List, + pub options: *mut List, +} +impl Default for ImportForeignSchemaStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreatePolicyStmt { + pub type_: NodeTag, + pub policy_name: *mut ::core::ffi::c_char, + pub table: *mut RangeVar, + pub cmd_name: *mut ::core::ffi::c_char, + pub permissive: bool, + pub roles: *mut List, + pub qual: *mut Node, + pub with_check: *mut Node, +} +impl Default for CreatePolicyStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterPolicyStmt { + pub type_: NodeTag, + pub policy_name: *mut ::core::ffi::c_char, + pub table: *mut RangeVar, + pub roles: *mut List, + pub qual: *mut Node, + pub with_check: *mut Node, +} +impl Default for AlterPolicyStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateAmStmt { + pub type_: NodeTag, + pub amname: *mut ::core::ffi::c_char, + pub handler_name: *mut List, + pub amtype: ::core::ffi::c_char, +} +impl Default for CreateAmStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateTrigStmt { + pub type_: NodeTag, + pub replace: bool, + pub isconstraint: bool, + pub trigname: *mut ::core::ffi::c_char, + pub relation: *mut RangeVar, + pub funcname: *mut List, + pub args: *mut List, + pub row: bool, + pub timing: int16, + pub events: int16, + pub columns: *mut List, + pub whenClause: *mut Node, + pub transitionRels: *mut List, + pub deferrable: bool, + pub initdeferred: bool, + pub constrrel: *mut RangeVar, +} +impl Default for CreateTrigStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateEventTrigStmt { + pub type_: NodeTag, + pub trigname: *mut ::core::ffi::c_char, + pub eventname: *mut ::core::ffi::c_char, + pub whenclause: *mut List, + pub funcname: *mut List, +} +impl Default for CreateEventTrigStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterEventTrigStmt { + pub type_: NodeTag, + pub trigname: *mut ::core::ffi::c_char, + pub tgenabled: ::core::ffi::c_char, +} +impl Default for AlterEventTrigStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreatePLangStmt { + pub type_: NodeTag, + pub replace: bool, + pub plname: *mut ::core::ffi::c_char, + pub plhandler: *mut List, + pub plinline: *mut List, + pub plvalidator: *mut List, + pub pltrusted: bool, +} +impl Default for CreatePLangStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod RoleStmtType { + pub type Type = ::core::ffi::c_uint; + pub const ROLESTMT_ROLE: Type = 0; + pub const ROLESTMT_USER: Type = 1; + pub const ROLESTMT_GROUP: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateRoleStmt { + pub type_: NodeTag, + pub stmt_type: RoleStmtType::Type, + pub role: *mut ::core::ffi::c_char, + pub options: *mut List, +} +impl Default for CreateRoleStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterRoleStmt { + pub type_: NodeTag, + pub role: *mut RoleSpec, + pub options: *mut List, + pub action: ::core::ffi::c_int, +} +impl Default for AlterRoleStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterRoleSetStmt { + pub type_: NodeTag, + pub role: *mut RoleSpec, + pub database: *mut ::core::ffi::c_char, + pub setstmt: *mut VariableSetStmt, +} +impl Default for AlterRoleSetStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DropRoleStmt { + pub type_: NodeTag, + pub roles: *mut List, + pub missing_ok: bool, +} +impl Default for DropRoleStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateSeqStmt { + pub type_: NodeTag, + pub sequence: *mut RangeVar, + pub options: *mut List, + pub ownerId: Oid, + pub for_identity: bool, + pub if_not_exists: bool, +} +impl Default for CreateSeqStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterSeqStmt { + pub type_: NodeTag, + pub sequence: *mut RangeVar, + pub options: *mut List, + pub for_identity: bool, + pub missing_ok: bool, +} +impl Default for AlterSeqStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DefineStmt { + pub type_: NodeTag, + pub kind: ObjectType::Type, + pub oldstyle: bool, + pub defnames: *mut List, + pub args: *mut List, + pub definition: *mut List, + pub if_not_exists: bool, + pub replace: bool, +} +impl Default for DefineStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateDomainStmt { + pub type_: NodeTag, + pub domainname: *mut List, + pub typeName: *mut TypeName, + pub collClause: *mut CollateClause, + pub constraints: *mut List, +} +impl Default for CreateDomainStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateOpClassStmt { + pub type_: NodeTag, + pub opclassname: *mut List, + pub opfamilyname: *mut List, + pub amname: *mut ::core::ffi::c_char, + pub datatype: *mut TypeName, + pub items: *mut List, + pub isDefault: bool, +} +impl Default for CreateOpClassStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateOpClassItem { + pub type_: NodeTag, + pub itemtype: ::core::ffi::c_int, + pub name: *mut ObjectWithArgs, + pub number: ::core::ffi::c_int, + pub order_family: *mut List, + pub class_args: *mut List, + pub storedtype: *mut TypeName, +} +impl Default for CreateOpClassItem { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateOpFamilyStmt { + pub type_: NodeTag, + pub opfamilyname: *mut List, + pub amname: *mut ::core::ffi::c_char, +} +impl Default for CreateOpFamilyStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterOpFamilyStmt { + pub type_: NodeTag, + pub opfamilyname: *mut List, + pub amname: *mut ::core::ffi::c_char, + pub isDrop: bool, + pub items: *mut List, +} +impl Default for AlterOpFamilyStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DropStmt { + pub type_: NodeTag, + pub objects: *mut List, + pub removeType: ObjectType::Type, + pub behavior: DropBehavior::Type, + pub missing_ok: bool, + pub concurrent: bool, +} +impl Default for DropStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TruncateStmt { + pub type_: NodeTag, + pub relations: *mut List, + pub restart_seqs: bool, + pub behavior: DropBehavior::Type, +} +impl Default for TruncateStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CommentStmt { + pub type_: NodeTag, + pub objtype: ObjectType::Type, + pub object: *mut Node, + pub comment: *mut ::core::ffi::c_char, +} +impl Default for CommentStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SecLabelStmt { + pub type_: NodeTag, + pub objtype: ObjectType::Type, + pub object: *mut Node, + pub provider: *mut ::core::ffi::c_char, + pub label: *mut ::core::ffi::c_char, +} +impl Default for SecLabelStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DeclareCursorStmt { + pub type_: NodeTag, + pub portalname: *mut ::core::ffi::c_char, + pub options: ::core::ffi::c_int, + pub query: *mut Node, +} +impl Default for DeclareCursorStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ClosePortalStmt { + pub type_: NodeTag, + pub portalname: *mut ::core::ffi::c_char, +} +impl Default for ClosePortalStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod FetchDirection { + pub type Type = ::core::ffi::c_uint; + pub const FETCH_FORWARD: Type = 0; + pub const FETCH_BACKWARD: Type = 1; + pub const FETCH_ABSOLUTE: Type = 2; + pub const FETCH_RELATIVE: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FetchStmt { + pub type_: NodeTag, + pub direction: FetchDirection::Type, + pub howMany: ::core::ffi::c_long, + pub portalname: *mut ::core::ffi::c_char, + pub ismove: bool, +} +impl Default for FetchStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexStmt { + pub type_: NodeTag, + pub idxname: *mut ::core::ffi::c_char, + pub relation: *mut RangeVar, + pub accessMethod: *mut ::core::ffi::c_char, + pub tableSpace: *mut ::core::ffi::c_char, + pub indexParams: *mut List, + pub indexIncludingParams: *mut List, + pub options: *mut List, + pub whereClause: *mut Node, + pub excludeOpNames: *mut List, + pub idxcomment: *mut ::core::ffi::c_char, + pub indexOid: Oid, + pub oldNumber: RelFileNumber, + pub oldCreateSubid: SubTransactionId, + pub oldFirstRelfilelocatorSubid: SubTransactionId, + pub unique: bool, + pub nulls_not_distinct: bool, + pub primary: bool, + pub isconstraint: bool, + pub iswithoutoverlaps: bool, + pub deferrable: bool, + pub initdeferred: bool, + pub transformed: bool, + pub concurrent: bool, + pub if_not_exists: bool, + pub reset_default_tblspc: bool, +} +impl Default for IndexStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateStatsStmt { + pub type_: NodeTag, + pub defnames: *mut List, + pub stat_types: *mut List, + pub exprs: *mut List, + pub relations: *mut List, + pub stxcomment: *mut ::core::ffi::c_char, + pub transformed: bool, + pub if_not_exists: bool, +} +impl Default for CreateStatsStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct StatsElem { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, + pub expr: *mut Node, +} +impl Default for StatsElem { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterStatsStmt { + pub type_: NodeTag, + pub defnames: *mut List, + pub stxstattarget: *mut Node, + pub missing_ok: bool, +} +impl Default for AlterStatsStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateFunctionStmt { + pub type_: NodeTag, + pub is_procedure: bool, + pub replace: bool, + pub funcname: *mut List, + pub parameters: *mut List, + pub returnType: *mut TypeName, + pub options: *mut List, + pub sql_body: *mut Node, +} +impl Default for CreateFunctionStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod FunctionParameterMode { + pub type Type = ::core::ffi::c_uint; + pub const FUNC_PARAM_IN: Type = 105; + pub const FUNC_PARAM_OUT: Type = 111; + pub const FUNC_PARAM_INOUT: Type = 98; + pub const FUNC_PARAM_VARIADIC: Type = 118; + pub const FUNC_PARAM_TABLE: Type = 116; + pub const FUNC_PARAM_DEFAULT: Type = 100; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FunctionParameter { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, + pub argType: *mut TypeName, + pub mode: FunctionParameterMode::Type, + pub defexpr: *mut Node, + pub location: ParseLoc, +} +impl Default for FunctionParameter { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterFunctionStmt { + pub type_: NodeTag, + pub objtype: ObjectType::Type, + pub func: *mut ObjectWithArgs, + pub actions: *mut List, +} +impl Default for AlterFunctionStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DoStmt { + pub type_: NodeTag, + pub args: *mut List, +} +impl Default for DoStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct InlineCodeBlock { + pub type_: NodeTag, + pub source_text: *mut ::core::ffi::c_char, + pub langOid: Oid, + pub langIsTrusted: bool, + pub atomic: bool, +} +impl Default for InlineCodeBlock { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CallStmt { + pub type_: NodeTag, + pub funccall: *mut FuncCall, + pub funcexpr: *mut FuncExpr, + pub outargs: *mut List, +} +impl Default for CallStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CallContext { + pub type_: NodeTag, + pub atomic: bool, +} +impl Default for CallContext { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RenameStmt { + pub type_: NodeTag, + pub renameType: ObjectType::Type, + pub relationType: ObjectType::Type, + pub relation: *mut RangeVar, + pub object: *mut Node, + pub subname: *mut ::core::ffi::c_char, + pub newname: *mut ::core::ffi::c_char, + pub behavior: DropBehavior::Type, + pub missing_ok: bool, +} +impl Default for RenameStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterObjectDependsStmt { + pub type_: NodeTag, + pub objectType: ObjectType::Type, + pub relation: *mut RangeVar, + pub object: *mut Node, + pub extname: *mut String, + pub remove: bool, +} +impl Default for AlterObjectDependsStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterObjectSchemaStmt { + pub type_: NodeTag, + pub objectType: ObjectType::Type, + pub relation: *mut RangeVar, + pub object: *mut Node, + pub newschema: *mut ::core::ffi::c_char, + pub missing_ok: bool, +} +impl Default for AlterObjectSchemaStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterOwnerStmt { + pub type_: NodeTag, + pub objectType: ObjectType::Type, + pub relation: *mut RangeVar, + pub object: *mut Node, + pub newowner: *mut RoleSpec, +} +impl Default for AlterOwnerStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterOperatorStmt { + pub type_: NodeTag, + pub opername: *mut ObjectWithArgs, + pub options: *mut List, +} +impl Default for AlterOperatorStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterTypeStmt { + pub type_: NodeTag, + pub typeName: *mut List, + pub options: *mut List, +} +impl Default for AlterTypeStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RuleStmt { + pub type_: NodeTag, + pub relation: *mut RangeVar, + pub rulename: *mut ::core::ffi::c_char, + pub whereClause: *mut Node, + pub event: CmdType::Type, + pub instead: bool, + pub actions: *mut List, + pub replace: bool, +} +impl Default for RuleStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NotifyStmt { + pub type_: NodeTag, + pub conditionname: *mut ::core::ffi::c_char, + pub payload: *mut ::core::ffi::c_char, +} +impl Default for NotifyStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ListenStmt { + pub type_: NodeTag, + pub conditionname: *mut ::core::ffi::c_char, +} +impl Default for ListenStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct UnlistenStmt { + pub type_: NodeTag, + pub conditionname: *mut ::core::ffi::c_char, +} +impl Default for UnlistenStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod TransactionStmtKind { + pub type Type = ::core::ffi::c_uint; + pub const TRANS_STMT_BEGIN: Type = 0; + pub const TRANS_STMT_START: Type = 1; + pub const TRANS_STMT_COMMIT: Type = 2; + pub const TRANS_STMT_ROLLBACK: Type = 3; + pub const TRANS_STMT_SAVEPOINT: Type = 4; + pub const TRANS_STMT_RELEASE: Type = 5; + pub const TRANS_STMT_ROLLBACK_TO: Type = 6; + pub const TRANS_STMT_PREPARE: Type = 7; + pub const TRANS_STMT_COMMIT_PREPARED: Type = 8; + pub const TRANS_STMT_ROLLBACK_PREPARED: Type = 9; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TransactionStmt { + pub type_: NodeTag, + pub kind: TransactionStmtKind::Type, + pub options: *mut List, + pub savepoint_name: *mut ::core::ffi::c_char, + pub gid: *mut ::core::ffi::c_char, + pub chain: bool, + pub location: ParseLoc, +} +impl Default for TransactionStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CompositeTypeStmt { + pub type_: NodeTag, + pub typevar: *mut RangeVar, + pub coldeflist: *mut List, +} +impl Default for CompositeTypeStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateEnumStmt { + pub type_: NodeTag, + pub typeName: *mut List, + pub vals: *mut List, +} +impl Default for CreateEnumStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateRangeStmt { + pub type_: NodeTag, + pub typeName: *mut List, + pub params: *mut List, +} +impl Default for CreateRangeStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterEnumStmt { + pub type_: NodeTag, + pub typeName: *mut List, + pub oldVal: *mut ::core::ffi::c_char, + pub newVal: *mut ::core::ffi::c_char, + pub newValNeighbor: *mut ::core::ffi::c_char, + pub newValIsAfter: bool, + pub skipIfNewValExists: bool, +} +impl Default for AlterEnumStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ViewCheckOption { + pub type Type = ::core::ffi::c_uint; + pub const NO_CHECK_OPTION: Type = 0; + pub const LOCAL_CHECK_OPTION: Type = 1; + pub const CASCADED_CHECK_OPTION: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ViewStmt { + pub type_: NodeTag, + pub view: *mut RangeVar, + pub aliases: *mut List, + pub query: *mut Node, + pub replace: bool, + pub options: *mut List, + pub withCheckOption: ViewCheckOption::Type, +} +impl Default for ViewStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LoadStmt { + pub type_: NodeTag, + pub filename: *mut ::core::ffi::c_char, +} +impl Default for LoadStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreatedbStmt { + pub type_: NodeTag, + pub dbname: *mut ::core::ffi::c_char, + pub options: *mut List, +} +impl Default for CreatedbStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterDatabaseStmt { + pub type_: NodeTag, + pub dbname: *mut ::core::ffi::c_char, + pub options: *mut List, +} +impl Default for AlterDatabaseStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterDatabaseRefreshCollStmt { + pub type_: NodeTag, + pub dbname: *mut ::core::ffi::c_char, +} +impl Default for AlterDatabaseRefreshCollStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterDatabaseSetStmt { + pub type_: NodeTag, + pub dbname: *mut ::core::ffi::c_char, + pub setstmt: *mut VariableSetStmt, +} +impl Default for AlterDatabaseSetStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DropdbStmt { + pub type_: NodeTag, + pub dbname: *mut ::core::ffi::c_char, + pub missing_ok: bool, + pub options: *mut List, +} +impl Default for DropdbStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterSystemStmt { + pub type_: NodeTag, + pub setstmt: *mut VariableSetStmt, +} +impl Default for AlterSystemStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ClusterStmt { + pub type_: NodeTag, + pub relation: *mut RangeVar, + pub indexname: *mut ::core::ffi::c_char, + pub params: *mut List, +} +impl Default for ClusterStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct VacuumStmt { + pub type_: NodeTag, + pub options: *mut List, + pub rels: *mut List, + pub is_vacuumcmd: bool, +} +impl Default for VacuumStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct VacuumRelation { + pub type_: NodeTag, + pub relation: *mut RangeVar, + pub oid: Oid, + pub va_cols: *mut List, +} +impl Default for VacuumRelation { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExplainStmt { + pub type_: NodeTag, + pub query: *mut Node, + pub options: *mut List, +} +impl Default for ExplainStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateTableAsStmt { + pub type_: NodeTag, + pub query: *mut Node, + pub into: *mut IntoClause, + pub objtype: ObjectType::Type, + pub is_select_into: bool, + pub if_not_exists: bool, +} +impl Default for CreateTableAsStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RefreshMatViewStmt { + pub type_: NodeTag, + pub concurrent: bool, + pub skipData: bool, + pub relation: *mut RangeVar, +} +impl Default for RefreshMatViewStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CheckPointStmt { + pub type_: NodeTag, +} +impl Default for CheckPointStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod DiscardMode { + pub type Type = ::core::ffi::c_uint; + pub const DISCARD_ALL: Type = 0; + pub const DISCARD_PLANS: Type = 1; + pub const DISCARD_SEQUENCES: Type = 2; + pub const DISCARD_TEMP: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DiscardStmt { + pub type_: NodeTag, + pub target: DiscardMode::Type, +} +impl Default for DiscardStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LockStmt { + pub type_: NodeTag, + pub relations: *mut List, + pub mode: ::core::ffi::c_int, + pub nowait: bool, +} +impl Default for LockStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ConstraintsSetStmt { + pub type_: NodeTag, + pub constraints: *mut List, + pub deferred: bool, +} +impl Default for ConstraintsSetStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ReindexObjectType { + pub type Type = ::core::ffi::c_uint; + pub const REINDEX_OBJECT_INDEX: Type = 0; + pub const REINDEX_OBJECT_TABLE: Type = 1; + pub const REINDEX_OBJECT_SCHEMA: Type = 2; + pub const REINDEX_OBJECT_SYSTEM: Type = 3; + pub const REINDEX_OBJECT_DATABASE: Type = 4; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReindexStmt { + pub type_: NodeTag, + pub kind: ReindexObjectType::Type, + pub relation: *mut RangeVar, + pub name: *const ::core::ffi::c_char, + pub params: *mut List, +} +impl Default for ReindexStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateConversionStmt { + pub type_: NodeTag, + pub conversion_name: *mut List, + pub for_encoding_name: *mut ::core::ffi::c_char, + pub to_encoding_name: *mut ::core::ffi::c_char, + pub func_name: *mut List, + pub def: bool, +} +impl Default for CreateConversionStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateCastStmt { + pub type_: NodeTag, + pub sourcetype: *mut TypeName, + pub targettype: *mut TypeName, + pub func: *mut ObjectWithArgs, + pub context: CoercionContext::Type, + pub inout: bool, +} +impl Default for CreateCastStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateTransformStmt { + pub type_: NodeTag, + pub replace: bool, + pub type_name: *mut TypeName, + pub lang: *mut ::core::ffi::c_char, + pub fromsql: *mut ObjectWithArgs, + pub tosql: *mut ObjectWithArgs, +} +impl Default for CreateTransformStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PrepareStmt { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, + pub argtypes: *mut List, + pub query: *mut Node, +} +impl Default for PrepareStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExecuteStmt { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, + pub params: *mut List, +} +impl Default for ExecuteStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DeallocateStmt { + pub type_: NodeTag, + pub name: *mut ::core::ffi::c_char, + pub isall: bool, + pub location: ParseLoc, +} +impl Default for DeallocateStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DropOwnedStmt { + pub type_: NodeTag, + pub roles: *mut List, + pub behavior: DropBehavior::Type, +} +impl Default for DropOwnedStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReassignOwnedStmt { + pub type_: NodeTag, + pub roles: *mut List, + pub newrole: *mut RoleSpec, +} +impl Default for ReassignOwnedStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterTSDictionaryStmt { + pub type_: NodeTag, + pub dictname: *mut List, + pub options: *mut List, +} +impl Default for AlterTSDictionaryStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod AlterTSConfigType { + pub type Type = ::core::ffi::c_uint; + pub const ALTER_TSCONFIG_ADD_MAPPING: Type = 0; + pub const ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN: Type = 1; + pub const ALTER_TSCONFIG_REPLACE_DICT: Type = 2; + pub const ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN: Type = 3; + pub const ALTER_TSCONFIG_DROP_MAPPING: Type = 4; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterTSConfigurationStmt { + pub type_: NodeTag, + pub kind: AlterTSConfigType::Type, + pub cfgname: *mut List, + pub tokentype: *mut List, + pub dicts: *mut List, + pub override_: bool, + pub replace: bool, + pub missing_ok: bool, +} +impl Default for AlterTSConfigurationStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PublicationTable { + pub type_: NodeTag, + pub relation: *mut RangeVar, + pub whereClause: *mut Node, + pub columns: *mut List, +} +impl Default for PublicationTable { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod PublicationObjSpecType { + pub type Type = ::core::ffi::c_uint; + pub const PUBLICATIONOBJ_TABLE: Type = 0; + pub const PUBLICATIONOBJ_TABLES_IN_SCHEMA: Type = 1; + pub const PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA: Type = 2; + pub const PUBLICATIONOBJ_CONTINUATION: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PublicationObjSpec { + pub type_: NodeTag, + pub pubobjtype: PublicationObjSpecType::Type, + pub name: *mut ::core::ffi::c_char, + pub pubtable: *mut PublicationTable, + pub location: ParseLoc, +} +impl Default for PublicationObjSpec { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreatePublicationStmt { + pub type_: NodeTag, + pub pubname: *mut ::core::ffi::c_char, + pub options: *mut List, + pub pubobjects: *mut List, + pub for_all_tables: bool, +} +impl Default for CreatePublicationStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod AlterPublicationAction { + pub type Type = ::core::ffi::c_uint; + pub const AP_AddObjects: Type = 0; + pub const AP_DropObjects: Type = 1; + pub const AP_SetObjects: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterPublicationStmt { + pub type_: NodeTag, + pub pubname: *mut ::core::ffi::c_char, + pub options: *mut List, + pub pubobjects: *mut List, + pub for_all_tables: bool, + pub action: AlterPublicationAction::Type, +} +impl Default for AlterPublicationStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateSubscriptionStmt { + pub type_: NodeTag, + pub subname: *mut ::core::ffi::c_char, + pub conninfo: *mut ::core::ffi::c_char, + pub publication: *mut List, + pub options: *mut List, +} +impl Default for CreateSubscriptionStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod AlterSubscriptionType { + pub type Type = ::core::ffi::c_uint; + pub const ALTER_SUBSCRIPTION_OPTIONS: Type = 0; + pub const ALTER_SUBSCRIPTION_CONNECTION: Type = 1; + pub const ALTER_SUBSCRIPTION_SET_PUBLICATION: Type = 2; + pub const ALTER_SUBSCRIPTION_ADD_PUBLICATION: Type = 3; + pub const ALTER_SUBSCRIPTION_DROP_PUBLICATION: Type = 4; + pub const ALTER_SUBSCRIPTION_REFRESH: Type = 5; + pub const ALTER_SUBSCRIPTION_ENABLED: Type = 6; + pub const ALTER_SUBSCRIPTION_SKIP: Type = 7; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterSubscriptionStmt { + pub type_: NodeTag, + pub kind: AlterSubscriptionType::Type, + pub subname: *mut ::core::ffi::c_char, + pub conninfo: *mut ::core::ffi::c_char, + pub publication: *mut List, + pub options: *mut List, +} +impl Default for AlterSubscriptionStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DropSubscriptionStmt { + pub type_: NodeTag, + pub subname: *mut ::core::ffi::c_char, + pub missing_ok: bool, + pub behavior: DropBehavior::Type, +} +impl Default for DropSubscriptionStmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod CommandTag { + pub type Type = ::core::ffi::c_uint; + pub const CMDTAG_UNKNOWN: Type = 0; + pub const CMDTAG_ALTER_ACCESS_METHOD: Type = 1; + pub const CMDTAG_ALTER_AGGREGATE: Type = 2; + pub const CMDTAG_ALTER_CAST: Type = 3; + pub const CMDTAG_ALTER_COLLATION: Type = 4; + pub const CMDTAG_ALTER_CONSTRAINT: Type = 5; + pub const CMDTAG_ALTER_CONVERSION: Type = 6; + pub const CMDTAG_ALTER_DATABASE: Type = 7; + pub const CMDTAG_ALTER_DEFAULT_PRIVILEGES: Type = 8; + pub const CMDTAG_ALTER_DOMAIN: Type = 9; + pub const CMDTAG_ALTER_EVENT_TRIGGER: Type = 10; + pub const CMDTAG_ALTER_EXTENSION: Type = 11; + pub const CMDTAG_ALTER_FOREIGN_DATA_WRAPPER: Type = 12; + pub const CMDTAG_ALTER_FOREIGN_TABLE: Type = 13; + pub const CMDTAG_ALTER_FUNCTION: Type = 14; + pub const CMDTAG_ALTER_INDEX: Type = 15; + pub const CMDTAG_ALTER_LANGUAGE: Type = 16; + pub const CMDTAG_ALTER_LARGE_OBJECT: Type = 17; + pub const CMDTAG_ALTER_MATERIALIZED_VIEW: Type = 18; + pub const CMDTAG_ALTER_OPERATOR: Type = 19; + pub const CMDTAG_ALTER_OPERATOR_CLASS: Type = 20; + pub const CMDTAG_ALTER_OPERATOR_FAMILY: Type = 21; + pub const CMDTAG_ALTER_POLICY: Type = 22; + pub const CMDTAG_ALTER_PROCEDURE: Type = 23; + pub const CMDTAG_ALTER_PUBLICATION: Type = 24; + pub const CMDTAG_ALTER_ROLE: Type = 25; + pub const CMDTAG_ALTER_ROUTINE: Type = 26; + pub const CMDTAG_ALTER_RULE: Type = 27; + pub const CMDTAG_ALTER_SCHEMA: Type = 28; + pub const CMDTAG_ALTER_SEQUENCE: Type = 29; + pub const CMDTAG_ALTER_SERVER: Type = 30; + pub const CMDTAG_ALTER_STATISTICS: Type = 31; + pub const CMDTAG_ALTER_SUBSCRIPTION: Type = 32; + pub const CMDTAG_ALTER_SYSTEM: Type = 33; + pub const CMDTAG_ALTER_TABLE: Type = 34; + pub const CMDTAG_ALTER_TABLESPACE: Type = 35; + pub const CMDTAG_ALTER_TEXT_SEARCH_CONFIGURATION: Type = 36; + pub const CMDTAG_ALTER_TEXT_SEARCH_DICTIONARY: Type = 37; + pub const CMDTAG_ALTER_TEXT_SEARCH_PARSER: Type = 38; + pub const CMDTAG_ALTER_TEXT_SEARCH_TEMPLATE: Type = 39; + pub const CMDTAG_ALTER_TRANSFORM: Type = 40; + pub const CMDTAG_ALTER_TRIGGER: Type = 41; + pub const CMDTAG_ALTER_TYPE: Type = 42; + pub const CMDTAG_ALTER_USER_MAPPING: Type = 43; + pub const CMDTAG_ALTER_VIEW: Type = 44; + pub const CMDTAG_ANALYZE: Type = 45; + pub const CMDTAG_BEGIN: Type = 46; + pub const CMDTAG_CALL: Type = 47; + pub const CMDTAG_CHECKPOINT: Type = 48; + pub const CMDTAG_CLOSE: Type = 49; + pub const CMDTAG_CLOSE_CURSOR: Type = 50; + pub const CMDTAG_CLOSE_CURSOR_ALL: Type = 51; + pub const CMDTAG_CLUSTER: Type = 52; + pub const CMDTAG_COMMENT: Type = 53; + pub const CMDTAG_COMMIT: Type = 54; + pub const CMDTAG_COMMIT_PREPARED: Type = 55; + pub const CMDTAG_COPY: Type = 56; + pub const CMDTAG_COPY_FROM: Type = 57; + pub const CMDTAG_CREATE_ACCESS_METHOD: Type = 58; + pub const CMDTAG_CREATE_AGGREGATE: Type = 59; + pub const CMDTAG_CREATE_CAST: Type = 60; + pub const CMDTAG_CREATE_COLLATION: Type = 61; + pub const CMDTAG_CREATE_CONSTRAINT: Type = 62; + pub const CMDTAG_CREATE_CONVERSION: Type = 63; + pub const CMDTAG_CREATE_DATABASE: Type = 64; + pub const CMDTAG_CREATE_DOMAIN: Type = 65; + pub const CMDTAG_CREATE_EVENT_TRIGGER: Type = 66; + pub const CMDTAG_CREATE_EXTENSION: Type = 67; + pub const CMDTAG_CREATE_FOREIGN_DATA_WRAPPER: Type = 68; + pub const CMDTAG_CREATE_FOREIGN_TABLE: Type = 69; + pub const CMDTAG_CREATE_FUNCTION: Type = 70; + pub const CMDTAG_CREATE_INDEX: Type = 71; + pub const CMDTAG_CREATE_LANGUAGE: Type = 72; + pub const CMDTAG_CREATE_MATERIALIZED_VIEW: Type = 73; + pub const CMDTAG_CREATE_OPERATOR: Type = 74; + pub const CMDTAG_CREATE_OPERATOR_CLASS: Type = 75; + pub const CMDTAG_CREATE_OPERATOR_FAMILY: Type = 76; + pub const CMDTAG_CREATE_POLICY: Type = 77; + pub const CMDTAG_CREATE_PROCEDURE: Type = 78; + pub const CMDTAG_CREATE_PUBLICATION: Type = 79; + pub const CMDTAG_CREATE_ROLE: Type = 80; + pub const CMDTAG_CREATE_ROUTINE: Type = 81; + pub const CMDTAG_CREATE_RULE: Type = 82; + pub const CMDTAG_CREATE_SCHEMA: Type = 83; + pub const CMDTAG_CREATE_SEQUENCE: Type = 84; + pub const CMDTAG_CREATE_SERVER: Type = 85; + pub const CMDTAG_CREATE_STATISTICS: Type = 86; + pub const CMDTAG_CREATE_SUBSCRIPTION: Type = 87; + pub const CMDTAG_CREATE_TABLE: Type = 88; + pub const CMDTAG_CREATE_TABLE_AS: Type = 89; + pub const CMDTAG_CREATE_TABLESPACE: Type = 90; + pub const CMDTAG_CREATE_TEXT_SEARCH_CONFIGURATION: Type = 91; + pub const CMDTAG_CREATE_TEXT_SEARCH_DICTIONARY: Type = 92; + pub const CMDTAG_CREATE_TEXT_SEARCH_PARSER: Type = 93; + pub const CMDTAG_CREATE_TEXT_SEARCH_TEMPLATE: Type = 94; + pub const CMDTAG_CREATE_TRANSFORM: Type = 95; + pub const CMDTAG_CREATE_TRIGGER: Type = 96; + pub const CMDTAG_CREATE_TYPE: Type = 97; + pub const CMDTAG_CREATE_USER_MAPPING: Type = 98; + pub const CMDTAG_CREATE_VIEW: Type = 99; + pub const CMDTAG_DEALLOCATE: Type = 100; + pub const CMDTAG_DEALLOCATE_ALL: Type = 101; + pub const CMDTAG_DECLARE_CURSOR: Type = 102; + pub const CMDTAG_DELETE: Type = 103; + pub const CMDTAG_DISCARD: Type = 104; + pub const CMDTAG_DISCARD_ALL: Type = 105; + pub const CMDTAG_DISCARD_PLANS: Type = 106; + pub const CMDTAG_DISCARD_SEQUENCES: Type = 107; + pub const CMDTAG_DISCARD_TEMP: Type = 108; + pub const CMDTAG_DO: Type = 109; + pub const CMDTAG_DROP_ACCESS_METHOD: Type = 110; + pub const CMDTAG_DROP_AGGREGATE: Type = 111; + pub const CMDTAG_DROP_CAST: Type = 112; + pub const CMDTAG_DROP_COLLATION: Type = 113; + pub const CMDTAG_DROP_CONSTRAINT: Type = 114; + pub const CMDTAG_DROP_CONVERSION: Type = 115; + pub const CMDTAG_DROP_DATABASE: Type = 116; + pub const CMDTAG_DROP_DOMAIN: Type = 117; + pub const CMDTAG_DROP_EVENT_TRIGGER: Type = 118; + pub const CMDTAG_DROP_EXTENSION: Type = 119; + pub const CMDTAG_DROP_FOREIGN_DATA_WRAPPER: Type = 120; + pub const CMDTAG_DROP_FOREIGN_TABLE: Type = 121; + pub const CMDTAG_DROP_FUNCTION: Type = 122; + pub const CMDTAG_DROP_INDEX: Type = 123; + pub const CMDTAG_DROP_LANGUAGE: Type = 124; + pub const CMDTAG_DROP_MATERIALIZED_VIEW: Type = 125; + pub const CMDTAG_DROP_OPERATOR: Type = 126; + pub const CMDTAG_DROP_OPERATOR_CLASS: Type = 127; + pub const CMDTAG_DROP_OPERATOR_FAMILY: Type = 128; + pub const CMDTAG_DROP_OWNED: Type = 129; + pub const CMDTAG_DROP_POLICY: Type = 130; + pub const CMDTAG_DROP_PROCEDURE: Type = 131; + pub const CMDTAG_DROP_PUBLICATION: Type = 132; + pub const CMDTAG_DROP_ROLE: Type = 133; + pub const CMDTAG_DROP_ROUTINE: Type = 134; + pub const CMDTAG_DROP_RULE: Type = 135; + pub const CMDTAG_DROP_SCHEMA: Type = 136; + pub const CMDTAG_DROP_SEQUENCE: Type = 137; + pub const CMDTAG_DROP_SERVER: Type = 138; + pub const CMDTAG_DROP_STATISTICS: Type = 139; + pub const CMDTAG_DROP_SUBSCRIPTION: Type = 140; + pub const CMDTAG_DROP_TABLE: Type = 141; + pub const CMDTAG_DROP_TABLESPACE: Type = 142; + pub const CMDTAG_DROP_TEXT_SEARCH_CONFIGURATION: Type = 143; + pub const CMDTAG_DROP_TEXT_SEARCH_DICTIONARY: Type = 144; + pub const CMDTAG_DROP_TEXT_SEARCH_PARSER: Type = 145; + pub const CMDTAG_DROP_TEXT_SEARCH_TEMPLATE: Type = 146; + pub const CMDTAG_DROP_TRANSFORM: Type = 147; + pub const CMDTAG_DROP_TRIGGER: Type = 148; + pub const CMDTAG_DROP_TYPE: Type = 149; + pub const CMDTAG_DROP_USER_MAPPING: Type = 150; + pub const CMDTAG_DROP_VIEW: Type = 151; + pub const CMDTAG_EXECUTE: Type = 152; + pub const CMDTAG_EXPLAIN: Type = 153; + pub const CMDTAG_FETCH: Type = 154; + pub const CMDTAG_GRANT: Type = 155; + pub const CMDTAG_GRANT_ROLE: Type = 156; + pub const CMDTAG_IMPORT_FOREIGN_SCHEMA: Type = 157; + pub const CMDTAG_INSERT: Type = 158; + pub const CMDTAG_LISTEN: Type = 159; + pub const CMDTAG_LOAD: Type = 160; + pub const CMDTAG_LOCK_TABLE: Type = 161; + pub const CMDTAG_LOGIN: Type = 162; + pub const CMDTAG_MERGE: Type = 163; + pub const CMDTAG_MOVE: Type = 164; + pub const CMDTAG_NOTIFY: Type = 165; + pub const CMDTAG_PREPARE: Type = 166; + pub const CMDTAG_PREPARE_TRANSACTION: Type = 167; + pub const CMDTAG_REASSIGN_OWNED: Type = 168; + pub const CMDTAG_REFRESH_MATERIALIZED_VIEW: Type = 169; + pub const CMDTAG_REINDEX: Type = 170; + pub const CMDTAG_RELEASE: Type = 171; + pub const CMDTAG_RESET: Type = 172; + pub const CMDTAG_REVOKE: Type = 173; + pub const CMDTAG_REVOKE_ROLE: Type = 174; + pub const CMDTAG_ROLLBACK: Type = 175; + pub const CMDTAG_ROLLBACK_PREPARED: Type = 176; + pub const CMDTAG_SAVEPOINT: Type = 177; + pub const CMDTAG_SECURITY_LABEL: Type = 178; + pub const CMDTAG_SELECT: Type = 179; + pub const CMDTAG_SELECT_FOR_KEY_SHARE: Type = 180; + pub const CMDTAG_SELECT_FOR_NO_KEY_UPDATE: Type = 181; + pub const CMDTAG_SELECT_FOR_SHARE: Type = 182; + pub const CMDTAG_SELECT_FOR_UPDATE: Type = 183; + pub const CMDTAG_SELECT_INTO: Type = 184; + pub const CMDTAG_SET: Type = 185; + pub const CMDTAG_SET_CONSTRAINTS: Type = 186; + pub const CMDTAG_SHOW: Type = 187; + pub const CMDTAG_START_TRANSACTION: Type = 188; + pub const CMDTAG_TRUNCATE_TABLE: Type = 189; + pub const CMDTAG_UNLISTEN: Type = 190; + pub const CMDTAG_UPDATE: Type = 191; + pub const CMDTAG_VACUUM: Type = 192; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct QueryCompletion { + pub commandTag: CommandTag::Type, + pub nprocessed: uint64, +} +impl Default for QueryCompletion { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ResourceOwnerData { + _unused: [u8; 0], +} +pub type ResourceOwner = *mut ResourceOwnerData; +pub mod ResourceReleasePhase { + pub type Type = ::core::ffi::c_uint; + pub const RESOURCE_RELEASE_BEFORE_LOCKS: Type = 1; + pub const RESOURCE_RELEASE_LOCKS: Type = 2; + pub const RESOURCE_RELEASE_AFTER_LOCKS: Type = 3; +} +pub type ResourceReleasePriority = uint32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ResourceOwnerDesc { + pub name: *const ::core::ffi::c_char, + pub release_phase: ResourceReleasePhase::Type, + pub release_priority: ResourceReleasePriority, + pub ReleaseResource: ::core::option::Option, + pub DebugPrint: + ::core::option::Option *mut ::core::ffi::c_char>, +} +impl Default for ResourceOwnerDesc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ResourceReleaseCallback = ::core::option::Option< + unsafe extern "C-unwind" fn( + phase: ResourceReleasePhase::Type, + isCommit: bool, + isTopLevel: bool, + arg: *mut ::core::ffi::c_void, + ), +>; +pub mod PlanCacheMode { + pub type Type = ::core::ffi::c_uint; + pub const PLAN_CACHE_MODE_AUTO: Type = 0; + pub const PLAN_CACHE_MODE_FORCE_GENERIC_PLAN: Type = 1; + pub const PLAN_CACHE_MODE_FORCE_CUSTOM_PLAN: Type = 2; +} +pub type PostRewriteHook = ::core::option::Option< + unsafe extern "C-unwind" fn(querytree_list: *mut List, arg: *mut ::core::ffi::c_void), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CachedPlanSource { + pub magic: ::core::ffi::c_int, + pub raw_parse_tree: *mut RawStmt, + pub analyzed_parse_tree: *mut Query, + pub query_string: *const ::core::ffi::c_char, + pub commandTag: CommandTag::Type, + pub param_types: *mut Oid, + pub num_params: ::core::ffi::c_int, + pub parserSetup: ParserSetupHook, + pub parserSetupArg: *mut ::core::ffi::c_void, + pub postRewrite: PostRewriteHook, + pub postRewriteArg: *mut ::core::ffi::c_void, + pub cursor_options: ::core::ffi::c_int, + pub fixed_result: bool, + pub resultDesc: TupleDesc, + pub context: MemoryContext, + pub query_list: *mut List, + pub relationOids: *mut List, + pub invalItems: *mut List, + pub search_path: *mut SearchPathMatcher, + pub query_context: MemoryContext, + pub rewriteRoleId: Oid, + pub rewriteRowSecurity: bool, + pub dependsOnRLS: bool, + pub gplan: *mut CachedPlan, + pub is_oneshot: bool, + pub is_complete: bool, + pub is_saved: bool, + pub is_valid: bool, + pub generation: ::core::ffi::c_int, + pub node: dlist_node, + pub generic_cost: f64, + pub total_custom_cost: f64, + pub num_custom_plans: int64, + pub num_generic_plans: int64, +} +impl Default for CachedPlanSource { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CachedPlan { + pub magic: ::core::ffi::c_int, + pub stmt_list: *mut List, + pub is_oneshot: bool, + pub is_saved: bool, + pub is_reused: bool, + pub is_valid: bool, + pub planRoleId: Oid, + pub dependsOnRole: bool, + pub saved_xmin: TransactionId, + pub generation: ::core::ffi::c_int, + pub refcount: ::core::ffi::c_int, + pub context: MemoryContext, + pub stmt_context: MemoryContext, +} +impl Default for CachedPlan { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CachedExpression { + pub magic: ::core::ffi::c_int, + pub expr: *mut Node, + pub is_valid: bool, + pub relationOids: *mut List, + pub invalItems: *mut List, + pub context: MemoryContext, + pub node: dlist_node, +} +impl Default for CachedExpression { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Trigger { + pub tgoid: Oid, + pub tgname: *mut ::core::ffi::c_char, + pub tgfoid: Oid, + pub tgtype: int16, + pub tgenabled: ::core::ffi::c_char, + pub tgisinternal: bool, + pub tgisclone: bool, + pub tgconstrrelid: Oid, + pub tgconstrindid: Oid, + pub tgconstraint: Oid, + pub tgdeferrable: bool, + pub tginitdeferred: bool, + pub tgnargs: int16, + pub tgnattr: int16, + pub tgattr: *mut int16, + pub tgargs: *mut *mut ::core::ffi::c_char, + pub tgqual: *mut ::core::ffi::c_char, + pub tgoldtable: *mut ::core::ffi::c_char, + pub tgnewtable: *mut ::core::ffi::c_char, +} +impl Default for Trigger { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TriggerDesc { + pub triggers: *mut Trigger, + pub numtriggers: ::core::ffi::c_int, + pub trig_insert_before_row: bool, + pub trig_insert_after_row: bool, + pub trig_insert_instead_row: bool, + pub trig_insert_before_statement: bool, + pub trig_insert_after_statement: bool, + pub trig_update_before_row: bool, + pub trig_update_after_row: bool, + pub trig_update_instead_row: bool, + pub trig_update_before_statement: bool, + pub trig_update_after_statement: bool, + pub trig_delete_before_row: bool, + pub trig_delete_after_row: bool, + pub trig_delete_instead_row: bool, + pub trig_delete_before_statement: bool, + pub trig_delete_after_statement: bool, + pub trig_truncate_before_statement: bool, + pub trig_truncate_after_statement: bool, + pub trig_insert_new_table: bool, + pub trig_update_old_table: bool, + pub trig_update_new_table: bool, + pub trig_delete_old_table: bool, +} +impl Default for TriggerDesc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type socklen_t = __socklen_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dirent { + pub d_ino: __ino_t, + pub d_off: __off_t, + pub d_reclen: ::core::ffi::c_ushort, + pub d_type: ::core::ffi::c_uchar, + pub d_name: [::core::ffi::c_char; 256usize], +} +impl Default for dirent { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __dirstream { + _unused: [u8; 0], +} +pub type DIR = __dirstream; +pub type File = ::core::ffi::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PgAioHandle { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FileSet { + pub creator_pid: pid_t, + pub number: uint32, + pub ntablespaces: ::core::ffi::c_int, + pub tablespaces: [Oid; 8usize], +} +impl Default for FileSet { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SharedFileSet { + pub fs: FileSet, + pub mutex: slock_t, + pub refcnt: ::core::ffi::c_int, +} +impl Default for SharedFileSet { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SharedTuplestore { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SharedTuplestoreAccessor { + _unused: [u8; 0], +} +pub mod SnapshotType { + pub type Type = ::core::ffi::c_uint; + pub const SNAPSHOT_MVCC: Type = 0; + pub const SNAPSHOT_SELF: Type = 1; + pub const SNAPSHOT_ANY: Type = 2; + pub const SNAPSHOT_TOAST: Type = 3; + pub const SNAPSHOT_DIRTY: Type = 4; + pub const SNAPSHOT_HISTORIC_MVCC: Type = 5; + pub const SNAPSHOT_NON_VACUUMABLE: Type = 6; +} +pub type Snapshot = *mut SnapshotData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SnapshotData { + pub snapshot_type: SnapshotType::Type, + pub xmin: TransactionId, + pub xmax: TransactionId, + pub xip: *mut TransactionId, + pub xcnt: uint32, + pub subxip: *mut TransactionId, + pub subxcnt: int32, + pub suboverflowed: bool, + pub takenDuringRecovery: bool, + pub copied: bool, + pub curcid: CommandId, + pub speculativeToken: uint32, + pub vistest: *mut GlobalVisState, + pub active_count: uint32, + pub regd_count: uint32, + pub ph_node: pairingheap_node, + pub snapXactCompletionCount: uint64, +} +impl Default for SnapshotData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Relation = *mut RelationData; +pub type RelationPtr = *mut Relation; +pub mod IndexAttrBitmapKind { + pub type Type = ::core::ffi::c_uint; + pub const INDEX_ATTR_BITMAP_KEY: Type = 0; + pub const INDEX_ATTR_BITMAP_PRIMARY_KEY: Type = 1; + pub const INDEX_ATTR_BITMAP_IDENTITY_KEY: Type = 2; + pub const INDEX_ATTR_BITMAP_HOT_BLOCKING: Type = 3; + pub const INDEX_ATTR_BITMAP_SUMMARIZED: Type = 4; +} +pub type SortSupport = *mut SortSupportData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SortSupportData { + pub ssup_cxt: MemoryContext, + pub ssup_collation: Oid, + pub ssup_reverse: bool, + pub ssup_nulls_first: bool, + pub ssup_attno: AttrNumber, + pub ssup_extra: *mut ::core::ffi::c_void, + pub comparator: ::core::option::Option< + unsafe extern "C-unwind" fn(x: Datum, y: Datum, ssup: SortSupport) -> ::core::ffi::c_int, + >, + pub abbreviate: bool, + pub abbrev_converter: ::core::option::Option< + unsafe extern "C-unwind" fn(original: Datum, ssup: SortSupport) -> Datum, + >, + pub abbrev_abort: ::core::option::Option< + unsafe extern "C-unwind" fn(memtupcount: ::core::ffi::c_int, ssup: SortSupport) -> bool, + >, + pub abbrev_full_comparator: ::core::option::Option< + unsafe extern "C-unwind" fn(x: Datum, y: Datum, ssup: SortSupport) -> ::core::ffi::c_int, + >, +} +impl Default for SortSupportData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ScanKeyData { + pub sk_flags: ::core::ffi::c_int, + pub sk_attno: AttrNumber, + pub sk_strategy: StrategyNumber, + pub sk_subtype: Oid, + pub sk_collation: Oid, + pub sk_func: FmgrInfo, + pub sk_argument: Datum, +} +impl Default for ScanKeyData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ScanKey = *mut ScanKeyData; +pub type LOCKMASK = ::core::ffi::c_int; +pub type LOCKMODE = ::core::ffi::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_standby_lock { + pub xid: TransactionId, + pub dbOid: Oid, + pub relOid: Oid, +} +impl Default for xl_standby_lock { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct IndexScanInstrumentation { + pub nsearches: uint64, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct SharedIndexScanInstrumentation { + pub num_workers: ::core::ffi::c_int, + pub winstrument: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct IndexBuildResult { + pub heap_tuples: f64, + pub index_tuples: f64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexVacuumInfo { + pub index: Relation, + pub heaprel: Relation, + pub analyze_only: bool, + pub report_progress: bool, + pub estimated_count: bool, + pub message_level: ::core::ffi::c_int, + pub num_heap_tuples: f64, + pub strategy: BufferAccessStrategy, +} +impl Default for IndexVacuumInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct IndexBulkDeleteResult { + pub num_pages: BlockNumber, + pub estimated_count: bool, + pub num_index_tuples: f64, + pub tuples_removed: f64, + pub pages_newly_deleted: BlockNumber, + pub pages_deleted: BlockNumber, + pub pages_free: BlockNumber, +} +pub type IndexBulkDeleteCallback = ::core::option::Option< + unsafe extern "C-unwind" fn(itemptr: ItemPointer, state: *mut ::core::ffi::c_void) -> bool, +>; +pub type IndexScanDesc = *mut IndexScanDescData; +pub type SysScanDesc = *mut SysScanDescData; +pub type ParallelIndexScanDesc = *mut ParallelIndexScanDescData; +pub mod IndexUniqueCheck { + pub type Type = ::core::ffi::c_uint; + pub const UNIQUE_CHECK_NO: Type = 0; + pub const UNIQUE_CHECK_YES: Type = 1; + pub const UNIQUE_CHECK_PARTIAL: Type = 2; + pub const UNIQUE_CHECK_EXISTING: Type = 3; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct IndexOrderByDistance { + pub value: f64, + pub isnull: bool, +} +pub mod IndexAMProperty { + pub type Type = ::core::ffi::c_uint; + pub const AMPROP_UNKNOWN: Type = 0; + pub const AMPROP_ASC: Type = 1; + pub const AMPROP_DESC: Type = 2; + pub const AMPROP_NULLS_FIRST: Type = 3; + pub const AMPROP_NULLS_LAST: Type = 4; + pub const AMPROP_ORDERABLE: Type = 5; + pub const AMPROP_DISTANCE_ORDERABLE: Type = 6; + pub const AMPROP_RETURNABLE: Type = 7; + pub const AMPROP_SEARCH_ARRAY: Type = 8; + pub const AMPROP_SEARCH_NULLS: Type = 9; + pub const AMPROP_CLUSTERABLE: Type = 10; + pub const AMPROP_INDEX_SCAN: Type = 11; + pub const AMPROP_BITMAP_SCAN: Type = 12; + pub const AMPROP_BACKWARD_SCAN: Type = 13; + pub const AMPROP_CAN_ORDER: Type = 14; + pub const AMPROP_CAN_UNIQUE: Type = 15; + pub const AMPROP_CAN_MULTI_COL: Type = 16; + pub const AMPROP_CAN_EXCLUDE: Type = 17; + pub const AMPROP_CAN_INCLUDE: Type = 18; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OpFamilyMember { + pub is_func: bool, + pub object: Oid, + pub number: ::core::ffi::c_int, + pub lefttype: Oid, + pub righttype: Oid, + pub sortfamily: Oid, + pub ref_is_hard: bool, + pub ref_is_family: bool, + pub refobjid: Oid, +} +impl Default for OpFamilyMember { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type amtranslate_strategy_function = ::core::option::Option< + unsafe extern "C-unwind" fn(strategy: StrategyNumber, opfamily: Oid) -> CompareType::Type, +>; +pub type amtranslate_cmptype_function = ::core::option::Option< + unsafe extern "C-unwind" fn(cmptype: CompareType::Type, opfamily: Oid) -> StrategyNumber, +>; +pub type ambuild_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + heapRelation: Relation, + indexRelation: Relation, + indexInfo: *mut IndexInfo, + ) -> *mut IndexBuildResult, +>; +pub type ambuildempty_function = + ::core::option::Option; +pub type aminsert_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + indexRelation: Relation, + values: *mut Datum, + isnull: *mut bool, + heap_tid: ItemPointer, + heapRelation: Relation, + checkUnique: IndexUniqueCheck::Type, + indexUnchanged: bool, + indexInfo: *mut IndexInfo, + ) -> bool, +>; +pub type aminsertcleanup_function = ::core::option::Option< + unsafe extern "C-unwind" fn(indexRelation: Relation, indexInfo: *mut IndexInfo), +>; +pub type ambulkdelete_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + info: *mut IndexVacuumInfo, + stats: *mut IndexBulkDeleteResult, + callback: IndexBulkDeleteCallback, + callback_state: *mut ::core::ffi::c_void, + ) -> *mut IndexBulkDeleteResult, +>; +pub type amvacuumcleanup_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + info: *mut IndexVacuumInfo, + stats: *mut IndexBulkDeleteResult, + ) -> *mut IndexBulkDeleteResult, +>; +pub type amcanreturn_function = ::core::option::Option< + unsafe extern "C-unwind" fn(indexRelation: Relation, attno: ::core::ffi::c_int) -> bool, +>; +pub type amcostestimate_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + path: *mut IndexPath, + loop_count: f64, + indexStartupCost: *mut Cost, + indexTotalCost: *mut Cost, + indexSelectivity: *mut Selectivity, + indexCorrelation: *mut f64, + indexPages: *mut f64, + ), +>; +pub type amgettreeheight_function = + ::core::option::Option ::core::ffi::c_int>; +pub type amoptions_function = ::core::option::Option< + unsafe extern "C-unwind" fn(reloptions: Datum, validate: bool) -> *mut bytea, +>; +pub type amproperty_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + index_oid: Oid, + attno: ::core::ffi::c_int, + prop: IndexAMProperty::Type, + propname: *const ::core::ffi::c_char, + res: *mut bool, + isnull: *mut bool, + ) -> bool, +>; +pub type ambuildphasename_function = ::core::option::Option< + unsafe extern "C-unwind" fn(phasenum: int64) -> *mut ::core::ffi::c_char, +>; +pub type amvalidate_function = + ::core::option::Option bool>; +pub type amadjustmembers_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + opfamilyoid: Oid, + opclassoid: Oid, + operators: *mut List, + functions: *mut List, + ), +>; +pub type ambeginscan_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + indexRelation: Relation, + nkeys: ::core::ffi::c_int, + norderbys: ::core::ffi::c_int, + ) -> IndexScanDesc, +>; +pub type amrescan_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + scan: IndexScanDesc, + keys: ScanKey, + nkeys: ::core::ffi::c_int, + orderbys: ScanKey, + norderbys: ::core::ffi::c_int, + ), +>; +pub type amgettuple_function = ::core::option::Option< + unsafe extern "C-unwind" fn(scan: IndexScanDesc, direction: ScanDirection::Type) -> bool, +>; +pub type amgetbitmap_function = ::core::option::Option< + unsafe extern "C-unwind" fn(scan: IndexScanDesc, tbm: *mut TIDBitmap) -> int64, +>; +pub type amendscan_function = + ::core::option::Option; +pub type ammarkpos_function = + ::core::option::Option; +pub type amrestrpos_function = + ::core::option::Option; +pub type amestimateparallelscan_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + indexRelation: Relation, + nkeys: ::core::ffi::c_int, + norderbys: ::core::ffi::c_int, + ) -> Size, +>; +pub type aminitparallelscan_function = + ::core::option::Option; +pub type amparallelrescan_function = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexAmRoutine { + pub type_: NodeTag, + pub amstrategies: uint16, + pub amsupport: uint16, + pub amoptsprocnum: uint16, + pub amcanorder: bool, + pub amcanorderbyop: bool, + pub amcanhash: bool, + pub amconsistentequality: bool, + pub amconsistentordering: bool, + pub amcanbackward: bool, + pub amcanunique: bool, + pub amcanmulticol: bool, + pub amoptionalkey: bool, + pub amsearcharray: bool, + pub amsearchnulls: bool, + pub amstorage: bool, + pub amclusterable: bool, + pub ampredlocks: bool, + pub amcanparallel: bool, + pub amcanbuildparallel: bool, + pub amcaninclude: bool, + pub amusemaintenanceworkmem: bool, + pub amsummarizing: bool, + pub amparallelvacuumoptions: uint8, + pub amkeytype: Oid, + pub ambuild: ambuild_function, + pub ambuildempty: ambuildempty_function, + pub aminsert: aminsert_function, + pub aminsertcleanup: aminsertcleanup_function, + pub ambulkdelete: ambulkdelete_function, + pub amvacuumcleanup: amvacuumcleanup_function, + pub amcanreturn: amcanreturn_function, + pub amcostestimate: amcostestimate_function, + pub amgettreeheight: amgettreeheight_function, + pub amoptions: amoptions_function, + pub amproperty: amproperty_function, + pub ambuildphasename: ambuildphasename_function, + pub amvalidate: amvalidate_function, + pub amadjustmembers: amadjustmembers_function, + pub ambeginscan: ambeginscan_function, + pub amrescan: amrescan_function, + pub amgettuple: amgettuple_function, + pub amgetbitmap: amgetbitmap_function, + pub amendscan: amendscan_function, + pub ammarkpos: ammarkpos_function, + pub amrestrpos: amrestrpos_function, + pub amestimateparallelscan: amestimateparallelscan_function, + pub aminitparallelscan: aminitparallelscan_function, + pub amparallelrescan: amparallelrescan_function, + pub amtranslatestrategy: amtranslate_strategy_function, + pub amtranslatecmptype: amtranslate_cmptype_function, +} +impl Default for IndexAmRoutine { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DomainConstraintCache { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TypeCacheEnumData { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TypeCacheEntry { + pub type_id: Oid, + pub type_id_hash: uint32, + pub typlen: int16, + pub typbyval: bool, + pub typalign: ::core::ffi::c_char, + pub typstorage: ::core::ffi::c_char, + pub typtype: ::core::ffi::c_char, + pub typrelid: Oid, + pub typsubscript: Oid, + pub typelem: Oid, + pub typarray: Oid, + pub typcollation: Oid, + pub btree_opf: Oid, + pub btree_opintype: Oid, + pub hash_opf: Oid, + pub hash_opintype: Oid, + pub eq_opr: Oid, + pub lt_opr: Oid, + pub gt_opr: Oid, + pub cmp_proc: Oid, + pub hash_proc: Oid, + pub hash_extended_proc: Oid, + pub eq_opr_finfo: FmgrInfo, + pub cmp_proc_finfo: FmgrInfo, + pub hash_proc_finfo: FmgrInfo, + pub hash_extended_proc_finfo: FmgrInfo, + pub tupDesc: TupleDesc, + pub tupDesc_identifier: uint64, + pub rngelemtype: *mut TypeCacheEntry, + pub rng_opfamily: Oid, + pub rng_collation: Oid, + pub rng_cmp_proc_finfo: FmgrInfo, + pub rng_canonical_finfo: FmgrInfo, + pub rng_subdiff_finfo: FmgrInfo, + pub rngtype: *mut TypeCacheEntry, + pub domainBaseType: Oid, + pub domainBaseTypmod: int32, + pub domainData: *mut DomainConstraintCache, + pub flags: ::core::ffi::c_int, + pub enumData: *mut TypeCacheEnumData, + pub nextDomain: *mut TypeCacheEntry, +} +impl Default for TypeCacheEntry { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DomainConstraintRef { + pub constraints: *mut List, + pub refctx: MemoryContext, + pub tcache: *mut TypeCacheEntry, + pub need_exprstate: bool, + pub dcc: *mut DomainConstraintCache, + pub callback: MemoryContextCallback, +} +impl Default for DomainConstraintRef { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SharedRecordTypmodRegistry { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug)] +pub struct BrinOpcInfo { + pub oi_nstored: uint16, + pub oi_regular_nulls: bool, + pub oi_opaque: *mut ::core::ffi::c_void, + pub oi_typcache: __IncompleteArrayField<*mut TypeCacheEntry>, +} +impl Default for BrinOpcInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug)] +pub struct BrinDesc { + pub bd_context: MemoryContext, + pub bd_index: Relation, + pub bd_tupdesc: TupleDesc, + pub bd_disktdesc: TupleDesc, + pub bd_totalstored: ::core::ffi::c_int, + pub bd_info: __IncompleteArrayField<*mut BrinOpcInfo>, +} +impl Default for BrinDesc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type brin_serialize_callback_type = ::core::option::Option< + unsafe extern "C-unwind" fn(bdesc: *mut BrinDesc, src: Datum, dst: *mut Datum), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BrinValues { + pub bv_attno: AttrNumber, + pub bv_hasnulls: bool, + pub bv_allnulls: bool, + pub bv_values: *mut Datum, + pub bv_mem_value: Datum, + pub bv_context: MemoryContext, + pub bv_serialize: brin_serialize_callback_type, +} +impl Default for BrinValues { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug)] +pub struct BrinMemTuple { + pub bt_placeholder: bool, + pub bt_empty_range: bool, + pub bt_blkno: BlockNumber, + pub bt_context: MemoryContext, + pub bt_values: *mut Datum, + pub bt_allnulls: *mut bool, + pub bt_hasnulls: *mut bool, + pub bt_columns: __IncompleteArrayField, +} +impl Default for BrinMemTuple { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct BrinTuple { + pub bt_blkno: BlockNumber, + pub bt_info: uint8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct GinPageOpaqueData { + pub rightlink: BlockNumber, + pub maxoff: OffsetNumber, + pub flags: uint16, +} +pub type GinPageOpaque = *mut GinPageOpaqueData; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct GinMetaPageData { + pub head: BlockNumber, + pub tail: BlockNumber, + pub tailFreeSize: uint32, + pub nPendingPages: BlockNumber, + pub nPendingHeapTuples: int64, + pub nTotalPages: BlockNumber, + pub nEntryPages: BlockNumber, + pub nDataPages: BlockNumber, + pub nEntries: int64, + pub ginVersion: int32, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PostingItem { + pub child_blkno: BlockIdData, + pub key: ItemPointerData, +} +pub type GinNullCategory = ::core::ffi::c_schar; +#[repr(C)] +#[derive(Debug, Default)] +pub struct GinPostingList { + pub first: ItemPointerData, + pub nbytes: uint16, + pub bytes: __IncompleteArrayField<::core::ffi::c_uchar>, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct GinTuple { + pub tuplen: ::core::ffi::c_int, + pub attrnum: OffsetNumber, + pub keylen: uint16, + pub typlen: int16, + pub typbyval: bool, + pub category: ::core::ffi::c_schar, + pub nitems: ::core::ffi::c_int, + pub data: __IncompleteArrayField<::core::ffi::c_char>, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct IndexTupleData { + pub t_tid: ItemPointerData, + pub t_info: ::core::ffi::c_ushort, +} +pub type IndexTuple = *mut IndexTupleData; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct IndexAttributeBitMapData { + pub bits: [bits8; 4usize], +} +pub type IndexAttributeBitMap = *mut IndexAttributeBitMapData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LogicalTapeSet { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LogicalTape { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct TapeShare { + pub firstblocknumber: int64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Tuplesortstate { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Sharedsort { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SortCoordinateData { + pub isWorker: bool, + pub nParticipants: ::core::ffi::c_int, + pub sharedsort: *mut Sharedsort, +} +impl Default for SortCoordinateData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type SortCoordinate = *mut SortCoordinateData; +pub mod TuplesortMethod { + pub type Type = ::core::ffi::c_uint; + pub const SORT_TYPE_STILL_IN_PROGRESS: Type = 0; + pub const SORT_TYPE_TOP_N_HEAPSORT: Type = 1; + pub const SORT_TYPE_QUICKSORT: Type = 2; + pub const SORT_TYPE_EXTERNAL_SORT: Type = 4; + pub const SORT_TYPE_EXTERNAL_MERGE: Type = 8; +} +pub mod TuplesortSpaceType { + pub type Type = ::core::ffi::c_uint; + pub const SORT_SPACE_TYPE_DISK: Type = 0; + pub const SORT_SPACE_TYPE_MEMORY: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TuplesortInstrumentation { + pub sortMethod: TuplesortMethod::Type, + pub spaceType: TuplesortSpaceType::Type, + pub spaceUsed: int64, +} +impl Default for TuplesortInstrumentation { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SortTuple { + pub tuple: *mut ::core::ffi::c_void, + pub datum1: Datum, + pub isnull1: bool, + pub srctape: ::core::ffi::c_int, +} +impl Default for SortTuple { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type SortTupleComparator = ::core::option::Option< + unsafe extern "C-unwind" fn( + a: *const SortTuple, + b: *const SortTuple, + state: *mut Tuplesortstate, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TuplesortPublic { + pub comparetup: SortTupleComparator, + pub comparetup_tiebreak: SortTupleComparator, + pub removeabbrev: ::core::option::Option< + unsafe extern "C-unwind" fn( + state: *mut Tuplesortstate, + stups: *mut SortTuple, + count: ::core::ffi::c_int, + ), + >, + pub writetup: ::core::option::Option< + unsafe extern "C-unwind" fn( + state: *mut Tuplesortstate, + tape: *mut LogicalTape, + stup: *mut SortTuple, + ), + >, + pub readtup: ::core::option::Option< + unsafe extern "C-unwind" fn( + state: *mut Tuplesortstate, + stup: *mut SortTuple, + tape: *mut LogicalTape, + len: ::core::ffi::c_uint, + ), + >, + pub freestate: ::core::option::Option, + pub maincontext: MemoryContext, + pub sortcontext: MemoryContext, + pub tuplecontext: MemoryContext, + pub haveDatum1: bool, + pub nKeys: ::core::ffi::c_int, + pub sortKeys: SortSupport, + pub onlyKey: SortSupport, + pub sortopt: ::core::ffi::c_int, + pub tuples: bool, + pub arg: *mut ::core::ffi::c_void, +} +impl Default for TuplesortPublic { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Tuplestorestate { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParallelHashJoinState { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CopyMultiInsertBuffer { + _unused: [u8; 0], +} +pub type ExprStateEvalFunc = ::core::option::Option< + unsafe extern "C-unwind" fn( + expression: *mut ExprState, + econtext: *mut ExprContext, + isNull: *mut bool, + ) -> Datum, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprState { + pub type_: NodeTag, + pub flags: uint8, + pub resnull: bool, + pub resvalue: Datum, + pub resultslot: *mut TupleTableSlot, + pub steps: *mut ExprEvalStep, + pub evalfunc: ExprStateEvalFunc, + pub expr: *mut Expr, + pub evalfunc_private: *mut ::core::ffi::c_void, + pub steps_len: ::core::ffi::c_int, + pub steps_alloc: ::core::ffi::c_int, + pub parent: *mut PlanState, + pub ext_params: ParamListInfo, + pub innermost_caseval: *mut Datum, + pub innermost_casenull: *mut bool, + pub innermost_domainval: *mut Datum, + pub innermost_domainnull: *mut bool, + pub escontext: *mut ErrorSaveContext, +} +impl Default for ExprState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexInfo { + pub type_: NodeTag, + pub ii_NumIndexAttrs: ::core::ffi::c_int, + pub ii_NumIndexKeyAttrs: ::core::ffi::c_int, + pub ii_IndexAttrNumbers: [AttrNumber; 32usize], + pub ii_Expressions: *mut List, + pub ii_ExpressionsState: *mut List, + pub ii_Predicate: *mut List, + pub ii_PredicateState: *mut ExprState, + pub ii_ExclusionOps: *mut Oid, + pub ii_ExclusionProcs: *mut Oid, + pub ii_ExclusionStrats: *mut uint16, + pub ii_UniqueOps: *mut Oid, + pub ii_UniqueProcs: *mut Oid, + pub ii_UniqueStrats: *mut uint16, + pub ii_Unique: bool, + pub ii_NullsNotDistinct: bool, + pub ii_ReadyForInserts: bool, + pub ii_CheckedUnchanged: bool, + pub ii_IndexUnchanged: bool, + pub ii_Concurrent: bool, + pub ii_BrokenHotChain: bool, + pub ii_Summarizing: bool, + pub ii_WithoutOverlaps: bool, + pub ii_ParallelWorkers: ::core::ffi::c_int, + pub ii_Am: Oid, + pub ii_AmCache: *mut ::core::ffi::c_void, + pub ii_Context: MemoryContext, +} +impl Default for IndexInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ExprContextCallbackFunction = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprContext_CB { + pub next: *mut ExprContext_CB, + pub function: ExprContextCallbackFunction, + pub arg: Datum, +} +impl Default for ExprContext_CB { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprContext { + pub type_: NodeTag, + pub ecxt_scantuple: *mut TupleTableSlot, + pub ecxt_innertuple: *mut TupleTableSlot, + pub ecxt_outertuple: *mut TupleTableSlot, + pub ecxt_per_query_memory: MemoryContext, + pub ecxt_per_tuple_memory: MemoryContext, + pub ecxt_param_exec_vals: *mut ParamExecData, + pub ecxt_param_list_info: ParamListInfo, + pub ecxt_aggvalues: *mut Datum, + pub ecxt_aggnulls: *mut bool, + pub caseValue_datum: Datum, + pub caseValue_isNull: bool, + pub domainValue_datum: Datum, + pub domainValue_isNull: bool, + pub ecxt_oldtuple: *mut TupleTableSlot, + pub ecxt_newtuple: *mut TupleTableSlot, + pub ecxt_estate: *mut EState, + pub ecxt_callbacks: *mut ExprContext_CB, +} +impl Default for ExprContext { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ExprDoneCond { + pub type Type = ::core::ffi::c_uint; + pub const ExprSingleResult: Type = 0; + pub const ExprMultipleResult: Type = 1; + pub const ExprEndResult: Type = 2; +} +pub mod SetFunctionReturnMode { + pub type Type = ::core::ffi::c_uint; + pub const SFRM_ValuePerCall: Type = 1; + pub const SFRM_Materialize: Type = 2; + pub const SFRM_Materialize_Random: Type = 4; + pub const SFRM_Materialize_Preferred: Type = 8; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReturnSetInfo { + pub type_: NodeTag, + pub econtext: *mut ExprContext, + pub expectedDesc: TupleDesc, + pub allowedModes: ::core::ffi::c_int, + pub returnMode: SetFunctionReturnMode::Type, + pub isDone: ExprDoneCond::Type, + pub setResult: *mut Tuplestorestate, + pub setDesc: TupleDesc, +} +impl Default for ReturnSetInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ProjectionInfo { + pub type_: NodeTag, + pub pi_state: ExprState, + pub pi_exprContext: *mut ExprContext, +} +impl Default for ProjectionInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JunkFilter { + pub type_: NodeTag, + pub jf_targetList: *mut List, + pub jf_cleanTupType: TupleDesc, + pub jf_cleanMap: *mut AttrNumber, + pub jf_resultSlot: *mut TupleTableSlot, +} +impl Default for JunkFilter { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OnConflictSetState { + pub type_: NodeTag, + pub oc_Existing: *mut TupleTableSlot, + pub oc_ProjSlot: *mut TupleTableSlot, + pub oc_ProjInfo: *mut ProjectionInfo, + pub oc_WhereClause: *mut ExprState, +} +impl Default for OnConflictSetState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MergeActionState { + pub type_: NodeTag, + pub mas_action: *mut MergeAction, + pub mas_proj: *mut ProjectionInfo, + pub mas_whenqual: *mut ExprState, +} +impl Default for MergeActionState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ResultRelInfo { + pub type_: NodeTag, + pub ri_RangeTableIndex: Index, + pub ri_RelationDesc: Relation, + pub ri_NumIndices: ::core::ffi::c_int, + pub ri_IndexRelationDescs: RelationPtr, + pub ri_IndexRelationInfo: *mut *mut IndexInfo, + pub ri_RowIdAttNo: AttrNumber, + pub ri_extraUpdatedCols: *mut Bitmapset, + pub ri_extraUpdatedCols_valid: bool, + pub ri_projectNew: *mut ProjectionInfo, + pub ri_newTupleSlot: *mut TupleTableSlot, + pub ri_oldTupleSlot: *mut TupleTableSlot, + pub ri_projectNewInfoValid: bool, + pub ri_needLockTagTuple: bool, + pub ri_TrigDesc: *mut TriggerDesc, + pub ri_TrigFunctions: *mut FmgrInfo, + pub ri_TrigWhenExprs: *mut *mut ExprState, + pub ri_TrigInstrument: *mut Instrumentation, + pub ri_ReturningSlot: *mut TupleTableSlot, + pub ri_TrigOldSlot: *mut TupleTableSlot, + pub ri_TrigNewSlot: *mut TupleTableSlot, + pub ri_AllNullSlot: *mut TupleTableSlot, + pub ri_FdwRoutine: *mut FdwRoutine, + pub ri_FdwState: *mut ::core::ffi::c_void, + pub ri_usesFdwDirectModify: bool, + pub ri_NumSlots: ::core::ffi::c_int, + pub ri_NumSlotsInitialized: ::core::ffi::c_int, + pub ri_BatchSize: ::core::ffi::c_int, + pub ri_Slots: *mut *mut TupleTableSlot, + pub ri_PlanSlots: *mut *mut TupleTableSlot, + pub ri_WithCheckOptions: *mut List, + pub ri_WithCheckOptionExprs: *mut List, + pub ri_CheckConstraintExprs: *mut *mut ExprState, + pub ri_GenVirtualNotNullConstraintExprs: *mut *mut ExprState, + pub ri_GeneratedExprsI: *mut *mut ExprState, + pub ri_GeneratedExprsU: *mut *mut ExprState, + pub ri_NumGeneratedNeededI: ::core::ffi::c_int, + pub ri_NumGeneratedNeededU: ::core::ffi::c_int, + pub ri_returningList: *mut List, + pub ri_projectReturning: *mut ProjectionInfo, + pub ri_onConflictArbiterIndexes: *mut List, + pub ri_onConflict: *mut OnConflictSetState, + pub ri_MergeActions: [*mut List; 3usize], + pub ri_MergeJoinCondition: *mut ExprState, + pub ri_PartitionCheckExpr: *mut ExprState, + pub ri_ChildToRootMap: *mut TupleConversionMap, + pub ri_ChildToRootMapValid: bool, + pub ri_RootToChildMap: *mut TupleConversionMap, + pub ri_RootToChildMapValid: bool, + pub ri_RootResultRelInfo: *mut ResultRelInfo, + pub ri_PartitionTupleSlot: *mut TupleTableSlot, + pub ri_CopyMultiInsertBuffer: *mut CopyMultiInsertBuffer, + pub ri_ancestorResultRels: *mut List, +} +impl Default for ResultRelInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncRequest { + pub requestor: *mut PlanState, + pub requestee: *mut PlanState, + pub request_index: ::core::ffi::c_int, + pub callback_pending: bool, + pub request_complete: bool, + pub result: *mut TupleTableSlot, +} +impl Default for AsyncRequest { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct EState { + pub type_: NodeTag, + pub es_direction: ScanDirection::Type, + pub es_snapshot: Snapshot, + pub es_crosscheck_snapshot: Snapshot, + pub es_range_table: *mut List, + pub es_range_table_size: Index, + pub es_relations: *mut Relation, + pub es_rowmarks: *mut *mut ExecRowMark, + pub es_rteperminfos: *mut List, + pub es_plannedstmt: *mut PlannedStmt, + pub es_cachedplan: *mut CachedPlan, + pub es_part_prune_infos: *mut List, + pub es_part_prune_states: *mut List, + pub es_part_prune_results: *mut List, + pub es_unpruned_relids: *mut Bitmapset, + pub es_sourceText: *const ::core::ffi::c_char, + pub es_junkFilter: *mut JunkFilter, + pub es_output_cid: CommandId, + pub es_result_relations: *mut *mut ResultRelInfo, + pub es_opened_result_relations: *mut List, + pub es_partition_directory: PartitionDirectory, + pub es_tuple_routing_result_relations: *mut List, + pub es_trig_target_relations: *mut List, + pub es_param_list_info: ParamListInfo, + pub es_param_exec_vals: *mut ParamExecData, + pub es_queryEnv: *mut QueryEnvironment, + pub es_query_cxt: MemoryContext, + pub es_tupleTable: *mut List, + pub es_processed: uint64, + pub es_total_processed: uint64, + pub es_top_eflags: ::core::ffi::c_int, + pub es_instrument: ::core::ffi::c_int, + pub es_finished: bool, + pub es_aborted: bool, + pub es_exprcontexts: *mut List, + pub es_subplanstates: *mut List, + pub es_auxmodifytables: *mut List, + pub es_per_tuple_exprcontext: *mut ExprContext, + pub es_epq_active: *mut EPQState, + pub es_use_parallel_mode: bool, + pub es_parallel_workers_to_launch: ::core::ffi::c_int, + pub es_parallel_workers_launched: ::core::ffi::c_int, + pub es_query_dsa: *mut dsa_area, + pub es_jit_flags: ::core::ffi::c_int, + pub es_jit: *mut JitContext, + pub es_jit_worker_instr: *mut JitInstrumentation, + pub es_insert_pending_result_relations: *mut List, + pub es_insert_pending_modifytables: *mut List, +} +impl Default for EState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExecRowMark { + pub relation: Relation, + pub relid: Oid, + pub rti: Index, + pub prti: Index, + pub rowmarkId: Index, + pub markType: RowMarkType::Type, + pub strength: LockClauseStrength::Type, + pub waitPolicy: LockWaitPolicy::Type, + pub ermActive: bool, + pub curCtid: ItemPointerData, + pub ermExtra: *mut ::core::ffi::c_void, +} +impl Default for ExecRowMark { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExecAuxRowMark { + pub rowmark: *mut ExecRowMark, + pub ctidAttNo: AttrNumber, + pub toidAttNo: AttrNumber, + pub wholeAttNo: AttrNumber, +} +impl Default for ExecAuxRowMark { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type TupleHashEntry = *mut TupleHashEntryData; +pub type TupleHashTable = *mut TupleHashTableData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TupleHashEntryData { + pub firstTuple: MinimalTuple, + pub status: uint32, + pub hash: uint32, +} +impl Default for TupleHashEntryData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tuplehash_hash { + pub size: uint64, + pub members: uint32, + pub sizemask: uint32, + pub grow_threshold: uint32, + pub data: *mut TupleHashEntryData, + pub ctx: MemoryContext, + pub private_data: *mut ::core::ffi::c_void, +} +impl Default for tuplehash_hash { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod tuplehash_status { + pub type Type = ::core::ffi::c_uint; + pub const tuplehash_SH_EMPTY: Type = 0; + pub const tuplehash_SH_IN_USE: Type = 1; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct tuplehash_iterator { + pub cur: uint32, + pub end: uint32, + pub done: bool, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TupleHashTableData { + pub hashtab: *mut tuplehash_hash, + pub numCols: ::core::ffi::c_int, + pub keyColIdx: *mut AttrNumber, + pub tab_hash_expr: *mut ExprState, + pub tab_eq_func: *mut ExprState, + pub tab_collations: *mut Oid, + pub tablecxt: MemoryContext, + pub tempcxt: MemoryContext, + pub additionalsize: Size, + pub tableslot: *mut TupleTableSlot, + pub inputslot: *mut TupleTableSlot, + pub in_hash_expr: *mut ExprState, + pub cur_eq_func: *mut ExprState, + pub exprcontext: *mut ExprContext, +} +impl Default for TupleHashTableData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type TupleHashIterator = tuplehash_iterator; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WindowFuncExprState { + pub type_: NodeTag, + pub wfunc: *mut WindowFunc, + pub args: *mut List, + pub aggfilter: *mut ExprState, + pub wfuncno: ::core::ffi::c_int, +} +impl Default for WindowFuncExprState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SetExprState { + pub type_: NodeTag, + pub expr: *mut Expr, + pub args: *mut List, + pub elidedFuncState: *mut ExprState, + pub func: FmgrInfo, + pub funcResultStore: *mut Tuplestorestate, + pub funcResultSlot: *mut TupleTableSlot, + pub funcResultDesc: TupleDesc, + pub funcReturnsTuple: bool, + pub funcReturnsSet: bool, + pub setArgsValid: bool, + pub shutdown_reg: bool, + pub fcinfo: FunctionCallInfo, +} +impl Default for SetExprState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SubPlanState { + pub type_: NodeTag, + pub subplan: *mut SubPlan, + pub planstate: *mut PlanState, + pub parent: *mut PlanState, + pub testexpr: *mut ExprState, + pub curTuple: HeapTuple, + pub curArray: Datum, + pub descRight: TupleDesc, + pub projLeft: *mut ProjectionInfo, + pub projRight: *mut ProjectionInfo, + pub hashtable: TupleHashTable, + pub hashnulls: TupleHashTable, + pub havehashrows: bool, + pub havenullrows: bool, + pub hashtablecxt: MemoryContext, + pub hashtempcxt: MemoryContext, + pub innerecontext: *mut ExprContext, + pub numCols: ::core::ffi::c_int, + pub keyColIdx: *mut AttrNumber, + pub tab_eq_funcoids: *mut Oid, + pub tab_collations: *mut Oid, + pub tab_hash_funcs: *mut FmgrInfo, + pub lhs_hash_expr: *mut ExprState, + pub cur_eq_funcs: *mut FmgrInfo, + pub cur_eq_comp: *mut ExprState, +} +impl Default for SubPlanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod DomainConstraintType { + pub type Type = ::core::ffi::c_uint; + pub const DOM_CONSTRAINT_NOTNULL: Type = 0; + pub const DOM_CONSTRAINT_CHECK: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DomainConstraintState { + pub type_: NodeTag, + pub constrainttype: DomainConstraintType::Type, + pub name: *mut ::core::ffi::c_char, + pub check_expr: *mut Expr, + pub check_exprstate: *mut ExprState, +} +impl Default for DomainConstraintState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonExprState { + pub jsexpr: *mut JsonExpr, + pub formatted_expr: NullableDatum, + pub pathspec: NullableDatum, + pub args: *mut List, + pub error: NullableDatum, + pub empty: NullableDatum, + pub jump_empty: ::core::ffi::c_int, + pub jump_error: ::core::ffi::c_int, + pub jump_eval_coercion: ::core::ffi::c_int, + pub jump_end: ::core::ffi::c_int, + pub input_fcinfo: FunctionCallInfo, + pub escontext: ErrorSaveContext, +} +impl Default for JsonExprState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ExecProcNodeMtd = ::core::option::Option< + unsafe extern "C-unwind" fn(pstate: *mut PlanState) -> *mut TupleTableSlot, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PlanState { + pub type_: NodeTag, + pub plan: *mut Plan, + pub state: *mut EState, + pub ExecProcNode: ExecProcNodeMtd, + pub ExecProcNodeReal: ExecProcNodeMtd, + pub instrument: *mut Instrumentation, + pub worker_instrument: *mut WorkerInstrumentation, + pub worker_jit_instrument: *mut SharedJitInstrumentation, + pub qual: *mut ExprState, + pub lefttree: *mut PlanState, + pub righttree: *mut PlanState, + pub initPlan: *mut List, + pub subPlan: *mut List, + pub chgParam: *mut Bitmapset, + pub ps_ResultTupleDesc: TupleDesc, + pub ps_ResultTupleSlot: *mut TupleTableSlot, + pub ps_ExprContext: *mut ExprContext, + pub ps_ProjInfo: *mut ProjectionInfo, + pub async_capable: bool, + pub scandesc: TupleDesc, + pub scanops: *const TupleTableSlotOps, + pub outerops: *const TupleTableSlotOps, + pub innerops: *const TupleTableSlotOps, + pub resultops: *const TupleTableSlotOps, + pub scanopsfixed: bool, + pub outeropsfixed: bool, + pub inneropsfixed: bool, + pub resultopsfixed: bool, + pub scanopsset: bool, + pub outeropsset: bool, + pub inneropsset: bool, + pub resultopsset: bool, +} +impl Default for PlanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct EPQState { + pub parentestate: *mut EState, + pub epqParam: ::core::ffi::c_int, + pub resultRelations: *mut List, + pub tuple_table: *mut List, + pub relsubs_slot: *mut *mut TupleTableSlot, + pub plan: *mut Plan, + pub arowMarks: *mut List, + pub origslot: *mut TupleTableSlot, + pub recheckestate: *mut EState, + pub relsubs_rowmark: *mut *mut ExecAuxRowMark, + pub relsubs_done: *mut bool, + pub relsubs_blocked: *mut bool, + pub recheckplanstate: *mut PlanState, +} +impl Default for EPQState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ResultState { + pub ps: PlanState, + pub resconstantqual: *mut ExprState, + pub rs_done: bool, + pub rs_checkqual: bool, +} +impl Default for ResultState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ProjectSetState { + pub ps: PlanState, + pub elems: *mut *mut Node, + pub elemdone: *mut ExprDoneCond::Type, + pub nelems: ::core::ffi::c_int, + pub pending_srf_tuples: bool, + pub argcontext: MemoryContext, +} +impl Default for ProjectSetState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ModifyTableState { + pub ps: PlanState, + pub operation: CmdType::Type, + pub canSetTag: bool, + pub mt_done: bool, + pub mt_nrels: ::core::ffi::c_int, + pub resultRelInfo: *mut ResultRelInfo, + pub rootResultRelInfo: *mut ResultRelInfo, + pub mt_epqstate: EPQState, + pub fireBSTriggers: bool, + pub mt_resultOidAttno: ::core::ffi::c_int, + pub mt_lastResultOid: Oid, + pub mt_lastResultIndex: ::core::ffi::c_int, + pub mt_resultOidHash: *mut HTAB, + pub mt_root_tuple_slot: *mut TupleTableSlot, + pub mt_partition_tuple_routing: *mut PartitionTupleRouting, + pub mt_transition_capture: *mut TransitionCaptureState, + pub mt_oc_transition_capture: *mut TransitionCaptureState, + pub mt_merge_subcommands: ::core::ffi::c_int, + pub mt_merge_action: *mut MergeActionState, + pub mt_merge_pending_not_matched: *mut TupleTableSlot, + pub mt_merge_inserted: f64, + pub mt_merge_updated: f64, + pub mt_merge_deleted: f64, + pub mt_updateColnosLists: *mut List, + pub mt_mergeActionLists: *mut List, + pub mt_mergeJoinConditions: *mut List, +} +impl Default for ModifyTableState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParallelAppendState { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionPruneState { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AppendState { + pub ps: PlanState, + pub appendplans: *mut *mut PlanState, + pub as_nplans: ::core::ffi::c_int, + pub as_whichplan: ::core::ffi::c_int, + pub as_begun: bool, + pub as_asyncplans: *mut Bitmapset, + pub as_nasyncplans: ::core::ffi::c_int, + pub as_asyncrequests: *mut *mut AsyncRequest, + pub as_asyncresults: *mut *mut TupleTableSlot, + pub as_nasyncresults: ::core::ffi::c_int, + pub as_syncdone: bool, + pub as_nasyncremain: ::core::ffi::c_int, + pub as_needrequest: *mut Bitmapset, + pub as_eventset: *mut WaitEventSet, + pub as_first_partial_plan: ::core::ffi::c_int, + pub as_pstate: *mut ParallelAppendState, + pub pstate_len: Size, + pub as_prune_state: *mut PartitionPruneState, + pub as_valid_subplans_identified: bool, + pub as_valid_subplans: *mut Bitmapset, + pub as_valid_asyncplans: *mut Bitmapset, + pub choose_next_subplan: + ::core::option::Option bool>, +} +impl Default for AppendState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MergeAppendState { + pub ps: PlanState, + pub mergeplans: *mut *mut PlanState, + pub ms_nplans: ::core::ffi::c_int, + pub ms_nkeys: ::core::ffi::c_int, + pub ms_sortkeys: SortSupport, + pub ms_slots: *mut *mut TupleTableSlot, + pub ms_heap: *mut binaryheap, + pub ms_initialized: bool, + pub ms_prune_state: *mut PartitionPruneState, + pub ms_valid_subplans: *mut Bitmapset, +} +impl Default for MergeAppendState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RecursiveUnionState { + pub ps: PlanState, + pub recursing: bool, + pub intermediate_empty: bool, + pub working_table: *mut Tuplestorestate, + pub intermediate_table: *mut Tuplestorestate, + pub eqfuncoids: *mut Oid, + pub hashfunctions: *mut FmgrInfo, + pub tempContext: MemoryContext, + pub hashtable: TupleHashTable, + pub tableContext: MemoryContext, +} +impl Default for RecursiveUnionState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BitmapAndState { + pub ps: PlanState, + pub bitmapplans: *mut *mut PlanState, + pub nplans: ::core::ffi::c_int, +} +impl Default for BitmapAndState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BitmapOrState { + pub ps: PlanState, + pub bitmapplans: *mut *mut PlanState, + pub nplans: ::core::ffi::c_int, +} +impl Default for BitmapOrState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ScanState { + pub ps: PlanState, + pub ss_currentRelation: Relation, + pub ss_currentScanDesc: *mut TableScanDescData, + pub ss_ScanTupleSlot: *mut TupleTableSlot, +} +impl Default for ScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SeqScanState { + pub ss: ScanState, + pub pscan_len: Size, +} +impl Default for SeqScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SampleScanState { + pub ss: ScanState, + pub args: *mut List, + pub repeatable: *mut ExprState, + pub tsmroutine: *mut TsmRoutine, + pub tsm_state: *mut ::core::ffi::c_void, + pub use_bulkread: bool, + pub use_pagemode: bool, + pub begun: bool, + pub seed: uint32, + pub donetuples: int64, + pub haveblock: bool, + pub done: bool, +} +impl Default for SampleScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexRuntimeKeyInfo { + pub scan_key: *mut ScanKeyData, + pub key_expr: *mut ExprState, + pub key_toastable: bool, +} +impl Default for IndexRuntimeKeyInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexArrayKeyInfo { + pub scan_key: *mut ScanKeyData, + pub array_expr: *mut ExprState, + pub next_elem: ::core::ffi::c_int, + pub num_elems: ::core::ffi::c_int, + pub elem_values: *mut Datum, + pub elem_nulls: *mut bool, +} +impl Default for IndexArrayKeyInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexScanState { + pub ss: ScanState, + pub indexqualorig: *mut ExprState, + pub indexorderbyorig: *mut List, + pub iss_ScanKeys: *mut ScanKeyData, + pub iss_NumScanKeys: ::core::ffi::c_int, + pub iss_OrderByKeys: *mut ScanKeyData, + pub iss_NumOrderByKeys: ::core::ffi::c_int, + pub iss_RuntimeKeys: *mut IndexRuntimeKeyInfo, + pub iss_NumRuntimeKeys: ::core::ffi::c_int, + pub iss_RuntimeKeysReady: bool, + pub iss_RuntimeContext: *mut ExprContext, + pub iss_RelationDesc: Relation, + pub iss_ScanDesc: *mut IndexScanDescData, + pub iss_Instrument: IndexScanInstrumentation, + pub iss_SharedInfo: *mut SharedIndexScanInstrumentation, + pub iss_ReorderQueue: *mut pairingheap, + pub iss_ReachedEnd: bool, + pub iss_OrderByValues: *mut Datum, + pub iss_OrderByNulls: *mut bool, + pub iss_SortSupport: SortSupport, + pub iss_OrderByTypByVals: *mut bool, + pub iss_OrderByTypLens: *mut int16, + pub iss_PscanLen: Size, +} +impl Default for IndexScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexOnlyScanState { + pub ss: ScanState, + pub recheckqual: *mut ExprState, + pub ioss_ScanKeys: *mut ScanKeyData, + pub ioss_NumScanKeys: ::core::ffi::c_int, + pub ioss_OrderByKeys: *mut ScanKeyData, + pub ioss_NumOrderByKeys: ::core::ffi::c_int, + pub ioss_RuntimeKeys: *mut IndexRuntimeKeyInfo, + pub ioss_NumRuntimeKeys: ::core::ffi::c_int, + pub ioss_RuntimeKeysReady: bool, + pub ioss_RuntimeContext: *mut ExprContext, + pub ioss_RelationDesc: Relation, + pub ioss_ScanDesc: *mut IndexScanDescData, + pub ioss_Instrument: IndexScanInstrumentation, + pub ioss_SharedInfo: *mut SharedIndexScanInstrumentation, + pub ioss_TableSlot: *mut TupleTableSlot, + pub ioss_VMBuffer: Buffer, + pub ioss_PscanLen: Size, + pub ioss_NameCStringAttNums: *mut AttrNumber, + pub ioss_NameCStringCount: ::core::ffi::c_int, +} +impl Default for IndexOnlyScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BitmapIndexScanState { + pub ss: ScanState, + pub biss_result: *mut TIDBitmap, + pub biss_ScanKeys: *mut ScanKeyData, + pub biss_NumScanKeys: ::core::ffi::c_int, + pub biss_RuntimeKeys: *mut IndexRuntimeKeyInfo, + pub biss_NumRuntimeKeys: ::core::ffi::c_int, + pub biss_ArrayKeys: *mut IndexArrayKeyInfo, + pub biss_NumArrayKeys: ::core::ffi::c_int, + pub biss_RuntimeKeysReady: bool, + pub biss_RuntimeContext: *mut ExprContext, + pub biss_RelationDesc: Relation, + pub biss_ScanDesc: *mut IndexScanDescData, + pub biss_Instrument: IndexScanInstrumentation, + pub biss_SharedInfo: *mut SharedIndexScanInstrumentation, +} +impl Default for BitmapIndexScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct BitmapHeapScanInstrumentation { + pub exact_pages: uint64, + pub lossy_pages: uint64, +} +pub mod SharedBitmapState { + pub type Type = ::core::ffi::c_uint; + pub const BM_INITIAL: Type = 0; + pub const BM_INPROGRESS: Type = 1; + pub const BM_FINISHED: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParallelBitmapHeapState { + pub tbmiterator: dsa_pointer, + pub mutex: slock_t, + pub state: SharedBitmapState::Type, + pub cv: ConditionVariable, +} +impl Default for ParallelBitmapHeapState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct SharedBitmapHeapInstrumentation { + pub num_workers: ::core::ffi::c_int, + pub sinstrument: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BitmapHeapScanState { + pub ss: ScanState, + pub bitmapqualorig: *mut ExprState, + pub tbm: *mut TIDBitmap, + pub stats: BitmapHeapScanInstrumentation, + pub initialized: bool, + pub pstate: *mut ParallelBitmapHeapState, + pub sinstrument: *mut SharedBitmapHeapInstrumentation, + pub recheck: bool, +} +impl Default for BitmapHeapScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TidScanState { + pub ss: ScanState, + pub tss_tidexprs: *mut List, + pub tss_isCurrentOf: bool, + pub tss_NumTids: ::core::ffi::c_int, + pub tss_TidPtr: ::core::ffi::c_int, + pub tss_TidList: *mut ItemPointerData, +} +impl Default for TidScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TidRangeScanState { + pub ss: ScanState, + pub trss_tidexprs: *mut List, + pub trss_mintid: ItemPointerData, + pub trss_maxtid: ItemPointerData, + pub trss_inScan: bool, +} +impl Default for TidRangeScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SubqueryScanState { + pub ss: ScanState, + pub subplan: *mut PlanState, +} +impl Default for SubqueryScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FunctionScanPerFuncState { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FunctionScanState { + pub ss: ScanState, + pub eflags: ::core::ffi::c_int, + pub ordinality: bool, + pub simple: bool, + pub ordinal: int64, + pub nfuncs: ::core::ffi::c_int, + pub funcstates: *mut FunctionScanPerFuncState, + pub argcontext: MemoryContext, +} +impl Default for FunctionScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ValuesScanState { + pub ss: ScanState, + pub rowcontext: *mut ExprContext, + pub exprlists: *mut *mut List, + pub exprstatelists: *mut *mut List, + pub array_len: ::core::ffi::c_int, + pub curr_idx: ::core::ffi::c_int, +} +impl Default for ValuesScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TableFuncScanState { + pub ss: ScanState, + pub docexpr: *mut ExprState, + pub rowexpr: *mut ExprState, + pub colexprs: *mut List, + pub coldefexprs: *mut List, + pub colvalexprs: *mut List, + pub passingvalexprs: *mut List, + pub ns_names: *mut List, + pub ns_uris: *mut List, + pub notnulls: *mut Bitmapset, + pub opaque: *mut ::core::ffi::c_void, + pub routine: *mut TableFuncRoutine, + pub in_functions: *mut FmgrInfo, + pub typioparams: *mut Oid, + pub ordinal: int64, + pub perTableCxt: MemoryContext, + pub tupstore: *mut Tuplestorestate, +} +impl Default for TableFuncScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CteScanState { + pub ss: ScanState, + pub eflags: ::core::ffi::c_int, + pub readptr: ::core::ffi::c_int, + pub cteplanstate: *mut PlanState, + pub leader: *mut CteScanState, + pub cte_table: *mut Tuplestorestate, + pub eof_cte: bool, +} +impl Default for CteScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NamedTuplestoreScanState { + pub ss: ScanState, + pub readptr: ::core::ffi::c_int, + pub tupdesc: TupleDesc, + pub relation: *mut Tuplestorestate, +} +impl Default for NamedTuplestoreScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WorkTableScanState { + pub ss: ScanState, + pub rustate: *mut RecursiveUnionState, +} +impl Default for WorkTableScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ForeignScanState { + pub ss: ScanState, + pub fdw_recheck_quals: *mut ExprState, + pub pscan_len: Size, + pub resultRelInfo: *mut ResultRelInfo, + pub fdwroutine: *mut FdwRoutine, + pub fdw_state: *mut ::core::ffi::c_void, +} +impl Default for ForeignScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CustomScanState { + pub ss: ScanState, + pub flags: uint32, + pub custom_ps: *mut List, + pub pscan_len: Size, + pub methods: *const CustomExecMethods, + pub slotOps: *const TupleTableSlotOps, +} +impl Default for CustomScanState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JoinState { + pub ps: PlanState, + pub jointype: JoinType::Type, + pub single_match: bool, + pub joinqual: *mut ExprState, +} +impl Default for JoinState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NestLoopState { + pub js: JoinState, + pub nl_NeedNewOuter: bool, + pub nl_MatchedOuter: bool, + pub nl_NullInnerTupleSlot: *mut TupleTableSlot, +} +impl Default for NestLoopState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MergeJoinClauseData { + _unused: [u8; 0], +} +pub type MergeJoinClause = *mut MergeJoinClauseData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MergeJoinState { + pub js: JoinState, + pub mj_NumClauses: ::core::ffi::c_int, + pub mj_Clauses: MergeJoinClause, + pub mj_JoinState: ::core::ffi::c_int, + pub mj_SkipMarkRestore: bool, + pub mj_ExtraMarks: bool, + pub mj_ConstFalseJoin: bool, + pub mj_FillOuter: bool, + pub mj_FillInner: bool, + pub mj_MatchedOuter: bool, + pub mj_MatchedInner: bool, + pub mj_OuterTupleSlot: *mut TupleTableSlot, + pub mj_InnerTupleSlot: *mut TupleTableSlot, + pub mj_MarkedTupleSlot: *mut TupleTableSlot, + pub mj_NullOuterTupleSlot: *mut TupleTableSlot, + pub mj_NullInnerTupleSlot: *mut TupleTableSlot, + pub mj_OuterEContext: *mut ExprContext, + pub mj_InnerEContext: *mut ExprContext, +} +impl Default for MergeJoinState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HashJoinTupleData { + _unused: [u8; 0], +} +pub type HashJoinTuple = *mut HashJoinTupleData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HashJoinTableData { + _unused: [u8; 0], +} +pub type HashJoinTable = *mut HashJoinTableData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HashJoinState { + pub js: JoinState, + pub hashclauses: *mut ExprState, + pub hj_OuterHash: *mut ExprState, + pub hj_HashTable: HashJoinTable, + pub hj_CurHashValue: uint32, + pub hj_CurBucketNo: ::core::ffi::c_int, + pub hj_CurSkewBucketNo: ::core::ffi::c_int, + pub hj_CurTuple: HashJoinTuple, + pub hj_OuterTupleSlot: *mut TupleTableSlot, + pub hj_HashTupleSlot: *mut TupleTableSlot, + pub hj_NullOuterTupleSlot: *mut TupleTableSlot, + pub hj_NullInnerTupleSlot: *mut TupleTableSlot, + pub hj_FirstOuterTupleSlot: *mut TupleTableSlot, + pub hj_JoinState: ::core::ffi::c_int, + pub hj_MatchedOuter: bool, + pub hj_OuterNotEmpty: bool, +} +impl Default for HashJoinState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MaterialState { + pub ss: ScanState, + pub eflags: ::core::ffi::c_int, + pub eof_underlying: bool, + pub tuplestorestate: *mut Tuplestorestate, +} +impl Default for MaterialState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MemoizeEntry { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MemoizeTuple { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MemoizeKey { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct MemoizeInstrumentation { + pub cache_hits: uint64, + pub cache_misses: uint64, + pub cache_evictions: uint64, + pub cache_overflows: uint64, + pub mem_peak: uint64, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct SharedMemoizeInfo { + pub num_workers: ::core::ffi::c_int, + pub sinstrument: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MemoizeState { + pub ss: ScanState, + pub mstatus: ::core::ffi::c_int, + pub nkeys: ::core::ffi::c_int, + pub hashtable: *mut memoize_hash, + pub hashkeydesc: TupleDesc, + pub tableslot: *mut TupleTableSlot, + pub probeslot: *mut TupleTableSlot, + pub cache_eq_expr: *mut ExprState, + pub param_exprs: *mut *mut ExprState, + pub hashfunctions: *mut FmgrInfo, + pub collations: *mut Oid, + pub mem_used: uint64, + pub mem_limit: uint64, + pub tableContext: MemoryContext, + pub lru_list: dlist_head, + pub last_tuple: *mut MemoizeTuple, + pub entry: *mut MemoizeEntry, + pub singlerow: bool, + pub binary_mode: bool, + pub stats: MemoizeInstrumentation, + pub shared_info: *mut SharedMemoizeInfo, + pub keyparamids: *mut Bitmapset, +} +impl Default for MemoizeState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PresortedKeyData { + pub flinfo: FmgrInfo, + pub fcinfo: FunctionCallInfo, + pub attno: OffsetNumber, +} +impl Default for PresortedKeyData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug)] +pub struct SharedSortInfo { + pub num_workers: ::core::ffi::c_int, + pub sinstrument: __IncompleteArrayField, +} +impl Default for SharedSortInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SortState { + pub ss: ScanState, + pub randomAccess: bool, + pub bounded: bool, + pub bound: int64, + pub sort_Done: bool, + pub bounded_Done: bool, + pub bound_Done: int64, + pub tuplesortstate: *mut ::core::ffi::c_void, + pub am_worker: bool, + pub datumSort: bool, + pub shared_info: *mut SharedSortInfo, +} +impl Default for SortState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct IncrementalSortGroupInfo { + pub groupCount: int64, + pub maxDiskSpaceUsed: int64, + pub totalDiskSpaceUsed: int64, + pub maxMemorySpaceUsed: int64, + pub totalMemorySpaceUsed: int64, + pub sortMethods: bits32, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct IncrementalSortInfo { + pub fullsortGroupInfo: IncrementalSortGroupInfo, + pub prefixsortGroupInfo: IncrementalSortGroupInfo, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct SharedIncrementalSortInfo { + pub num_workers: ::core::ffi::c_int, + pub sinfo: __IncompleteArrayField, +} +pub mod IncrementalSortExecutionStatus { + pub type Type = ::core::ffi::c_uint; + pub const INCSORT_LOADFULLSORT: Type = 0; + pub const INCSORT_LOADPREFIXSORT: Type = 1; + pub const INCSORT_READFULLSORT: Type = 2; + pub const INCSORT_READPREFIXSORT: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IncrementalSortState { + pub ss: ScanState, + pub bounded: bool, + pub bound: int64, + pub outerNodeDone: bool, + pub bound_Done: int64, + pub execution_status: IncrementalSortExecutionStatus::Type, + pub n_fullsort_remaining: int64, + pub fullsort_state: *mut Tuplesortstate, + pub prefixsort_state: *mut Tuplesortstate, + pub presorted_keys: *mut PresortedKeyData, + pub incsort_info: IncrementalSortInfo, + pub group_pivot: *mut TupleTableSlot, + pub transfer_tuple: *mut TupleTableSlot, + pub am_worker: bool, + pub shared_info: *mut SharedIncrementalSortInfo, +} +impl Default for IncrementalSortState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GroupState { + pub ss: ScanState, + pub eqfunction: *mut ExprState, + pub grp_done: bool, +} +impl Default for GroupState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct AggregateInstrumentation { + pub hash_mem_peak: Size, + pub hash_disk_used: uint64, + pub hash_batches_used: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct SharedAggInfo { + pub num_workers: ::core::ffi::c_int, + pub sinstrument: __IncompleteArrayField, +} +pub type AggStatePerAgg = *mut AggStatePerAggData; +pub type AggStatePerTrans = *mut AggStatePerTransData; +pub type AggStatePerGroup = *mut AggStatePerGroupData; +pub type AggStatePerPhase = *mut AggStatePerPhaseData; +pub type AggStatePerHash = *mut AggStatePerHashData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AggState { + pub ss: ScanState, + pub aggs: *mut List, + pub numaggs: ::core::ffi::c_int, + pub numtrans: ::core::ffi::c_int, + pub aggstrategy: AggStrategy::Type, + pub aggsplit: AggSplit::Type, + pub phase: AggStatePerPhase, + pub numphases: ::core::ffi::c_int, + pub current_phase: ::core::ffi::c_int, + pub peragg: AggStatePerAgg, + pub pertrans: AggStatePerTrans, + pub hashcontext: *mut ExprContext, + pub aggcontexts: *mut *mut ExprContext, + pub tmpcontext: *mut ExprContext, + pub curaggcontext: *mut ExprContext, + pub curperagg: AggStatePerAgg, + pub curpertrans: AggStatePerTrans, + pub input_done: bool, + pub agg_done: bool, + pub projected_set: ::core::ffi::c_int, + pub current_set: ::core::ffi::c_int, + pub grouped_cols: *mut Bitmapset, + pub all_grouped_cols: *mut List, + pub colnos_needed: *mut Bitmapset, + pub max_colno_needed: ::core::ffi::c_int, + pub all_cols_needed: bool, + pub maxsets: ::core::ffi::c_int, + pub phases: AggStatePerPhase, + pub sort_in: *mut Tuplesortstate, + pub sort_out: *mut Tuplesortstate, + pub sort_slot: *mut TupleTableSlot, + pub pergroups: *mut AggStatePerGroup, + pub grp_firstTuple: HeapTuple, + pub table_filled: bool, + pub num_hashes: ::core::ffi::c_int, + pub hash_metacxt: MemoryContext, + pub hash_tablecxt: MemoryContext, + pub hash_tapeset: *mut LogicalTapeSet, + pub hash_spills: *mut HashAggSpill, + pub hash_spill_rslot: *mut TupleTableSlot, + pub hash_spill_wslot: *mut TupleTableSlot, + pub hash_batches: *mut List, + pub hash_ever_spilled: bool, + pub hash_spill_mode: bool, + pub hash_mem_limit: Size, + pub hash_ngroups_limit: uint64, + pub hash_planned_partitions: ::core::ffi::c_int, + pub hashentrysize: f64, + pub hash_mem_peak: Size, + pub hash_ngroups_current: uint64, + pub hash_disk_used: uint64, + pub hash_batches_used: ::core::ffi::c_int, + pub perhash: AggStatePerHash, + pub hash_pergroup: *mut AggStatePerGroup, + pub all_pergroups: *mut AggStatePerGroup, + pub shared_info: *mut SharedAggInfo, +} +impl Default for AggState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WindowStatePerFuncData { + _unused: [u8; 0], +} +pub type WindowStatePerFunc = *mut WindowStatePerFuncData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WindowStatePerAggData { + _unused: [u8; 0], +} +pub type WindowStatePerAgg = *mut WindowStatePerAggData; +pub mod WindowAggStatus { + pub type Type = ::core::ffi::c_uint; + pub const WINDOWAGG_DONE: Type = 0; + pub const WINDOWAGG_RUN: Type = 1; + pub const WINDOWAGG_PASSTHROUGH: Type = 2; + pub const WINDOWAGG_PASSTHROUGH_STRICT: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WindowAggState { + pub ss: ScanState, + pub funcs: *mut List, + pub numfuncs: ::core::ffi::c_int, + pub numaggs: ::core::ffi::c_int, + pub perfunc: WindowStatePerFunc, + pub peragg: WindowStatePerAgg, + pub partEqfunction: *mut ExprState, + pub ordEqfunction: *mut ExprState, + pub buffer: *mut Tuplestorestate, + pub current_ptr: ::core::ffi::c_int, + pub framehead_ptr: ::core::ffi::c_int, + pub frametail_ptr: ::core::ffi::c_int, + pub grouptail_ptr: ::core::ffi::c_int, + pub spooled_rows: int64, + pub currentpos: int64, + pub frameheadpos: int64, + pub frametailpos: int64, + pub agg_winobj: *mut WindowObjectData, + pub aggregatedbase: int64, + pub aggregatedupto: int64, + pub status: WindowAggStatus::Type, + pub frameOptions: ::core::ffi::c_int, + pub startOffset: *mut ExprState, + pub endOffset: *mut ExprState, + pub startOffsetValue: Datum, + pub endOffsetValue: Datum, + pub startInRangeFunc: FmgrInfo, + pub endInRangeFunc: FmgrInfo, + pub inRangeColl: Oid, + pub inRangeAsc: bool, + pub inRangeNullsFirst: bool, + pub use_pass_through: bool, + pub top_window: bool, + pub runcondition: *mut ExprState, + pub currentgroup: int64, + pub frameheadgroup: int64, + pub frametailgroup: int64, + pub groupheadpos: int64, + pub grouptailpos: int64, + pub partcontext: MemoryContext, + pub aggcontext: MemoryContext, + pub curaggcontext: MemoryContext, + pub tmpcontext: *mut ExprContext, + pub all_first: bool, + pub partition_spooled: bool, + pub next_partition: bool, + pub more_partitions: bool, + pub framehead_valid: bool, + pub frametail_valid: bool, + pub grouptail_valid: bool, + pub first_part_slot: *mut TupleTableSlot, + pub framehead_slot: *mut TupleTableSlot, + pub frametail_slot: *mut TupleTableSlot, + pub agg_row_slot: *mut TupleTableSlot, + pub temp_slot_1: *mut TupleTableSlot, + pub temp_slot_2: *mut TupleTableSlot, +} +impl Default for WindowAggState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct UniqueState { + pub ps: PlanState, + pub eqfunction: *mut ExprState, +} +impl Default for UniqueState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GatherState { + pub ps: PlanState, + pub initialized: bool, + pub need_to_scan_locally: bool, + pub tuples_needed: int64, + pub funnel_slot: *mut TupleTableSlot, + pub pei: *mut ParallelExecutorInfo, + pub nworkers_launched: ::core::ffi::c_int, + pub nreaders: ::core::ffi::c_int, + pub nextreader: ::core::ffi::c_int, + pub reader: *mut *mut TupleQueueReader, +} +impl Default for GatherState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GMReaderTupleBuffer { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GatherMergeState { + pub ps: PlanState, + pub initialized: bool, + pub gm_initialized: bool, + pub need_to_scan_locally: bool, + pub tuples_needed: int64, + pub tupDesc: TupleDesc, + pub gm_nkeys: ::core::ffi::c_int, + pub gm_sortkeys: SortSupport, + pub pei: *mut ParallelExecutorInfo, + pub nworkers_launched: ::core::ffi::c_int, + pub nreaders: ::core::ffi::c_int, + pub gm_slots: *mut *mut TupleTableSlot, + pub reader: *mut *mut TupleQueueReader, + pub gm_tuple_buffers: *mut GMReaderTupleBuffer, + pub gm_heap: *mut binaryheap, +} +impl Default for GatherMergeState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct HashInstrumentation { + pub nbuckets: ::core::ffi::c_int, + pub nbuckets_original: ::core::ffi::c_int, + pub nbatch: ::core::ffi::c_int, + pub nbatch_original: ::core::ffi::c_int, + pub space_peak: Size, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct SharedHashInfo { + pub num_workers: ::core::ffi::c_int, + pub hinstrument: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HashState { + pub ps: PlanState, + pub hashtable: HashJoinTable, + pub hash_expr: *mut ExprState, + pub skew_hashfunction: *mut FmgrInfo, + pub skew_collation: Oid, + pub shared_info: *mut SharedHashInfo, + pub hinstrument: *mut HashInstrumentation, + pub parallel_state: *mut ParallelHashJoinState, +} +impl Default for HashState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SetOpStatePerInput { + pub firstTupleSlot: *mut TupleTableSlot, + pub numTuples: int64, + pub nextTupleSlot: *mut TupleTableSlot, + pub needGroup: bool, +} +impl Default for SetOpStatePerInput { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SetOpState { + pub ps: PlanState, + pub setop_done: bool, + pub numOutput: int64, + pub numCols: ::core::ffi::c_int, + pub sortKeys: SortSupport, + pub leftInput: SetOpStatePerInput, + pub rightInput: SetOpStatePerInput, + pub need_init: bool, + pub eqfuncoids: *mut Oid, + pub hashfunctions: *mut FmgrInfo, + pub hashtable: TupleHashTable, + pub tableContext: MemoryContext, + pub table_filled: bool, + pub hashiter: TupleHashIterator, +} +impl Default for SetOpState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LockRowsState { + pub ps: PlanState, + pub lr_arowMarks: *mut List, + pub lr_epqstate: EPQState, +} +impl Default for LockRowsState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod LimitStateCond { + pub type Type = ::core::ffi::c_uint; + pub const LIMIT_INITIAL: Type = 0; + pub const LIMIT_RESCAN: Type = 1; + pub const LIMIT_EMPTY: Type = 2; + pub const LIMIT_INWINDOW: Type = 3; + pub const LIMIT_WINDOWEND_TIES: Type = 4; + pub const LIMIT_SUBPLANEOF: Type = 5; + pub const LIMIT_WINDOWEND: Type = 6; + pub const LIMIT_WINDOWSTART: Type = 7; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LimitState { + pub ps: PlanState, + pub limitOffset: *mut ExprState, + pub limitCount: *mut ExprState, + pub limitOption: LimitOption::Type, + pub offset: int64, + pub count: int64, + pub noCount: bool, + pub lstate: LimitStateCond::Type, + pub position: int64, + pub subSlot: *mut TupleTableSlot, + pub eqfunction: *mut ExprState, + pub last_slot: *mut TupleTableSlot, +} +impl Default for LimitState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod CommandDest { + pub type Type = ::core::ffi::c_uint; + pub const DestNone: Type = 0; + pub const DestDebug: Type = 1; + pub const DestRemote: Type = 2; + pub const DestRemoteExecute: Type = 3; + pub const DestRemoteSimple: Type = 4; + pub const DestSPI: Type = 5; + pub const DestTuplestore: Type = 6; + pub const DestIntoRel: Type = 7; + pub const DestCopyOut: Type = 8; + pub const DestSQLFunction: Type = 9; + pub const DestTransientRel: Type = 10; + pub const DestTupleQueue: Type = 11; + pub const DestExplainSerialize: Type = 12; +} +pub type DestReceiver = _DestReceiver; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DestReceiver { + pub receiveSlot: ::core::option::Option< + unsafe extern "C-unwind" fn(slot: *mut TupleTableSlot, self_: *mut DestReceiver) -> bool, + >, + pub rStartup: ::core::option::Option< + unsafe extern "C-unwind" fn( + self_: *mut DestReceiver, + operation: ::core::ffi::c_int, + typeinfo: TupleDesc, + ), + >, + pub rShutdown: ::core::option::Option, + pub rDestroy: ::core::option::Option, + pub mydest: CommandDest::Type, +} +impl Default for _DestReceiver { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct QueryDesc { + pub operation: CmdType::Type, + pub plannedstmt: *mut PlannedStmt, + pub cplan: *mut CachedPlan, + pub sourceText: *const ::core::ffi::c_char, + pub snapshot: Snapshot, + pub crosscheck_snapshot: Snapshot, + pub dest: *mut DestReceiver, + pub params: ParamListInfo, + pub queryEnv: *mut QueryEnvironment, + pub instrument_options: ::core::ffi::c_int, + pub tupDesc: TupleDesc, + pub estate: *mut EState, + pub planstate: *mut PlanState, + pub already_executed: bool, + pub totaltime: *mut Instrumentation, +} +impl Default for QueryDesc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct MemoryContextCounters { + pub nblocks: Size, + pub freechunks: Size, + pub totalspace: Size, + pub freespace: Size, +} +pub type MemoryStatsPrintFunc = ::core::option::Option< + unsafe extern "C-unwind" fn( + context: MemoryContext, + passthru: *mut ::core::ffi::c_void, + stats_string: *const ::core::ffi::c_char, + print_to_stderr: bool, + ), +>; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct MemoryContextMethods { + pub alloc: ::core::option::Option< + unsafe extern "C-unwind" fn( + context: MemoryContext, + size: Size, + flags: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void, + >, + pub free_p: + ::core::option::Option, + pub realloc: ::core::option::Option< + unsafe extern "C-unwind" fn( + pointer: *mut ::core::ffi::c_void, + size: Size, + flags: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void, + >, + pub reset: ::core::option::Option, + pub delete_context: ::core::option::Option, + pub get_chunk_context: ::core::option::Option< + unsafe extern "C-unwind" fn(pointer: *mut ::core::ffi::c_void) -> MemoryContext, + >, + pub get_chunk_space: ::core::option::Option< + unsafe extern "C-unwind" fn(pointer: *mut ::core::ffi::c_void) -> Size, + >, + pub is_empty: + ::core::option::Option bool>, + pub stats: ::core::option::Option< + unsafe extern "C-unwind" fn( + context: MemoryContext, + printfunc: MemoryStatsPrintFunc, + passthru: *mut ::core::ffi::c_void, + totals: *mut MemoryContextCounters, + print_to_stderr: bool, + ), + >, + pub check: ::core::option::Option, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MemoryContextData { + pub type_: NodeTag, + pub isReset: bool, + pub allowInCritSection: bool, + pub mem_allocated: Size, + pub methods: *const MemoryContextMethods, + pub parent: MemoryContext, + pub firstchild: MemoryContext, + pub prevchild: MemoryContext, + pub nextchild: MemoryContext, + pub name: *const ::core::ffi::c_char, + pub ident: *const ::core::ffi::c_char, + pub reset_cbs: *mut MemoryContextCallback, +} +impl Default for MemoryContextData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod LWLockWaitState { + pub type Type = ::core::ffi::c_uint; + pub const LW_WS_NOT_WAITING: Type = 0; + pub const LW_WS_WAITING: Type = 1; + pub const LW_WS_PENDING_WAKEUP: Type = 2; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct LWLock { + pub tranche: uint16, + pub state: pg_atomic_uint32, + pub waiters: proclist_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union LWLockPadded { + pub lock: LWLock, + pub pad: [::core::ffi::c_char; 128usize], +} +impl Default for LWLockPadded { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NamedLWLockTranche { + pub trancheId: ::core::ffi::c_int, + pub trancheName: *mut ::core::ffi::c_char, +} +impl Default for NamedLWLockTranche { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod LWLockMode { + pub type Type = ::core::ffi::c_uint; + pub const LW_EXCLUSIVE: Type = 0; + pub const LW_SHARED: Type = 1; + pub const LW_WAIT_UNTIL_FREE: Type = 2; +} +pub mod BuiltinTrancheIds { + pub type Type = ::core::ffi::c_uint; + pub const LWTRANCHE_XACT_BUFFER: Type = 54; + pub const LWTRANCHE_COMMITTS_BUFFER: Type = 55; + pub const LWTRANCHE_SUBTRANS_BUFFER: Type = 56; + pub const LWTRANCHE_MULTIXACTOFFSET_BUFFER: Type = 57; + pub const LWTRANCHE_MULTIXACTMEMBER_BUFFER: Type = 58; + pub const LWTRANCHE_NOTIFY_BUFFER: Type = 59; + pub const LWTRANCHE_SERIAL_BUFFER: Type = 60; + pub const LWTRANCHE_WAL_INSERT: Type = 61; + pub const LWTRANCHE_BUFFER_CONTENT: Type = 62; + pub const LWTRANCHE_REPLICATION_ORIGIN_STATE: Type = 63; + pub const LWTRANCHE_REPLICATION_SLOT_IO: Type = 64; + pub const LWTRANCHE_LOCK_FASTPATH: Type = 65; + pub const LWTRANCHE_BUFFER_MAPPING: Type = 66; + pub const LWTRANCHE_LOCK_MANAGER: Type = 67; + pub const LWTRANCHE_PREDICATE_LOCK_MANAGER: Type = 68; + pub const LWTRANCHE_PARALLEL_HASH_JOIN: Type = 69; + pub const LWTRANCHE_PARALLEL_BTREE_SCAN: Type = 70; + pub const LWTRANCHE_PARALLEL_QUERY_DSA: Type = 71; + pub const LWTRANCHE_PER_SESSION_DSA: Type = 72; + pub const LWTRANCHE_PER_SESSION_RECORD_TYPE: Type = 73; + pub const LWTRANCHE_PER_SESSION_RECORD_TYPMOD: Type = 74; + pub const LWTRANCHE_SHARED_TUPLESTORE: Type = 75; + pub const LWTRANCHE_SHARED_TIDBITMAP: Type = 76; + pub const LWTRANCHE_PARALLEL_APPEND: Type = 77; + pub const LWTRANCHE_PER_XACT_PREDICATE_LIST: Type = 78; + pub const LWTRANCHE_PGSTATS_DSA: Type = 79; + pub const LWTRANCHE_PGSTATS_HASH: Type = 80; + pub const LWTRANCHE_PGSTATS_DATA: Type = 81; + pub const LWTRANCHE_LAUNCHER_DSA: Type = 82; + pub const LWTRANCHE_LAUNCHER_HASH: Type = 83; + pub const LWTRANCHE_DSM_REGISTRY_DSA: Type = 84; + pub const LWTRANCHE_DSM_REGISTRY_HASH: Type = 85; + pub const LWTRANCHE_COMMITTS_SLRU: Type = 86; + pub const LWTRANCHE_MULTIXACTMEMBER_SLRU: Type = 87; + pub const LWTRANCHE_MULTIXACTOFFSET_SLRU: Type = 88; + pub const LWTRANCHE_NOTIFY_SLRU: Type = 89; + pub const LWTRANCHE_SERIAL_SLRU: Type = 90; + pub const LWTRANCHE_SUBTRANS_SLRU: Type = 91; + pub const LWTRANCHE_XACT_SLRU: Type = 92; + pub const LWTRANCHE_PARALLEL_VACUUM_DSA: Type = 93; + pub const LWTRANCHE_AIO_URING_COMPLETION: Type = 94; + pub const LWTRANCHE_MEMORY_CONTEXT_REPORTING_STATE: Type = 95; + pub const LWTRANCHE_MEMORY_CONTEXT_REPORTING_PROC: Type = 96; + pub const LWTRANCHE_FIRST_USER_DEFINED: Type = 97; +} +pub type LWLockId = *mut LWLock; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ShmemIndexEnt { + pub key: [::core::ffi::c_char; 48usize], + pub location: *mut ::core::ffi::c_void, + pub size: Size, + pub allocated_size: Size, +} +impl Default for ShmemIndexEnt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Timestamp = int64; +pub type TimestampTz = int64; +pub type TimeOffset = int64; +pub type fsec_t = int32; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct Interval { + pub time: TimeOffset, + pub day: int32, + pub month: int32, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct pg_itm { + pub tm_usec: ::core::ffi::c_int, + pub tm_sec: ::core::ffi::c_int, + pub tm_min: ::core::ffi::c_int, + pub tm_hour: int64, + pub tm_mday: ::core::ffi::c_int, + pub tm_mon: ::core::ffi::c_int, + pub tm_year: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct pg_itm_in { + pub tm_usec: int64, + pub tm_mday: ::core::ffi::c_int, + pub tm_mon: ::core::ffi::c_int, + pub tm_year: ::core::ffi::c_int, +} +pub type pg_time_t = int64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pg_tm { + pub tm_sec: ::core::ffi::c_int, + pub tm_min: ::core::ffi::c_int, + pub tm_hour: ::core::ffi::c_int, + pub tm_mday: ::core::ffi::c_int, + pub tm_mon: ::core::ffi::c_int, + pub tm_year: ::core::ffi::c_int, + pub tm_wday: ::core::ffi::c_int, + pub tm_yday: ::core::ffi::c_int, + pub tm_isdst: ::core::ffi::c_int, + pub tm_gmtoff: ::core::ffi::c_long, + pub tm_zone: *const ::core::ffi::c_char, +} +impl Default for pg_tm { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pg_tz { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pg_tzenum { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct VirtualTransactionId { + pub procNumber: ProcNumber, + pub localTransactionId: LocalTransactionId, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LockMethodData { + pub numLockModes: ::core::ffi::c_int, + pub conflictTab: *const LOCKMASK, + pub lockModeNames: *const *const ::core::ffi::c_char, + pub trace_flag: *const bool, +} +impl Default for LockMethodData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type LockMethod = *const LockMethodData; +pub type LOCKMETHODID = uint16; +pub mod LockTagType { + pub type Type = ::core::ffi::c_uint; + pub const LOCKTAG_RELATION: Type = 0; + pub const LOCKTAG_RELATION_EXTEND: Type = 1; + pub const LOCKTAG_DATABASE_FROZEN_IDS: Type = 2; + pub const LOCKTAG_PAGE: Type = 3; + pub const LOCKTAG_TUPLE: Type = 4; + pub const LOCKTAG_TRANSACTION: Type = 5; + pub const LOCKTAG_VIRTUALTRANSACTION: Type = 6; + pub const LOCKTAG_SPECULATIVE_TOKEN: Type = 7; + pub const LOCKTAG_OBJECT: Type = 8; + pub const LOCKTAG_USERLOCK: Type = 9; + pub const LOCKTAG_ADVISORY: Type = 10; + pub const LOCKTAG_APPLY_TRANSACTION: Type = 11; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct LOCKTAG { + pub locktag_field1: uint32, + pub locktag_field2: uint32, + pub locktag_field3: uint32, + pub locktag_field4: uint16, + pub locktag_type: uint8, + pub locktag_lockmethodid: uint8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LOCK { + pub tag: LOCKTAG, + pub grantMask: LOCKMASK, + pub waitMask: LOCKMASK, + pub procLocks: dlist_head, + pub waitProcs: dclist_head, + pub requested: [::core::ffi::c_int; 10usize], + pub nRequested: ::core::ffi::c_int, + pub granted: [::core::ffi::c_int; 10usize], + pub nGranted: ::core::ffi::c_int, +} +impl Default for LOCK { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PROCLOCKTAG { + pub myLock: *mut LOCK, + pub myProc: *mut PGPROC, +} +impl Default for PROCLOCKTAG { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PROCLOCK { + pub tag: PROCLOCKTAG, + pub groupLeader: *mut PGPROC, + pub holdMask: LOCKMASK, + pub releaseMask: LOCKMASK, + pub lockLink: dlist_node, + pub procLink: dlist_node, +} +impl Default for PROCLOCK { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct LOCALLOCKTAG { + pub lock: LOCKTAG, + pub mode: LOCKMODE, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LOCALLOCKOWNER { + pub owner: *mut ResourceOwnerData, + pub nLocks: int64, +} +impl Default for LOCALLOCKOWNER { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LOCALLOCK { + pub tag: LOCALLOCKTAG, + pub hashcode: uint32, + pub lock: *mut LOCK, + pub proclock: *mut PROCLOCK, + pub nLocks: int64, + pub numLockOwners: ::core::ffi::c_int, + pub maxLockOwners: ::core::ffi::c_int, + pub lockOwners: *mut LOCALLOCKOWNER, + pub holdsStrongLockCount: bool, + pub lockCleared: bool, +} +impl Default for LOCALLOCK { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct LockInstanceData { + pub locktag: LOCKTAG, + pub holdMask: LOCKMASK, + pub waitLockMode: LOCKMODE, + pub vxid: VirtualTransactionId, + pub waitStart: TimestampTz, + pub pid: ::core::ffi::c_int, + pub leaderPid: ::core::ffi::c_int, + pub fastpath: bool, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LockData { + pub nelements: ::core::ffi::c_int, + pub locks: *mut LockInstanceData, +} +impl Default for LockData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct BlockedProcData { + pub pid: ::core::ffi::c_int, + pub first_lock: ::core::ffi::c_int, + pub num_locks: ::core::ffi::c_int, + pub first_waiter: ::core::ffi::c_int, + pub num_waiters: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BlockedProcsData { + pub procs: *mut BlockedProcData, + pub locks: *mut LockInstanceData, + pub waiter_pids: *mut ::core::ffi::c_int, + pub nprocs: ::core::ffi::c_int, + pub maxprocs: ::core::ffi::c_int, + pub nlocks: ::core::ffi::c_int, + pub maxlocks: ::core::ffi::c_int, + pub npids: ::core::ffi::c_int, + pub maxpids: ::core::ffi::c_int, +} +impl Default for BlockedProcsData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod LockAcquireResult { + pub type Type = ::core::ffi::c_uint; + pub const LOCKACQUIRE_NOT_AVAIL: Type = 0; + pub const LOCKACQUIRE_OK: Type = 1; + pub const LOCKACQUIRE_ALREADY_HELD: Type = 2; + pub const LOCKACQUIRE_ALREADY_CLEAR: Type = 3; +} +pub mod DeadLockState { + pub type Type = ::core::ffi::c_uint; + pub const DS_NOT_YET_CHECKED: Type = 0; + pub const DS_NO_DEADLOCK: Type = 1; + pub const DS_SOFT_DEADLOCK: Type = 2; + pub const DS_HARD_DEADLOCK: Type = 3; + pub const DS_BLOCKED_BY_AUTOVACUUM: Type = 4; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BackupState { + pub name: [::core::ffi::c_char; 1025usize], + pub startpoint: XLogRecPtr, + pub starttli: TimeLineID, + pub checkpointloc: XLogRecPtr, + pub starttime: pg_time_t, + pub started_in_recovery: bool, + pub istartpoint: XLogRecPtr, + pub istarttli: TimeLineID, + pub stoppoint: XLogRecPtr, + pub stoptli: TimeLineID, + pub stoptime: pg_time_t, +} +impl Default for BackupState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod WalSyncMethod { + pub type Type = ::core::ffi::c_uint; + pub const WAL_SYNC_METHOD_FSYNC: Type = 0; + pub const WAL_SYNC_METHOD_FDATASYNC: Type = 1; + pub const WAL_SYNC_METHOD_OPEN: Type = 2; + pub const WAL_SYNC_METHOD_FSYNC_WRITETHROUGH: Type = 3; + pub const WAL_SYNC_METHOD_OPEN_DSYNC: Type = 4; +} +pub mod ArchiveMode { + pub type Type = ::core::ffi::c_uint; + pub const ARCHIVE_MODE_OFF: Type = 0; + pub const ARCHIVE_MODE_ON: Type = 1; + pub const ARCHIVE_MODE_ALWAYS: Type = 2; +} +pub mod WalLevel { + pub type Type = ::core::ffi::c_uint; + pub const WAL_LEVEL_MINIMAL: Type = 0; + pub const WAL_LEVEL_REPLICA: Type = 1; + pub const WAL_LEVEL_LOGICAL: Type = 2; +} +pub mod WalCompression { + pub type Type = ::core::ffi::c_uint; + pub const WAL_COMPRESSION_NONE: Type = 0; + pub const WAL_COMPRESSION_PGLZ: Type = 1; + pub const WAL_COMPRESSION_LZ4: Type = 2; + pub const WAL_COMPRESSION_ZSTD: Type = 3; +} +pub mod RecoveryState { + pub type Type = ::core::ffi::c_uint; + pub const RECOVERY_STATE_CRASH: Type = 0; + pub const RECOVERY_STATE_ARCHIVE: Type = 1; + pub const RECOVERY_STATE_DONE: Type = 2; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct CheckpointStatsData { + pub ckpt_start_t: TimestampTz, + pub ckpt_write_t: TimestampTz, + pub ckpt_sync_t: TimestampTz, + pub ckpt_sync_end_t: TimestampTz, + pub ckpt_end_t: TimestampTz, + pub ckpt_bufs_written: ::core::ffi::c_int, + pub ckpt_slru_written: ::core::ffi::c_int, + pub ckpt_segs_added: ::core::ffi::c_int, + pub ckpt_segs_removed: ::core::ffi::c_int, + pub ckpt_segs_recycled: ::core::ffi::c_int, + pub ckpt_sync_rels: ::core::ffi::c_int, + pub ckpt_longest_sync: uint64, + pub ckpt_agg_sync_time: uint64, +} +pub mod WALAvailability { + pub type Type = ::core::ffi::c_uint; + pub const WALAVAIL_INVALID_LSN: Type = 0; + pub const WALAVAIL_RESERVED: Type = 1; + pub const WALAVAIL_EXTENDED: Type = 2; + pub const WALAVAIL_UNRESERVED: Type = 3; + pub const WALAVAIL_REMOVED: Type = 4; +} +pub mod SessionBackupState { + pub type Type = ::core::ffi::c_uint; + pub const SESSION_BACKUP_NONE: Type = 0; + pub const SESSION_BACKUP_RUNNING: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_class { + pub oid: Oid, + pub relname: NameData, + pub relnamespace: Oid, + pub reltype: Oid, + pub reloftype: Oid, + pub relowner: Oid, + pub relam: Oid, + pub relfilenode: Oid, + pub reltablespace: Oid, + pub relpages: int32, + pub reltuples: float4, + pub relallvisible: int32, + pub relallfrozen: int32, + pub reltoastrelid: Oid, + pub relhasindex: bool, + pub relisshared: bool, + pub relpersistence: ::core::ffi::c_char, + pub relkind: ::core::ffi::c_char, + pub relnatts: int16, + pub relchecks: int16, + pub relhasrules: bool, + pub relhastriggers: bool, + pub relhassubclass: bool, + pub relrowsecurity: bool, + pub relforcerowsecurity: bool, + pub relispopulated: bool, + pub relreplident: ::core::ffi::c_char, + pub relispartition: bool, + pub relrewrite: Oid, + pub relfrozenxid: TransactionId, + pub relminmxid: TransactionId, +} +impl Default for FormData_pg_class { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_class = *mut FormData_pg_class; +#[repr(C)] +#[derive(Debug)] +pub struct FormData_pg_index { + pub indexrelid: Oid, + pub indrelid: Oid, + pub indnatts: int16, + pub indnkeyatts: int16, + pub indisunique: bool, + pub indnullsnotdistinct: bool, + pub indisprimary: bool, + pub indisexclusion: bool, + pub indimmediate: bool, + pub indisclustered: bool, + pub indisvalid: bool, + pub indcheckxmin: bool, + pub indisready: bool, + pub indislive: bool, + pub indisreplident: bool, + pub indkey: int2vector, +} +impl Default for FormData_pg_index { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_index = *mut FormData_pg_index; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ObjectAddress { + pub classId: Oid, + pub objectId: Oid, + pub objectSubId: int32, +} +impl Default for ObjectAddress { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod PublishGencolsType { + pub type Type = ::core::ffi::c_uint; + pub const PUBLISH_GENCOLS_NONE: Type = 110; + pub const PUBLISH_GENCOLS_STORED: Type = 115; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_publication { + pub oid: Oid, + pub pubname: NameData, + pub pubowner: Oid, + pub puballtables: bool, + pub pubinsert: bool, + pub pubupdate: bool, + pub pubdelete: bool, + pub pubtruncate: bool, + pub pubviaroot: bool, + pub pubgencols: ::core::ffi::c_char, +} +impl Default for FormData_pg_publication { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_publication = *mut FormData_pg_publication; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PublicationActions { + pub pubinsert: bool, + pub pubupdate: bool, + pub pubdelete: bool, + pub pubtruncate: bool, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PublicationDesc { + pub pubactions: PublicationActions, + pub rf_valid_for_update: bool, + pub rf_valid_for_delete: bool, + pub cols_valid_for_update: bool, + pub cols_valid_for_delete: bool, + pub gencols_valid_for_update: bool, + pub gencols_valid_for_delete: bool, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Publication { + pub oid: Oid, + pub name: *mut ::core::ffi::c_char, + pub alltables: bool, + pub pubviaroot: bool, + pub pubgencols_type: PublishGencolsType::Type, + pub pubactions: PublicationActions, +} +impl Default for Publication { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PublicationRelInfo { + pub relation: Relation, + pub whereClause: *mut Node, + pub columns: *mut List, +} +impl Default for PublicationRelInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod PublicationPartOpt { + pub type Type = ::core::ffi::c_uint; + pub const PUBLICATION_PART_ROOT: Type = 0; + pub const PUBLICATION_PART_LEAF: Type = 1; + pub const PUBLICATION_PART_ALL: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RewriteRule { + pub ruleId: Oid, + pub event: CmdType::Type, + pub qual: *mut Node, + pub actions: *mut List, + pub enabled: ::core::ffi::c_char, + pub isInstead: bool, +} +impl Default for RewriteRule { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RuleLock { + pub numLocks: ::core::ffi::c_int, + pub rules: *mut *mut RewriteRule, +} +impl Default for RuleLock { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RelFileLocator { + pub spcOid: Oid, + pub dbOid: Oid, + pub relNumber: RelFileNumber, +} +impl Default for RelFileLocator { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RelFileLocatorBackend { + pub locator: RelFileLocator, + pub backend: ProcNumber, +} +impl Default for RelFileLocatorBackend { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PgAioHandleCallbacks { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PgAioTargetInfo { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgAioWaitRef { + pub aio_index: uint32, + pub generation_upper: uint32, + pub generation_lower: uint32, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union PgAioTargetData { + pub smgr: PgAioTargetData__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PgAioTargetData__bindgen_ty_1 { + pub rlocator: RelFileLocator, + pub blockNum: BlockNumber, + pub nblocks: BlockNumber, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub __bindgen_padding_0: u16, +} +impl Default for PgAioTargetData__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl PgAioTargetData__bindgen_ty_1 { + #[inline] + pub fn forkNum(&self) -> ForkNumber::Type { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_forkNum(&mut self, val: ForkNumber::Type) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn forkNum_raw(this: *const Self) -> ForkNumber::Type { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_forkNum_raw(this: *mut Self, val: ForkNumber::Type) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn is_temp(&self) -> bool { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) } + } + #[inline] + pub fn set_is_temp(&mut self, val: bool) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_temp_raw(this: *const Self) -> bool { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_is_temp_raw(this: *mut Self, val: bool) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn skip_fsync(&self) -> bool { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) } + } + #[inline] + pub fn set_skip_fsync(&mut self, val: bool) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn skip_fsync_raw(this: *const Self) -> bool { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 9usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_skip_fsync_raw(this: *mut Self, val: bool) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + forkNum: ForkNumber::Type, + is_temp: bool, + skip_fsync: bool, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let forkNum: u32 = unsafe { ::core::mem::transmute(forkNum) }; + forkNum as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let is_temp: u8 = unsafe { ::core::mem::transmute(is_temp) }; + is_temp as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let skip_fsync: u8 = unsafe { ::core::mem::transmute(skip_fsync) }; + skip_fsync as u64 + }); + __bindgen_bitfield_unit + } +} +impl Default for PgAioTargetData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod PgAioResultStatus { + pub type Type = ::core::ffi::c_uint; + pub const PGAIO_RS_UNKNOWN: Type = 0; + pub const PGAIO_RS_OK: Type = 1; + pub const PGAIO_RS_PARTIAL: Type = 2; + pub const PGAIO_RS_WARNING: Type = 3; + pub const PGAIO_RS_ERROR: Type = 4; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgAioResult { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub result: int32, +} +impl PgAioResult { + #[inline] + pub fn id(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 6u8) as u32) } + } + #[inline] + pub fn set_id(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 6u8, val as u64) + } + } + #[inline] + pub unsafe fn id_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 6u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_id_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 6u8, + val as u64, + ) + } + } + #[inline] + pub fn status(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 3u8) as u32) } + } + #[inline] + pub fn set_status(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn status_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 3u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_status_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn error_data(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 23u8) as u32) } + } + #[inline] + pub fn set_error_data(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 23u8, val as u64) + } + } + #[inline] + pub unsafe fn error_data_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 9usize, + 23u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_error_data_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 9usize, + 23u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + id: uint32, + status: uint32, + error_data: uint32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 6u8, { + let id: u32 = unsafe { ::core::mem::transmute(id) }; + id as u64 + }); + __bindgen_bitfield_unit.set(6usize, 3u8, { + let status: u32 = unsafe { ::core::mem::transmute(status) }; + status as u64 + }); + __bindgen_bitfield_unit.set(9usize, 23u8, { + let error_data: u32 = unsafe { ::core::mem::transmute(error_data) }; + error_data as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct PgAioReturn { + pub result: PgAioResult, + pub target_data: PgAioTargetData, +} +impl Default for PgAioReturn { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SMgrRelationData { + pub smgr_rlocator: RelFileLocatorBackend, + pub smgr_targblock: BlockNumber, + pub smgr_cached_nblocks: [BlockNumber; 4usize], + pub smgr_which: ::core::ffi::c_int, + pub md_num_open_segs: [::core::ffi::c_int; 4usize], + pub md_seg_fds: [*mut _MdfdVec; 4usize], + pub pincount: ::core::ffi::c_int, + pub node: dlist_node, +} +impl Default for SMgrRelationData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type SMgrRelation = *mut SMgrRelationData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LockRelId { + pub relId: Oid, + pub dbId: Oid, +} +impl Default for LockRelId { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LockInfoData { + pub lockRelId: LockRelId, +} +impl Default for LockInfoData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type LockInfo = *mut LockInfoData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RelationData { + pub rd_locator: RelFileLocator, + pub rd_smgr: SMgrRelation, + pub rd_refcnt: ::core::ffi::c_int, + pub rd_backend: ProcNumber, + pub rd_islocaltemp: bool, + pub rd_isnailed: bool, + pub rd_isvalid: bool, + pub rd_indexvalid: bool, + pub rd_statvalid: bool, + pub rd_createSubid: SubTransactionId, + pub rd_newRelfilelocatorSubid: SubTransactionId, + pub rd_firstRelfilelocatorSubid: SubTransactionId, + pub rd_droppedSubid: SubTransactionId, + pub rd_rel: Form_pg_class, + pub rd_att: TupleDesc, + pub rd_id: Oid, + pub rd_lockInfo: LockInfoData, + pub rd_rules: *mut RuleLock, + pub rd_rulescxt: MemoryContext, + pub trigdesc: *mut TriggerDesc, + pub rd_rsdesc: *mut RowSecurityDesc, + pub rd_fkeylist: *mut List, + pub rd_fkeyvalid: bool, + pub rd_partkey: PartitionKey, + pub rd_partkeycxt: MemoryContext, + pub rd_partdesc: PartitionDesc, + pub rd_pdcxt: MemoryContext, + pub rd_partdesc_nodetached: PartitionDesc, + pub rd_pddcxt: MemoryContext, + pub rd_partdesc_nodetached_xmin: TransactionId, + pub rd_partcheck: *mut List, + pub rd_partcheckvalid: bool, + pub rd_partcheckcxt: MemoryContext, + pub rd_indexlist: *mut List, + pub rd_pkindex: Oid, + pub rd_ispkdeferrable: bool, + pub rd_replidindex: Oid, + pub rd_statlist: *mut List, + pub rd_attrsvalid: bool, + pub rd_keyattr: *mut Bitmapset, + pub rd_pkattr: *mut Bitmapset, + pub rd_idattr: *mut Bitmapset, + pub rd_hotblockingattr: *mut Bitmapset, + pub rd_summarizedattr: *mut Bitmapset, + pub rd_pubdesc: *mut PublicationDesc, + pub rd_options: *mut bytea, + pub rd_amhandler: Oid, + pub rd_tableam: *const TableAmRoutine, + pub rd_index: Form_pg_index, + pub rd_indextuple: *mut HeapTupleData, + pub rd_indexcxt: MemoryContext, + pub rd_indam: *mut IndexAmRoutine, + pub rd_opfamily: *mut Oid, + pub rd_opcintype: *mut Oid, + pub rd_support: *mut RegProcedure, + pub rd_supportinfo: *mut FmgrInfo, + pub rd_indoption: *mut int16, + pub rd_indexprs: *mut List, + pub rd_indpred: *mut List, + pub rd_exclops: *mut Oid, + pub rd_exclprocs: *mut Oid, + pub rd_exclstrats: *mut uint16, + pub rd_indcollation: *mut Oid, + pub rd_opcoptions: *mut *mut bytea, + pub rd_amcache: *mut ::core::ffi::c_void, + pub rd_fdwroutine: *mut FdwRoutine, + pub rd_toastoid: Oid, + pub pgstat_enabled: bool, + pub pgstat_info: *mut PgStat_TableStatus, +} +impl Default for RelationData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ForeignKeyCacheInfo { + pub type_: NodeTag, + pub conoid: Oid, + pub conrelid: Oid, + pub confrelid: Oid, + pub nkeys: ::core::ffi::c_int, + pub conenforced: bool, + pub conkey: [AttrNumber; 32usize], + pub confkey: [AttrNumber; 32usize], + pub conpfeqop: [Oid; 32usize], +} +impl Default for ForeignKeyCacheInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct AutoVacOpts { + pub enabled: bool, + pub vacuum_threshold: ::core::ffi::c_int, + pub vacuum_max_threshold: ::core::ffi::c_int, + pub vacuum_ins_threshold: ::core::ffi::c_int, + pub analyze_threshold: ::core::ffi::c_int, + pub vacuum_cost_limit: ::core::ffi::c_int, + pub freeze_min_age: ::core::ffi::c_int, + pub freeze_max_age: ::core::ffi::c_int, + pub freeze_table_age: ::core::ffi::c_int, + pub multixact_freeze_min_age: ::core::ffi::c_int, + pub multixact_freeze_max_age: ::core::ffi::c_int, + pub multixact_freeze_table_age: ::core::ffi::c_int, + pub log_min_duration: ::core::ffi::c_int, + pub vacuum_cost_delay: float8, + pub vacuum_scale_factor: float8, + pub vacuum_ins_scale_factor: float8, + pub analyze_scale_factor: float8, +} +pub mod StdRdOptIndexCleanup { + pub type Type = ::core::ffi::c_uint; + pub const STDRD_OPTION_VACUUM_INDEX_CLEANUP_AUTO: Type = 0; + pub const STDRD_OPTION_VACUUM_INDEX_CLEANUP_OFF: Type = 1; + pub const STDRD_OPTION_VACUUM_INDEX_CLEANUP_ON: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct StdRdOptions { + pub vl_len_: int32, + pub fillfactor: ::core::ffi::c_int, + pub toast_tuple_target: ::core::ffi::c_int, + pub autovacuum: AutoVacOpts, + pub user_catalog_table: bool, + pub parallel_workers: ::core::ffi::c_int, + pub vacuum_index_cleanup: StdRdOptIndexCleanup::Type, + pub vacuum_truncate: bool, + pub vacuum_truncate_set: bool, + pub vacuum_max_eager_freeze_failure_rate: f64, +} +impl Default for StdRdOptions { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ViewOptCheckOption { + pub type Type = ::core::ffi::c_uint; + pub const VIEW_OPTION_CHECK_OPTION_NOT_SET: Type = 0; + pub const VIEW_OPTION_CHECK_OPTION_LOCAL: Type = 1; + pub const VIEW_OPTION_CHECK_OPTION_CASCADED: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ViewOptions { + pub vl_len_: int32, + pub security_barrier: bool, + pub security_invoker: bool, + pub check_option: ViewOptCheckOption::Type, +} +impl Default for ViewOptions { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod XLTW_Oper { + pub type Type = ::core::ffi::c_uint; + pub const XLTW_None: Type = 0; + pub const XLTW_Update: Type = 1; + pub const XLTW_Delete: Type = 2; + pub const XLTW_Lock: Type = 3; + pub const XLTW_LockUpdated: Type = 4; + pub const XLTW_InsertIndex: Type = 5; + pub const XLTW_InsertIndexUnique: Type = 6; + pub const XLTW_FetchUpdated: Type = 7; + pub const XLTW_RecheckExclusionConstr: Type = 8; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MemoryStatsEntry { + pub name: dsa_pointer, + pub ident: dsa_pointer, + pub path: dsa_pointer, + pub type_: NodeTag, + pub path_length: ::core::ffi::c_int, + pub levels: ::core::ffi::c_int, + pub totalspace: int64, + pub nblocks: int64, + pub freespace: int64, + pub freechunks: int64, + pub num_agg_stats: ::core::ffi::c_int, +} +impl Default for MemoryStatsEntry { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct MemoryStatsCtl { + pub memstats_dsa_handle: dsa_handle, + pub lw_lock: LWLock, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct MemoryStatsBackendState { + pub memcxt_cv: ConditionVariable, + pub lw_lock: LWLock, + pub proc_id: ::core::ffi::c_int, + pub total_stats: ::core::ffi::c_int, + pub summary: bool, + pub memstats_dsa_pointer: dsa_pointer, + pub stats_timestamp: TimestampTz, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MemoryStatsContextId { + pub context: MemoryContext, + pub context_id: ::core::ffi::c_int, +} +impl Default for MemoryStatsContextId { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ExecutorStart_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn(queryDesc: *mut QueryDesc, eflags: ::core::ffi::c_int) -> bool, +>; +pub type ExecutorRun_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + queryDesc: *mut QueryDesc, + direction: ScanDirection::Type, + count: uint64, + ), +>; +pub type ExecutorFinish_hook_type = + ::core::option::Option; +pub type ExecutorEnd_hook_type = + ::core::option::Option; +pub type ExecutorCheckPerms_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + rangeTable: *mut List, + rtePermInfos: *mut List, + ereport_on_violation: bool, + ) -> bool, +>; +pub type ExecScanAccessMtd = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut ScanState) -> *mut TupleTableSlot, +>; +pub type ExecScanRecheckMtd = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut ScanState, slot: *mut TupleTableSlot) -> bool, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TupOutputState { + pub slot: *mut TupleTableSlot, + pub dest: *mut DestReceiver, +} +impl Default for TupOutputState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AttInMetadata { + pub tupdesc: TupleDesc, + pub attinfuncs: *mut FmgrInfo, + pub attioparams: *mut Oid, + pub atttypmods: *mut int32, +} +impl Default for AttInMetadata { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FuncCallContext { + pub call_cntr: uint64, + pub max_calls: uint64, + pub user_fctx: *mut ::core::ffi::c_void, + pub attinmeta: *mut AttInMetadata, + pub multi_call_memory_ctx: MemoryContext, + pub tuple_desc: TupleDesc, +} +impl Default for FuncCallContext { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod TypeFuncClass { + pub type Type = ::core::ffi::c_uint; + pub const TYPEFUNC_SCALAR: Type = 0; + pub const TYPEFUNC_COMPOSITE: Type = 1; + pub const TYPEFUNC_COMPOSITE_DOMAIN: Type = 2; + pub const TYPEFUNC_RECORD: Type = 3; + pub const TYPEFUNC_OTHER: Type = 4; +} +pub type sig_atomic_t = __sig_atomic_t; +pub mod _bindgen_ty_16 { + pub type Type = ::core::ffi::c_uint; + pub const SIGEV_SIGNAL: Type = 0; + pub const SIGEV_NONE: Type = 1; + pub const SIGEV_THREAD: Type = 2; + pub const SIGEV_THREAD_ID: Type = 4; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Port { + _unused: [u8; 0], +} +pub type pg_stack_base_t = *mut ::core::ffi::c_char; +pub mod BackendType { + pub type Type = ::core::ffi::c_uint; + pub const B_INVALID: Type = 0; + pub const B_BACKEND: Type = 1; + pub const B_DEAD_END_BACKEND: Type = 2; + pub const B_AUTOVAC_LAUNCHER: Type = 3; + pub const B_AUTOVAC_WORKER: Type = 4; + pub const B_BG_WORKER: Type = 5; + pub const B_WAL_SENDER: Type = 6; + pub const B_SLOTSYNC_WORKER: Type = 7; + pub const B_STANDALONE_BACKEND: Type = 8; + pub const B_ARCHIVER: Type = 9; + pub const B_BG_WRITER: Type = 10; + pub const B_CHECKPOINTER: Type = 11; + pub const B_IO_WORKER: Type = 12; + pub const B_STARTUP: Type = 13; + pub const B_WAL_RECEIVER: Type = 14; + pub const B_WAL_SUMMARIZER: Type = 15; + pub const B_WAL_WRITER: Type = 16; + pub const B_LOGGER: Type = 17; +} +pub mod ProcessingMode { + #[doc = "\t pmod.h --\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t *\n\t\t\tPOSTGRES processing mode definitions. *"] + pub type Type = ::core::ffi::c_uint; + pub const BootstrapProcessing: Type = 0; + pub const InitProcessing: Type = 1; + pub const NormalProcessing: Type = 2; +} +pub type shmem_request_hook_type = ::core::option::Option; +pub mod ConflictType { + pub type Type = ::core::ffi::c_uint; + pub const CT_INSERT_EXISTS: Type = 0; + pub const CT_UPDATE_ORIGIN_DIFFERS: Type = 1; + pub const CT_UPDATE_EXISTS: Type = 2; + pub const CT_UPDATE_MISSING: Type = 3; + pub const CT_DELETE_ORIGIN_DIFFERS: Type = 4; + pub const CT_DELETE_MISSING: Type = 5; + pub const CT_MULTIPLE_UNIQUE_CONFLICTS: Type = 6; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ConflictTupleInfo { + pub slot: *mut TupleTableSlot, + pub indexoid: Oid, + pub xmin: TransactionId, + pub origin: RepOriginId, + pub ts: TimestampTz, +} +impl Default for ConflictTupleInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ProgressCommandType { + pub type Type = ::core::ffi::c_uint; + pub const PROGRESS_COMMAND_INVALID: Type = 0; + pub const PROGRESS_COMMAND_VACUUM: Type = 1; + pub const PROGRESS_COMMAND_ANALYZE: Type = 2; + pub const PROGRESS_COMMAND_CLUSTER: Type = 3; + pub const PROGRESS_COMMAND_CREATE_INDEX: Type = 4; + pub const PROGRESS_COMMAND_BASEBACKUP: Type = 5; + pub const PROGRESS_COMMAND_COPY: Type = 6; +} +pub type sa_family_t = ::core::ffi::c_ushort; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sockaddr_storage { + pub ss_family: sa_family_t, + pub __ss_padding: [::core::ffi::c_char; 118usize], + pub __ss_align: ::core::ffi::c_ulong, +} +impl Default for sockaddr_storage { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SockAddr { + pub addr: sockaddr_storage, + pub salen: socklen_t, +} +impl Default for SockAddr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AddrInfo { + pub family: ::core::ffi::c_int, + pub addr: SockAddr, +} +impl Default for AddrInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ProtocolVersion = uint32; +pub type MsgType = ProtocolVersion; +pub type PacketLen = uint32; +pub type AuthRequest = uint32; +#[repr(C)] +#[derive(Debug, Default)] +pub struct CancelRequestPacket { + pub cancelRequestCode: MsgType, + pub backendPID: uint32, + pub cancelAuthCode: __IncompleteArrayField<::core::ffi::c_char>, +} +pub mod BackendState { + pub type Type = ::core::ffi::c_uint; + pub const STATE_UNDEFINED: Type = 0; + pub const STATE_STARTING: Type = 1; + pub const STATE_IDLE: Type = 2; + pub const STATE_RUNNING: Type = 3; + pub const STATE_IDLEINTRANSACTION: Type = 4; + pub const STATE_FASTPATH: Type = 5; + pub const STATE_IDLEINTRANSACTION_ABORTED: Type = 6; + pub const STATE_DISABLED: Type = 7; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PgBackendSSLStatus { + pub ssl_bits: ::core::ffi::c_int, + pub ssl_version: [::core::ffi::c_char; 64usize], + pub ssl_cipher: [::core::ffi::c_char; 64usize], + pub ssl_client_dn: [::core::ffi::c_char; 64usize], + pub ssl_client_serial: [::core::ffi::c_char; 64usize], + pub ssl_issuer_dn: [::core::ffi::c_char; 64usize], +} +impl Default for PgBackendSSLStatus { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PgBackendGSSStatus { + pub gss_princ: [::core::ffi::c_char; 64usize], + pub gss_auth: bool, + pub gss_enc: bool, + pub gss_delegation: bool, +} +impl Default for PgBackendGSSStatus { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PgBackendStatus { + pub st_changecount: ::core::ffi::c_int, + pub st_procpid: ::core::ffi::c_int, + pub st_backendType: BackendType::Type, + pub st_proc_start_timestamp: TimestampTz, + pub st_xact_start_timestamp: TimestampTz, + pub st_activity_start_timestamp: TimestampTz, + pub st_state_start_timestamp: TimestampTz, + pub st_databaseid: Oid, + pub st_userid: Oid, + pub st_clientaddr: SockAddr, + pub st_clienthostname: *mut ::core::ffi::c_char, + pub st_ssl: bool, + pub st_sslstatus: *mut PgBackendSSLStatus, + pub st_gss: bool, + pub st_gssstatus: *mut PgBackendGSSStatus, + pub st_state: BackendState::Type, + pub st_appname: *mut ::core::ffi::c_char, + pub st_activity_raw: *mut ::core::ffi::c_char, + pub st_progress_command: ProgressCommandType::Type, + pub st_progress_command_target: Oid, + pub st_progress_param: [int64; 20usize], + pub st_query_id: uint64, + pub st_plan_id: uint64, +} +impl Default for PgBackendStatus { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LocalPgBackendStatus { + pub backendStatus: PgBackendStatus, + pub proc_number: ProcNumber, + pub backend_xid: TransactionId, + pub backend_xmin: TransactionId, + pub backend_subxact_count: ::core::ffi::c_int, + pub backend_subxact_overflowed: bool, +} +impl Default for LocalPgBackendStatus { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod WaitEventActivity { + pub type Type = ::core::ffi::c_uint; + pub const WAIT_EVENT_ARCHIVER_MAIN: Type = 83886080; + pub const WAIT_EVENT_AUTOVACUUM_MAIN: Type = 83886081; + pub const WAIT_EVENT_BGWRITER_HIBERNATE: Type = 83886082; + pub const WAIT_EVENT_BGWRITER_MAIN: Type = 83886083; + pub const WAIT_EVENT_CHECKPOINTER_MAIN: Type = 83886084; + pub const WAIT_EVENT_CHECKPOINTER_SHUTDOWN: Type = 83886085; + pub const WAIT_EVENT_IO_WORKER_MAIN: Type = 83886086; + pub const WAIT_EVENT_LOGICAL_APPLY_MAIN: Type = 83886087; + pub const WAIT_EVENT_LOGICAL_LAUNCHER_MAIN: Type = 83886088; + pub const WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN: Type = 83886089; + pub const WAIT_EVENT_RECOVERY_WAL_STREAM: Type = 83886090; + pub const WAIT_EVENT_REPLICATION_SLOTSYNC_MAIN: Type = 83886091; + pub const WAIT_EVENT_REPLICATION_SLOTSYNC_SHUTDOWN: Type = 83886092; + pub const WAIT_EVENT_SYSLOGGER_MAIN: Type = 83886093; + pub const WAIT_EVENT_WAL_RECEIVER_MAIN: Type = 83886094; + pub const WAIT_EVENT_WAL_SENDER_MAIN: Type = 83886095; + pub const WAIT_EVENT_WAL_SUMMARIZER_WAL: Type = 83886096; + pub const WAIT_EVENT_WAL_WRITER_MAIN: Type = 83886097; +} +pub mod WaitEventBufferPin { + pub type Type = ::core::ffi::c_uint; + pub const WAIT_EVENT_BUFFER_PIN: Type = 67108864; +} +pub mod WaitEventClient { + pub type Type = ::core::ffi::c_uint; + pub const WAIT_EVENT_CLIENT_READ: Type = 100663296; + pub const WAIT_EVENT_CLIENT_WRITE: Type = 100663297; + pub const WAIT_EVENT_GSS_OPEN_SERVER: Type = 100663298; + pub const WAIT_EVENT_LIBPQWALRECEIVER_CONNECT: Type = 100663299; + pub const WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE: Type = 100663300; + pub const WAIT_EVENT_SSL_OPEN_SERVER: Type = 100663301; + pub const WAIT_EVENT_WAIT_FOR_STANDBY_CONFIRMATION: Type = 100663302; + pub const WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL: Type = 100663303; + pub const WAIT_EVENT_WAL_SENDER_WRITE_DATA: Type = 100663304; +} +pub mod WaitEventIO { + pub type Type = ::core::ffi::c_uint; + pub const WAIT_EVENT_AIO_IO_COMPLETION: Type = 167772160; + pub const WAIT_EVENT_AIO_IO_URING_EXECUTION: Type = 167772161; + pub const WAIT_EVENT_AIO_IO_URING_SUBMIT: Type = 167772162; + pub const WAIT_EVENT_BASEBACKUP_READ: Type = 167772163; + pub const WAIT_EVENT_BASEBACKUP_SYNC: Type = 167772164; + pub const WAIT_EVENT_BASEBACKUP_WRITE: Type = 167772165; + pub const WAIT_EVENT_BUFFILE_READ: Type = 167772166; + pub const WAIT_EVENT_BUFFILE_TRUNCATE: Type = 167772167; + pub const WAIT_EVENT_BUFFILE_WRITE: Type = 167772168; + pub const WAIT_EVENT_CONTROL_FILE_READ: Type = 167772169; + pub const WAIT_EVENT_CONTROL_FILE_SYNC: Type = 167772170; + pub const WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE: Type = 167772171; + pub const WAIT_EVENT_CONTROL_FILE_WRITE: Type = 167772172; + pub const WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE: Type = 167772173; + pub const WAIT_EVENT_COPY_FILE_COPY: Type = 167772174; + pub const WAIT_EVENT_COPY_FILE_READ: Type = 167772175; + pub const WAIT_EVENT_COPY_FILE_WRITE: Type = 167772176; + pub const WAIT_EVENT_DATA_FILE_EXTEND: Type = 167772177; + pub const WAIT_EVENT_DATA_FILE_FLUSH: Type = 167772178; + pub const WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC: Type = 167772179; + pub const WAIT_EVENT_DATA_FILE_PREFETCH: Type = 167772180; + pub const WAIT_EVENT_DATA_FILE_READ: Type = 167772181; + pub const WAIT_EVENT_DATA_FILE_SYNC: Type = 167772182; + pub const WAIT_EVENT_DATA_FILE_TRUNCATE: Type = 167772183; + pub const WAIT_EVENT_DATA_FILE_WRITE: Type = 167772184; + pub const WAIT_EVENT_DSM_ALLOCATE: Type = 167772185; + pub const WAIT_EVENT_DSM_FILL_ZERO_WRITE: Type = 167772186; + pub const WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ: Type = 167772187; + pub const WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC: Type = 167772188; + pub const WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE: Type = 167772189; + pub const WAIT_EVENT_LOCK_FILE_CREATE_READ: Type = 167772190; + pub const WAIT_EVENT_LOCK_FILE_CREATE_SYNC: Type = 167772191; + pub const WAIT_EVENT_LOCK_FILE_CREATE_WRITE: Type = 167772192; + pub const WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ: Type = 167772193; + pub const WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC: Type = 167772194; + pub const WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC: Type = 167772195; + pub const WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE: Type = 167772196; + pub const WAIT_EVENT_LOGICAL_REWRITE_SYNC: Type = 167772197; + pub const WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE: Type = 167772198; + pub const WAIT_EVENT_LOGICAL_REWRITE_WRITE: Type = 167772199; + pub const WAIT_EVENT_RELATION_MAP_READ: Type = 167772200; + pub const WAIT_EVENT_RELATION_MAP_REPLACE: Type = 167772201; + pub const WAIT_EVENT_RELATION_MAP_WRITE: Type = 167772202; + pub const WAIT_EVENT_REORDER_BUFFER_READ: Type = 167772203; + pub const WAIT_EVENT_REORDER_BUFFER_WRITE: Type = 167772204; + pub const WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ: Type = 167772205; + pub const WAIT_EVENT_REPLICATION_SLOT_READ: Type = 167772206; + pub const WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC: Type = 167772207; + pub const WAIT_EVENT_REPLICATION_SLOT_SYNC: Type = 167772208; + pub const WAIT_EVENT_REPLICATION_SLOT_WRITE: Type = 167772209; + pub const WAIT_EVENT_SLRU_FLUSH_SYNC: Type = 167772210; + pub const WAIT_EVENT_SLRU_READ: Type = 167772211; + pub const WAIT_EVENT_SLRU_SYNC: Type = 167772212; + pub const WAIT_EVENT_SLRU_WRITE: Type = 167772213; + pub const WAIT_EVENT_SNAPBUILD_READ: Type = 167772214; + pub const WAIT_EVENT_SNAPBUILD_SYNC: Type = 167772215; + pub const WAIT_EVENT_SNAPBUILD_WRITE: Type = 167772216; + pub const WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC: Type = 167772217; + pub const WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE: Type = 167772218; + pub const WAIT_EVENT_TIMELINE_HISTORY_READ: Type = 167772219; + pub const WAIT_EVENT_TIMELINE_HISTORY_SYNC: Type = 167772220; + pub const WAIT_EVENT_TIMELINE_HISTORY_WRITE: Type = 167772221; + pub const WAIT_EVENT_TWOPHASE_FILE_READ: Type = 167772222; + pub const WAIT_EVENT_TWOPHASE_FILE_SYNC: Type = 167772223; + pub const WAIT_EVENT_TWOPHASE_FILE_WRITE: Type = 167772224; + pub const WAIT_EVENT_VERSION_FILE_SYNC: Type = 167772225; + pub const WAIT_EVENT_VERSION_FILE_WRITE: Type = 167772226; + pub const WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ: Type = 167772227; + pub const WAIT_EVENT_WAL_BOOTSTRAP_SYNC: Type = 167772228; + pub const WAIT_EVENT_WAL_BOOTSTRAP_WRITE: Type = 167772229; + pub const WAIT_EVENT_WAL_COPY_READ: Type = 167772230; + pub const WAIT_EVENT_WAL_COPY_SYNC: Type = 167772231; + pub const WAIT_EVENT_WAL_COPY_WRITE: Type = 167772232; + pub const WAIT_EVENT_WAL_INIT_SYNC: Type = 167772233; + pub const WAIT_EVENT_WAL_INIT_WRITE: Type = 167772234; + pub const WAIT_EVENT_WAL_READ: Type = 167772235; + pub const WAIT_EVENT_WAL_SUMMARY_READ: Type = 167772236; + pub const WAIT_EVENT_WAL_SUMMARY_WRITE: Type = 167772237; + pub const WAIT_EVENT_WAL_SYNC: Type = 167772238; + pub const WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN: Type = 167772239; + pub const WAIT_EVENT_WAL_WRITE: Type = 167772240; +} +pub mod WaitEventIPC { + pub type Type = ::core::ffi::c_uint; + pub const WAIT_EVENT_APPEND_READY: Type = 134217728; + pub const WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND: Type = 134217729; + pub const WAIT_EVENT_ARCHIVE_COMMAND: Type = 134217730; + pub const WAIT_EVENT_BACKEND_TERMINATION: Type = 134217731; + pub const WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE: Type = 134217732; + pub const WAIT_EVENT_BGWORKER_SHUTDOWN: Type = 134217733; + pub const WAIT_EVENT_BGWORKER_STARTUP: Type = 134217734; + pub const WAIT_EVENT_BTREE_PAGE: Type = 134217735; + pub const WAIT_EVENT_BUFFER_IO: Type = 134217736; + pub const WAIT_EVENT_CHECKPOINT_DELAY_COMPLETE: Type = 134217737; + pub const WAIT_EVENT_CHECKPOINT_DELAY_START: Type = 134217738; + pub const WAIT_EVENT_CHECKPOINT_DONE: Type = 134217739; + pub const WAIT_EVENT_CHECKPOINT_START: Type = 134217740; + pub const WAIT_EVENT_EXECUTE_GATHER: Type = 134217741; + pub const WAIT_EVENT_HASH_BATCH_ALLOCATE: Type = 134217742; + pub const WAIT_EVENT_HASH_BATCH_ELECT: Type = 134217743; + pub const WAIT_EVENT_HASH_BATCH_LOAD: Type = 134217744; + pub const WAIT_EVENT_HASH_BUILD_ALLOCATE: Type = 134217745; + pub const WAIT_EVENT_HASH_BUILD_ELECT: Type = 134217746; + pub const WAIT_EVENT_HASH_BUILD_HASH_INNER: Type = 134217747; + pub const WAIT_EVENT_HASH_BUILD_HASH_OUTER: Type = 134217748; + pub const WAIT_EVENT_HASH_GROW_BATCHES_DECIDE: Type = 134217749; + pub const WAIT_EVENT_HASH_GROW_BATCHES_ELECT: Type = 134217750; + pub const WAIT_EVENT_HASH_GROW_BATCHES_FINISH: Type = 134217751; + pub const WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE: Type = 134217752; + pub const WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION: Type = 134217753; + pub const WAIT_EVENT_HASH_GROW_BUCKETS_ELECT: Type = 134217754; + pub const WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE: Type = 134217755; + pub const WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT: Type = 134217756; + pub const WAIT_EVENT_LOGICAL_APPLY_SEND_DATA: Type = 134217757; + pub const WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE: Type = 134217758; + pub const WAIT_EVENT_LOGICAL_SYNC_DATA: Type = 134217759; + pub const WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE: Type = 134217760; + pub const WAIT_EVENT_MEM_CXT_PUBLISH: Type = 134217761; + pub const WAIT_EVENT_MESSAGE_QUEUE_INTERNAL: Type = 134217762; + pub const WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE: Type = 134217763; + pub const WAIT_EVENT_MESSAGE_QUEUE_RECEIVE: Type = 134217764; + pub const WAIT_EVENT_MESSAGE_QUEUE_SEND: Type = 134217765; + pub const WAIT_EVENT_MULTIXACT_CREATION: Type = 134217766; + pub const WAIT_EVENT_PARALLEL_BITMAP_SCAN: Type = 134217767; + pub const WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN: Type = 134217768; + pub const WAIT_EVENT_PARALLEL_FINISH: Type = 134217769; + pub const WAIT_EVENT_PROCARRAY_GROUP_UPDATE: Type = 134217770; + pub const WAIT_EVENT_PROC_SIGNAL_BARRIER: Type = 134217771; + pub const WAIT_EVENT_PROMOTE: Type = 134217772; + pub const WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT: Type = 134217773; + pub const WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE: Type = 134217774; + pub const WAIT_EVENT_RECOVERY_END_COMMAND: Type = 134217775; + pub const WAIT_EVENT_RECOVERY_PAUSE: Type = 134217776; + pub const WAIT_EVENT_REPLICATION_ORIGIN_DROP: Type = 134217777; + pub const WAIT_EVENT_REPLICATION_SLOT_DROP: Type = 134217778; + pub const WAIT_EVENT_RESTORE_COMMAND: Type = 134217779; + pub const WAIT_EVENT_SAFE_SNAPSHOT: Type = 134217780; + pub const WAIT_EVENT_SYNC_REP: Type = 134217781; + pub const WAIT_EVENT_WAL_BUFFER_INIT: Type = 134217782; + pub const WAIT_EVENT_WAL_RECEIVER_EXIT: Type = 134217783; + pub const WAIT_EVENT_WAL_RECEIVER_WAIT_START: Type = 134217784; + pub const WAIT_EVENT_WAL_SUMMARY_READY: Type = 134217785; + pub const WAIT_EVENT_XACT_GROUP_UPDATE: Type = 134217786; +} +pub mod WaitEventTimeout { + pub type Type = ::core::ffi::c_uint; + pub const WAIT_EVENT_BASE_BACKUP_THROTTLE: Type = 150994944; + pub const WAIT_EVENT_CHECKPOINT_WRITE_DELAY: Type = 150994945; + pub const WAIT_EVENT_PG_SLEEP: Type = 150994946; + pub const WAIT_EVENT_RECOVERY_APPLY_DELAY: Type = 150994947; + pub const WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL: Type = 150994948; + pub const WAIT_EVENT_REGISTER_SYNC_REQUEST: Type = 150994949; + pub const WAIT_EVENT_SPIN_DELAY: Type = 150994950; + pub const WAIT_EVENT_VACUUM_DELAY: Type = 150994951; + pub const WAIT_EVENT_VACUUM_TRUNCATE: Type = 150994952; + pub const WAIT_EVENT_WAL_SUMMARIZER_ERROR: Type = 150994953; +} +pub mod TrackFunctionsLevel { + pub type Type = ::core::ffi::c_uint; + pub const TRACK_FUNC_OFF: Type = 0; + pub const TRACK_FUNC_PL: Type = 1; + pub const TRACK_FUNC_ALL: Type = 2; +} +pub mod PgStat_FetchConsistency { + pub type Type = ::core::ffi::c_uint; + pub const PGSTAT_FETCH_CONSISTENCY_NONE: Type = 0; + pub const PGSTAT_FETCH_CONSISTENCY_CACHE: Type = 1; + pub const PGSTAT_FETCH_CONSISTENCY_SNAPSHOT: Type = 2; +} +pub mod SessionEndType { + pub type Type = ::core::ffi::c_uint; + pub const DISCONNECT_NOT_YET: Type = 0; + pub const DISCONNECT_NORMAL: Type = 1; + pub const DISCONNECT_CLIENT_EOF: Type = 2; + pub const DISCONNECT_FATAL: Type = 3; + pub const DISCONNECT_KILLED: Type = 4; +} +pub type PgStat_Counter = int64; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_FunctionCounts { + pub numcalls: PgStat_Counter, + pub total_time: instr_time, + pub self_time: instr_time, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PgStat_FunctionCallUsage { + pub fs: *mut PgStat_FunctionCounts, + pub save_f_total_time: instr_time, + pub save_total: instr_time, + pub start: instr_time, +} +impl Default for PgStat_FunctionCallUsage { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_BackendSubEntry { + pub apply_error_count: PgStat_Counter, + pub sync_error_count: PgStat_Counter, + pub conflict_count: [PgStat_Counter; 7usize], +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_TableCounts { + pub numscans: PgStat_Counter, + pub tuples_returned: PgStat_Counter, + pub tuples_fetched: PgStat_Counter, + pub tuples_inserted: PgStat_Counter, + pub tuples_updated: PgStat_Counter, + pub tuples_deleted: PgStat_Counter, + pub tuples_hot_updated: PgStat_Counter, + pub tuples_newpage_updated: PgStat_Counter, + pub truncdropped: bool, + pub delta_live_tuples: PgStat_Counter, + pub delta_dead_tuples: PgStat_Counter, + pub changed_tuples: PgStat_Counter, + pub blocks_fetched: PgStat_Counter, + pub blocks_hit: PgStat_Counter, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PgStat_TableStatus { + pub id: Oid, + pub shared: bool, + pub trans: *mut PgStat_TableXactStatus, + pub counts: PgStat_TableCounts, + pub relation: Relation, +} +impl Default for PgStat_TableStatus { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PgStat_TableXactStatus { + pub tuples_inserted: PgStat_Counter, + pub tuples_updated: PgStat_Counter, + pub tuples_deleted: PgStat_Counter, + pub truncdropped: bool, + pub inserted_pre_truncdrop: PgStat_Counter, + pub updated_pre_truncdrop: PgStat_Counter, + pub deleted_pre_truncdrop: PgStat_Counter, + pub nest_level: ::core::ffi::c_int, + pub upper: *mut PgStat_TableXactStatus, + pub parent: *mut PgStat_TableStatus, + pub next: *mut PgStat_TableXactStatus, +} +impl Default for PgStat_TableXactStatus { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PgStat_ArchiverStats { + pub archived_count: PgStat_Counter, + pub last_archived_wal: [::core::ffi::c_char; 41usize], + pub last_archived_timestamp: TimestampTz, + pub failed_count: PgStat_Counter, + pub last_failed_wal: [::core::ffi::c_char; 41usize], + pub last_failed_timestamp: TimestampTz, + pub stat_reset_timestamp: TimestampTz, +} +impl Default for PgStat_ArchiverStats { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_BgWriterStats { + pub buf_written_clean: PgStat_Counter, + pub maxwritten_clean: PgStat_Counter, + pub buf_alloc: PgStat_Counter, + pub stat_reset_timestamp: TimestampTz, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_CheckpointerStats { + pub num_timed: PgStat_Counter, + pub num_requested: PgStat_Counter, + pub num_performed: PgStat_Counter, + pub restartpoints_timed: PgStat_Counter, + pub restartpoints_requested: PgStat_Counter, + pub restartpoints_performed: PgStat_Counter, + pub write_time: PgStat_Counter, + pub sync_time: PgStat_Counter, + pub buffers_written: PgStat_Counter, + pub slru_written: PgStat_Counter, + pub stat_reset_timestamp: TimestampTz, +} +pub mod IOObject { + pub type Type = ::core::ffi::c_uint; + pub const IOOBJECT_RELATION: Type = 0; + pub const IOOBJECT_TEMP_RELATION: Type = 1; + pub const IOOBJECT_WAL: Type = 2; +} +pub mod IOContext { + pub type Type = ::core::ffi::c_uint; + pub const IOCONTEXT_BULKREAD: Type = 0; + pub const IOCONTEXT_BULKWRITE: Type = 1; + pub const IOCONTEXT_INIT: Type = 2; + pub const IOCONTEXT_NORMAL: Type = 3; + pub const IOCONTEXT_VACUUM: Type = 4; +} +pub mod IOOp { + pub type Type = ::core::ffi::c_uint; + pub const IOOP_EVICT: Type = 0; + pub const IOOP_FSYNC: Type = 1; + pub const IOOP_HIT: Type = 2; + pub const IOOP_REUSE: Type = 3; + pub const IOOP_WRITEBACK: Type = 4; + pub const IOOP_EXTEND: Type = 5; + pub const IOOP_READ: Type = 6; + pub const IOOP_WRITE: Type = 7; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_BktypeIO { + pub bytes: [[[uint64; 8usize]; 5usize]; 3usize], + pub counts: [[[PgStat_Counter; 8usize]; 5usize]; 3usize], + pub times: [[[PgStat_Counter; 8usize]; 5usize]; 3usize], +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_PendingIO { + pub bytes: [[[uint64; 8usize]; 5usize]; 3usize], + pub counts: [[[PgStat_Counter; 8usize]; 5usize]; 3usize], + pub pending_times: [[[instr_time; 8usize]; 5usize]; 3usize], +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_IO { + pub stat_reset_timestamp: TimestampTz, + pub stats: [PgStat_BktypeIO; 18usize], +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_StatDBEntry { + pub xact_commit: PgStat_Counter, + pub xact_rollback: PgStat_Counter, + pub blocks_fetched: PgStat_Counter, + pub blocks_hit: PgStat_Counter, + pub tuples_returned: PgStat_Counter, + pub tuples_fetched: PgStat_Counter, + pub tuples_inserted: PgStat_Counter, + pub tuples_updated: PgStat_Counter, + pub tuples_deleted: PgStat_Counter, + pub last_autovac_time: TimestampTz, + pub conflict_tablespace: PgStat_Counter, + pub conflict_lock: PgStat_Counter, + pub conflict_snapshot: PgStat_Counter, + pub conflict_logicalslot: PgStat_Counter, + pub conflict_bufferpin: PgStat_Counter, + pub conflict_startup_deadlock: PgStat_Counter, + pub temp_files: PgStat_Counter, + pub temp_bytes: PgStat_Counter, + pub deadlocks: PgStat_Counter, + pub checksum_failures: PgStat_Counter, + pub last_checksum_failure: TimestampTz, + pub blk_read_time: PgStat_Counter, + pub blk_write_time: PgStat_Counter, + pub sessions: PgStat_Counter, + pub session_time: PgStat_Counter, + pub active_time: PgStat_Counter, + pub idle_in_transaction_time: PgStat_Counter, + pub sessions_abandoned: PgStat_Counter, + pub sessions_fatal: PgStat_Counter, + pub sessions_killed: PgStat_Counter, + pub parallel_workers_to_launch: PgStat_Counter, + pub parallel_workers_launched: PgStat_Counter, + pub stat_reset_timestamp: TimestampTz, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_StatFuncEntry { + pub numcalls: PgStat_Counter, + pub total_time: PgStat_Counter, + pub self_time: PgStat_Counter, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_StatReplSlotEntry { + pub spill_txns: PgStat_Counter, + pub spill_count: PgStat_Counter, + pub spill_bytes: PgStat_Counter, + pub stream_txns: PgStat_Counter, + pub stream_count: PgStat_Counter, + pub stream_bytes: PgStat_Counter, + pub total_txns: PgStat_Counter, + pub total_bytes: PgStat_Counter, + pub stat_reset_timestamp: TimestampTz, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_SLRUStats { + pub blocks_zeroed: PgStat_Counter, + pub blocks_hit: PgStat_Counter, + pub blocks_read: PgStat_Counter, + pub blocks_written: PgStat_Counter, + pub blocks_exists: PgStat_Counter, + pub flush: PgStat_Counter, + pub truncate: PgStat_Counter, + pub stat_reset_timestamp: TimestampTz, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_StatSubEntry { + pub apply_error_count: PgStat_Counter, + pub sync_error_count: PgStat_Counter, + pub conflict_count: [PgStat_Counter; 7usize], + pub stat_reset_timestamp: TimestampTz, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_StatTabEntry { + pub numscans: PgStat_Counter, + pub lastscan: TimestampTz, + pub tuples_returned: PgStat_Counter, + pub tuples_fetched: PgStat_Counter, + pub tuples_inserted: PgStat_Counter, + pub tuples_updated: PgStat_Counter, + pub tuples_deleted: PgStat_Counter, + pub tuples_hot_updated: PgStat_Counter, + pub tuples_newpage_updated: PgStat_Counter, + pub live_tuples: PgStat_Counter, + pub dead_tuples: PgStat_Counter, + pub mod_since_analyze: PgStat_Counter, + pub ins_since_vacuum: PgStat_Counter, + pub blocks_fetched: PgStat_Counter, + pub blocks_hit: PgStat_Counter, + pub last_vacuum_time: TimestampTz, + pub vacuum_count: PgStat_Counter, + pub last_autovacuum_time: TimestampTz, + pub autovacuum_count: PgStat_Counter, + pub last_analyze_time: TimestampTz, + pub analyze_count: PgStat_Counter, + pub last_autoanalyze_time: TimestampTz, + pub autoanalyze_count: PgStat_Counter, + pub total_vacuum_time: PgStat_Counter, + pub total_autovacuum_time: PgStat_Counter, + pub total_analyze_time: PgStat_Counter, + pub total_autoanalyze_time: PgStat_Counter, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_WalCounters { + pub wal_records: PgStat_Counter, + pub wal_fpi: PgStat_Counter, + pub wal_bytes: uint64, + pub wal_buffers_full: PgStat_Counter, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_WalStats { + pub wal_counters: PgStat_WalCounters, + pub stat_reset_timestamp: TimestampTz, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_Backend { + pub stat_reset_timestamp: TimestampTz, + pub io_stats: PgStat_BktypeIO, + pub wal_counters: PgStat_WalCounters, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PgStat_BackendPending { + pub pending_io: PgStat_PendingIO, +} +pub type RmgrId = uint8; +pub mod RmgrIds { + pub type Type = ::core::ffi::c_uint; + pub const RM_XLOG_ID: Type = 0; + pub const RM_XACT_ID: Type = 1; + pub const RM_SMGR_ID: Type = 2; + pub const RM_CLOG_ID: Type = 3; + pub const RM_DBASE_ID: Type = 4; + pub const RM_TBLSPC_ID: Type = 5; + pub const RM_MULTIXACT_ID: Type = 6; + pub const RM_RELMAP_ID: Type = 7; + pub const RM_STANDBY_ID: Type = 8; + pub const RM_HEAP2_ID: Type = 9; + pub const RM_HEAP_ID: Type = 10; + pub const RM_BTREE_ID: Type = 11; + pub const RM_HASH_ID: Type = 12; + pub const RM_GIN_ID: Type = 13; + pub const RM_GIST_ID: Type = 14; + pub const RM_SEQ_ID: Type = 15; + pub const RM_SPGIST_ID: Type = 16; + pub const RM_BRIN_ID: Type = 17; + pub const RM_COMMIT_TS_ID: Type = 18; + pub const RM_REPLORIGIN_ID: Type = 19; + pub const RM_GENERIC_ID: Type = 20; + pub const RM_LOGICALMSG_ID: Type = 21; + pub const RM_NEXT_ID: Type = 22; +} +pub type pg_crc32c = uint32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XLogRecord { + pub xl_tot_len: uint32, + pub xl_xid: TransactionId, + pub xl_prev: XLogRecPtr, + pub xl_info: uint8, + pub xl_rmid: RmgrId, + pub xl_crc: pg_crc32c, +} +impl Default for XLogRecord { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct XLogRecordBlockHeader { + pub id: uint8, + pub fork_flags: uint8, + pub data_length: uint16, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct XLogRecordBlockImageHeader { + pub length: uint16, + pub hole_offset: uint16, + pub bimg_info: uint8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct XLogRecordBlockCompressHeader { + pub hole_length: uint16, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct XLogRecordDataHeaderShort { + pub id: uint8, + pub data_length: uint8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct XLogRecordDataHeaderLong { + pub id: uint8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct WALOpenSegment { + pub ws_file: ::core::ffi::c_int, + pub ws_segno: XLogSegNo, + pub ws_tli: TimeLineID, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WALSegmentContext { + pub ws_dir: [::core::ffi::c_char; 1024usize], + pub ws_segsize: ::core::ffi::c_int, +} +impl Default for WALSegmentContext { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type XLogPageReadCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + xlogreader: *mut XLogReaderState, + targetPagePtr: XLogRecPtr, + reqLen: ::core::ffi::c_int, + targetRecPtr: XLogRecPtr, + readBuf: *mut ::core::ffi::c_char, + ) -> ::core::ffi::c_int, +>; +pub type WALSegmentOpenCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + xlogreader: *mut XLogReaderState, + nextSegNo: XLogSegNo, + tli_p: *mut TimeLineID, + ), +>; +pub type WALSegmentCloseCB = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct XLogReaderRoutine { + pub page_read: XLogPageReadCB, + pub segment_open: WALSegmentOpenCB, + pub segment_close: WALSegmentCloseCB, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DecodedBkpBlock { + pub in_use: bool, + pub rlocator: RelFileLocator, + pub forknum: ForkNumber::Type, + pub blkno: BlockNumber, + pub prefetch_buffer: Buffer, + pub flags: uint8, + pub has_image: bool, + pub apply_image: bool, + pub bkp_image: *mut ::core::ffi::c_char, + pub hole_offset: uint16, + pub hole_length: uint16, + pub bimg_len: uint16, + pub bimg_info: uint8, + pub has_data: bool, + pub data: *mut ::core::ffi::c_char, + pub data_len: uint16, + pub data_bufsz: uint16, +} +impl Default for DecodedBkpBlock { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug)] +pub struct DecodedXLogRecord { + pub size: usize, + pub oversized: bool, + pub next: *mut DecodedXLogRecord, + pub lsn: XLogRecPtr, + pub next_lsn: XLogRecPtr, + pub header: XLogRecord, + pub record_origin: RepOriginId, + pub toplevel_xid: TransactionId, + pub main_data: *mut ::core::ffi::c_char, + pub main_data_len: uint32, + pub max_block_id: ::core::ffi::c_int, + pub blocks: __IncompleteArrayField, +} +impl Default for DecodedXLogRecord { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XLogReaderState { + pub routine: XLogReaderRoutine, + pub system_identifier: uint64, + pub private_data: *mut ::core::ffi::c_void, + pub ReadRecPtr: XLogRecPtr, + pub EndRecPtr: XLogRecPtr, + pub abortedRecPtr: XLogRecPtr, + pub missingContrecPtr: XLogRecPtr, + pub overwrittenRecPtr: XLogRecPtr, + pub DecodeRecPtr: XLogRecPtr, + pub NextRecPtr: XLogRecPtr, + pub PrevRecPtr: XLogRecPtr, + pub record: *mut DecodedXLogRecord, + pub decode_buffer: *mut ::core::ffi::c_char, + pub decode_buffer_size: usize, + pub free_decode_buffer: bool, + pub decode_buffer_head: *mut ::core::ffi::c_char, + pub decode_buffer_tail: *mut ::core::ffi::c_char, + pub decode_queue_head: *mut DecodedXLogRecord, + pub decode_queue_tail: *mut DecodedXLogRecord, + pub readBuf: *mut ::core::ffi::c_char, + pub readLen: uint32, + pub segcxt: WALSegmentContext, + pub seg: WALOpenSegment, + pub segoff: uint32, + pub latestPagePtr: XLogRecPtr, + pub latestPageTLI: TimeLineID, + pub currRecPtr: XLogRecPtr, + pub currTLI: TimeLineID, + pub currTLIValidUntil: XLogRecPtr, + pub nextTLI: TimeLineID, + pub readRecordBuf: *mut ::core::ffi::c_char, + pub readRecordBufSize: uint32, + pub errormsg_buf: *mut ::core::ffi::c_char, + pub errormsg_deferred: bool, + pub nonblocking: bool, +} +impl Default for XLogReaderState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod XLogPageReadResult { + pub type Type = ::core::ffi::c_int; + pub const XLREAD_SUCCESS: Type = 0; + pub const XLREAD_FAIL: Type = -1; + pub const XLREAD_WOULDBLOCK: Type = -2; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct WALReadError { + pub wre_errno: ::core::ffi::c_int, + pub wre_off: ::core::ffi::c_int, + pub wre_req: ::core::ffi::c_int, + pub wre_read: ::core::ffi::c_int, + pub wre_seg: WALOpenSegment, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GenericXLogState { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct shm_toc { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct shm_toc_estimator { + pub space_for_chunks: Size, + pub number_of_keys: Size, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct GinStatsData { + pub nPendingPages: BlockNumber, + pub nTotalPages: BlockNumber, + pub nEntryPages: BlockNumber, + pub nDataPages: BlockNumber, + pub nEntries: int64, + pub ginVersion: int32, +} +pub type GinTernaryValue = ::core::ffi::c_char; +pub type GistNSN = XLogRecPtr; +pub type PageGistNSN = PageXLogRecPtr; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct GISTPageOpaqueData { + pub nsn: PageGistNSN, + pub rightlink: BlockNumber, + pub flags: uint16, + pub gist_page_id: uint16, +} +pub type GISTPageOpaque = *mut GISTPageOpaqueData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GIST_SPLITVEC { + pub spl_left: *mut OffsetNumber, + pub spl_nleft: ::core::ffi::c_int, + pub spl_ldatum: Datum, + pub spl_ldatum_exists: bool, + pub spl_right: *mut OffsetNumber, + pub spl_nright: ::core::ffi::c_int, + pub spl_rdatum: Datum, + pub spl_rdatum_exists: bool, +} +impl Default for GIST_SPLITVEC { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GISTENTRY { + pub key: Datum, + pub rel: Relation, + pub page: Page, + pub offset: OffsetNumber, + pub leafkey: bool, +} +impl Default for GISTENTRY { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct GISTDeletedPageContents { + pub deleteXid: FullTransactionId, +} +#[repr(C)] +#[derive(Debug)] +pub struct GistEntryVector { + pub n: int32, + pub vector: __IncompleteArrayField, +} +impl Default for GistEntryVector { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SharedInvalCatcacheMsg { + pub id: int8, + pub dbId: Oid, + pub hashValue: uint32, +} +impl Default for SharedInvalCatcacheMsg { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SharedInvalCatalogMsg { + pub id: int8, + pub dbId: Oid, + pub catId: Oid, +} +impl Default for SharedInvalCatalogMsg { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SharedInvalRelcacheMsg { + pub id: int8, + pub dbId: Oid, + pub relId: Oid, +} +impl Default for SharedInvalRelcacheMsg { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SharedInvalSmgrMsg { + pub id: int8, + pub backend_hi: int8, + pub backend_lo: uint16, + pub rlocator: RelFileLocator, +} +impl Default for SharedInvalSmgrMsg { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SharedInvalRelmapMsg { + pub id: int8, + pub dbId: Oid, +} +impl Default for SharedInvalRelmapMsg { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SharedInvalSnapshotMsg { + pub id: int8, + pub dbId: Oid, + pub relId: Oid, +} +impl Default for SharedInvalSnapshotMsg { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SharedInvalRelSyncMsg { + pub id: int8, + pub dbId: Oid, + pub relid: Oid, +} +impl Default for SharedInvalRelSyncMsg { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union SharedInvalidationMessage { + pub id: int8, + pub cc: SharedInvalCatcacheMsg, + pub cat: SharedInvalCatalogMsg, + pub rc: SharedInvalRelcacheMsg, + pub sm: SharedInvalSmgrMsg, + pub rm: SharedInvalRelmapMsg, + pub sn: SharedInvalSnapshotMsg, + pub rs: SharedInvalRelSyncMsg, +} +impl Default for SharedInvalidationMessage { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_heap_delete { + pub xmax: TransactionId, + pub offnum: OffsetNumber, + pub infobits_set: uint8, + pub flags: uint8, +} +impl Default for xl_heap_delete { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug)] +pub struct xl_heap_truncate { + pub dbId: Oid, + pub nrelids: uint32, + pub flags: uint8, + pub relids: __IncompleteArrayField, +} +impl Default for xl_heap_truncate { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct xl_heap_header { + pub t_infomask2: uint16, + pub t_infomask: uint16, + pub t_hoff: uint8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct xl_heap_insert { + pub offnum: OffsetNumber, + pub flags: uint8, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct xl_heap_multi_insert { + pub flags: uint8, + pub ntuples: uint16, + pub offsets: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct xl_multi_insert_tuple { + pub datalen: uint16, + pub t_infomask2: uint16, + pub t_infomask: uint16, + pub t_hoff: uint8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_heap_update { + pub old_xmax: TransactionId, + pub old_offnum: OffsetNumber, + pub old_infobits_set: uint8, + pub flags: uint8, + pub new_xmax: TransactionId, + pub new_offnum: OffsetNumber, +} +impl Default for xl_heap_update { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct xl_heap_prune { + pub reason: uint8, + pub flags: uint8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xlhp_freeze_plan { + pub xmax: TransactionId, + pub t_infomask2: uint16, + pub t_infomask: uint16, + pub frzflags: uint8, + pub ntuples: uint16, +} +impl Default for xlhp_freeze_plan { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug)] +pub struct xlhp_freeze_plans { + pub nplans: uint16, + pub plans: __IncompleteArrayField, +} +impl Default for xlhp_freeze_plans { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct xlhp_prune_items { + pub ntargets: uint16, + pub data: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_heap_lock { + pub xmax: TransactionId, + pub offnum: OffsetNumber, + pub infobits_set: uint8, + pub flags: uint8, +} +impl Default for xl_heap_lock { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_heap_lock_updated { + pub xmax: TransactionId, + pub offnum: OffsetNumber, + pub infobits_set: uint8, + pub flags: uint8, +} +impl Default for xl_heap_lock_updated { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct xl_heap_confirm { + pub offnum: OffsetNumber, +} +#[repr(C)] +pub struct xl_heap_inplace { + pub offnum: OffsetNumber, + pub dbId: Oid, + pub tsId: Oid, + pub relcacheInitFileInval: bool, + pub nmsgs: ::core::ffi::c_int, + pub msgs: __IncompleteArrayField, +} +impl Default for xl_heap_inplace { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_heap_visible { + pub snapshotConflictHorizon: TransactionId, + pub flags: uint8, +} +impl Default for xl_heap_visible { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_heap_new_cid { + pub top_xid: TransactionId, + pub cmin: CommandId, + pub cmax: CommandId, + pub combocid: CommandId, + pub target_locator: RelFileLocator, + pub target_tid: ItemPointerData, +} +impl Default for xl_heap_new_cid { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_heap_rewrite_mapping { + pub mapped_xid: TransactionId, + pub mapped_db: Oid, + pub mapped_rel: Oid, + pub offset: off_t, + pub num_mappings: uint32, + pub start_lsn: XLogRecPtr, +} +impl Default for xl_heap_rewrite_mapping { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct TableScanDescData { + pub rs_rd: Relation, + pub rs_snapshot: *mut SnapshotData, + pub rs_nkeys: ::core::ffi::c_int, + pub rs_key: *mut ScanKeyData, + pub st: TableScanDescData__bindgen_ty_1, + pub rs_flags: uint32, + pub rs_parallel: *mut ParallelTableScanDescData, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union TableScanDescData__bindgen_ty_1 { + pub rs_tbmiterator: TBMIterator, + pub tidrange: TableScanDescData__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct TableScanDescData__bindgen_ty_1__bindgen_ty_1 { + pub rs_mintid: ItemPointerData, + pub rs_maxtid: ItemPointerData, +} +impl Default for TableScanDescData__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for TableScanDescData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type TableScanDesc = *mut TableScanDescData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParallelTableScanDescData { + pub phs_locator: RelFileLocator, + pub phs_syncscan: bool, + pub phs_snapshot_any: bool, + pub phs_snapshot_off: Size, +} +impl Default for ParallelTableScanDescData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ParallelTableScanDesc = *mut ParallelTableScanDescData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParallelBlockTableScanDescData { + pub base: ParallelTableScanDescData, + pub phs_nblocks: BlockNumber, + pub phs_mutex: slock_t, + pub phs_startblock: BlockNumber, + pub phs_nallocated: pg_atomic_uint64, +} +impl Default for ParallelBlockTableScanDescData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ParallelBlockTableScanDesc = *mut ParallelBlockTableScanDescData; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ParallelBlockTableScanWorkerData { + pub phsw_nallocated: uint64, + pub phsw_chunk_remaining: uint32, + pub phsw_chunk_size: uint32, +} +pub type ParallelBlockTableScanWorker = *mut ParallelBlockTableScanWorkerData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexFetchTableData { + pub rel: Relation, +} +impl Default for IndexFetchTableData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexScanDescData { + pub heapRelation: Relation, + pub indexRelation: Relation, + pub xs_snapshot: *mut SnapshotData, + pub numberOfKeys: ::core::ffi::c_int, + pub numberOfOrderBys: ::core::ffi::c_int, + pub keyData: *mut ScanKeyData, + pub orderByData: *mut ScanKeyData, + pub xs_want_itup: bool, + pub xs_temp_snap: bool, + pub kill_prior_tuple: bool, + pub ignore_killed_tuples: bool, + pub xactStartedInRecovery: bool, + pub opaque: *mut ::core::ffi::c_void, + pub instrument: *mut IndexScanInstrumentation, + pub xs_itup: IndexTuple, + pub xs_itupdesc: *mut TupleDescData, + pub xs_hitup: HeapTuple, + pub xs_hitupdesc: *mut TupleDescData, + pub xs_heaptid: ItemPointerData, + pub xs_heap_continue: bool, + pub xs_heapfetch: *mut IndexFetchTableData, + pub xs_recheck: bool, + pub xs_orderbyvals: *mut Datum, + pub xs_orderbynulls: *mut bool, + pub xs_recheckorderby: bool, + pub parallel_scan: *mut ParallelIndexScanDescData, +} +impl Default for IndexScanDescData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug)] +pub struct ParallelIndexScanDescData { + pub ps_locator: RelFileLocator, + pub ps_indexlocator: RelFileLocator, + pub ps_offset_ins: Size, + pub ps_offset_am: Size, + pub ps_snapshot_data: __IncompleteArrayField<::core::ffi::c_char>, +} +impl Default for ParallelIndexScanDescData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SysScanDescData { + pub heap_rel: Relation, + pub irel: Relation, + pub scan: *mut TableScanDescData, + pub iscan: *mut IndexScanDescData, + pub snapshot: *mut SnapshotData, + pub slot: *mut TupleTableSlot, +} +impl Default for SysScanDescData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod SyncCommitLevel { + pub type Type = ::core::ffi::c_uint; + pub const SYNCHRONOUS_COMMIT_OFF: Type = 0; + pub const SYNCHRONOUS_COMMIT_LOCAL_FLUSH: Type = 1; + pub const SYNCHRONOUS_COMMIT_REMOTE_WRITE: Type = 2; + pub const SYNCHRONOUS_COMMIT_REMOTE_FLUSH: Type = 3; + pub const SYNCHRONOUS_COMMIT_REMOTE_APPLY: Type = 4; +} +pub mod XactEvent { + pub type Type = ::core::ffi::c_uint; + pub const XACT_EVENT_COMMIT: Type = 0; + pub const XACT_EVENT_PARALLEL_COMMIT: Type = 1; + pub const XACT_EVENT_ABORT: Type = 2; + pub const XACT_EVENT_PARALLEL_ABORT: Type = 3; + pub const XACT_EVENT_PREPARE: Type = 4; + pub const XACT_EVENT_PRE_COMMIT: Type = 5; + pub const XACT_EVENT_PARALLEL_PRE_COMMIT: Type = 6; + pub const XACT_EVENT_PRE_PREPARE: Type = 7; +} +pub type XactCallback = ::core::option::Option< + unsafe extern "C-unwind" fn(event: XactEvent::Type, arg: *mut ::core::ffi::c_void), +>; +pub mod SubXactEvent { + pub type Type = ::core::ffi::c_uint; + pub const SUBXACT_EVENT_START_SUB: Type = 0; + pub const SUBXACT_EVENT_COMMIT_SUB: Type = 1; + pub const SUBXACT_EVENT_ABORT_SUB: Type = 2; + pub const SUBXACT_EVENT_PRE_COMMIT_SUB: Type = 3; +} +pub type SubXactCallback = ::core::option::Option< + unsafe extern "C-unwind" fn( + event: SubXactEvent::Type, + mySubid: SubTransactionId, + parentSubid: SubTransactionId, + arg: *mut ::core::ffi::c_void, + ), +>; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct SavedTransactionCharacteristics { + pub save_XactIsoLevel: ::core::ffi::c_int, + pub save_XactReadOnly: bool, + pub save_XactDeferrable: bool, +} +#[repr(C)] +#[derive(Debug)] +pub struct xl_xact_assignment { + pub xtop: TransactionId, + pub nsubxacts: ::core::ffi::c_int, + pub xsub: __IncompleteArrayField, +} +impl Default for xl_xact_assignment { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct xl_xact_xinfo { + pub xinfo: uint32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_xact_dbinfo { + pub dbId: Oid, + pub tsId: Oid, +} +impl Default for xl_xact_dbinfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug)] +pub struct xl_xact_subxacts { + pub nsubxacts: ::core::ffi::c_int, + pub subxacts: __IncompleteArrayField, +} +impl Default for xl_xact_subxacts { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug)] +pub struct xl_xact_relfilelocators { + pub nrels: ::core::ffi::c_int, + pub xlocators: __IncompleteArrayField, +} +impl Default for xl_xact_relfilelocators { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_xact_stats_item { + pub kind: ::core::ffi::c_int, + pub dboid: Oid, + pub objid_lo: uint32, + pub objid_hi: uint32, +} +impl Default for xl_xact_stats_item { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug)] +pub struct xl_xact_stats_items { + pub nitems: ::core::ffi::c_int, + pub items: __IncompleteArrayField, +} +impl Default for xl_xact_stats_items { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +pub struct xl_xact_invals { + pub nmsgs: ::core::ffi::c_int, + pub msgs: __IncompleteArrayField, +} +impl Default for xl_xact_invals { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_xact_twophase { + pub xid: TransactionId, +} +impl Default for xl_xact_twophase { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct xl_xact_origin { + pub origin_lsn: XLogRecPtr, + pub origin_timestamp: TimestampTz, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct xl_xact_commit { + pub xact_time: TimestampTz, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct xl_xact_abort { + pub xact_time: TimestampTz, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_xact_prepare { + pub magic: uint32, + pub total_len: uint32, + pub xid: TransactionId, + pub database: Oid, + pub prepared_at: TimestampTz, + pub owner: Oid, + pub nsubxacts: int32, + pub ncommitrels: int32, + pub nabortrels: int32, + pub ncommitstats: int32, + pub nabortstats: int32, + pub ninvalmsgs: int32, + pub initfileinval: bool, + pub gidlen: uint16, + pub origin_lsn: XLogRecPtr, + pub origin_timestamp: TimestampTz, +} +impl Default for xl_xact_prepare { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_xact_parsed_commit { + pub xact_time: TimestampTz, + pub xinfo: uint32, + pub dbId: Oid, + pub tsId: Oid, + pub nsubxacts: ::core::ffi::c_int, + pub subxacts: *mut TransactionId, + pub nrels: ::core::ffi::c_int, + pub xlocators: *mut RelFileLocator, + pub nstats: ::core::ffi::c_int, + pub stats: *mut xl_xact_stats_item, + pub nmsgs: ::core::ffi::c_int, + pub msgs: *mut SharedInvalidationMessage, + pub twophase_xid: TransactionId, + pub twophase_gid: [::core::ffi::c_char; 200usize], + pub nabortrels: ::core::ffi::c_int, + pub abortlocators: *mut RelFileLocator, + pub nabortstats: ::core::ffi::c_int, + pub abortstats: *mut xl_xact_stats_item, + pub origin_lsn: XLogRecPtr, + pub origin_timestamp: TimestampTz, +} +impl Default for xl_xact_parsed_commit { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type xl_xact_parsed_prepare = xl_xact_parsed_commit; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_xact_parsed_abort { + pub xact_time: TimestampTz, + pub xinfo: uint32, + pub dbId: Oid, + pub tsId: Oid, + pub nsubxacts: ::core::ffi::c_int, + pub subxacts: *mut TransactionId, + pub nrels: ::core::ffi::c_int, + pub xlocators: *mut RelFileLocator, + pub nstats: ::core::ffi::c_int, + pub stats: *mut xl_xact_stats_item, + pub twophase_xid: TransactionId, + pub twophase_gid: [::core::ffi::c_char; 200usize], + pub origin_lsn: XLogRecPtr, + pub origin_timestamp: TimestampTz, +} +impl Default for xl_xact_parsed_abort { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Block = *mut ::core::ffi::c_void; +pub mod BufferAccessStrategyType { + pub type Type = ::core::ffi::c_uint; + pub const BAS_NORMAL: Type = 0; + pub const BAS_BULKREAD: Type = 1; + pub const BAS_BULKWRITE: Type = 2; + pub const BAS_VACUUM: Type = 3; +} +pub mod ReadBufferMode { + pub type Type = ::core::ffi::c_uint; + pub const RBM_NORMAL: Type = 0; + pub const RBM_ZERO_AND_LOCK: Type = 1; + pub const RBM_ZERO_AND_CLEANUP_LOCK: Type = 2; + pub const RBM_ZERO_ON_ERROR: Type = 3; + pub const RBM_NORMAL_NO_LOG: Type = 4; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PrefetchBufferResult { + pub recent_buffer: Buffer, + pub initiated_io: bool, +} +pub mod ExtendBufferedFlags { + pub type Type = ::core::ffi::c_uint; + pub const EB_SKIP_EXTENSION_LOCK: Type = 1; + pub const EB_PERFORMING_RECOVERY: Type = 2; + pub const EB_CREATE_FORK_IF_NEEDED: Type = 4; + pub const EB_LOCK_FIRST: Type = 8; + pub const EB_CLEAR_SIZE_CACHE: Type = 16; + pub const EB_LOCK_TARGET: Type = 32; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BufferManagerRelation { + pub rel: Relation, + pub smgr: *mut SMgrRelationData, + pub relpersistence: ::core::ffi::c_char, +} +impl Default for BufferManagerRelation { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ReadBuffersOperation { + pub rel: Relation, + pub smgr: *mut SMgrRelationData, + pub persistence: ::core::ffi::c_char, + pub forknum: ForkNumber::Type, + pub strategy: BufferAccessStrategy, + pub buffers: *mut Buffer, + pub blocknum: BlockNumber, + pub flags: ::core::ffi::c_int, + pub nblocks: int16, + pub nblocks_done: int16, + pub io_wref: PgAioWaitRef, + pub io_return: PgAioReturn, +} +impl Default for ReadBuffersOperation { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReadStream { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct BlockRangeReadStreamPrivate { + pub current_blocknum: BlockNumber, + pub last_exclusive: BlockNumber, +} +pub type ReadStreamBlockNumberCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + stream: *mut ReadStream, + callback_private_data: *mut ::core::ffi::c_void, + per_buffer_data: *mut ::core::ffi::c_void, + ) -> BlockNumber, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BulkInsertStateData { + _unused: [u8; 0], +} +pub mod ScanOptions { + pub type Type = ::core::ffi::c_uint; + pub const SO_TYPE_SEQSCAN: Type = 1; + pub const SO_TYPE_BITMAPSCAN: Type = 2; + pub const SO_TYPE_SAMPLESCAN: Type = 4; + pub const SO_TYPE_TIDSCAN: Type = 8; + pub const SO_TYPE_TIDRANGESCAN: Type = 16; + pub const SO_TYPE_ANALYZE: Type = 32; + pub const SO_ALLOW_STRAT: Type = 64; + pub const SO_ALLOW_SYNC: Type = 128; + pub const SO_ALLOW_PAGEMODE: Type = 256; + pub const SO_TEMP_SNAPSHOT: Type = 512; +} +pub mod TM_Result { + pub type Type = ::core::ffi::c_uint; + pub const TM_Ok: Type = 0; + pub const TM_Invisible: Type = 1; + pub const TM_SelfModified: Type = 2; + pub const TM_Updated: Type = 3; + pub const TM_Deleted: Type = 4; + pub const TM_BeingModified: Type = 5; + pub const TM_WouldBlock: Type = 6; +} +pub mod TU_UpdateIndexes { + pub type Type = ::core::ffi::c_uint; + pub const TU_None: Type = 0; + pub const TU_All: Type = 1; + pub const TU_Summarizing: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TM_FailureData { + pub ctid: ItemPointerData, + pub xmax: TransactionId, + pub cmax: CommandId, + pub traversed: bool, +} +impl Default for TM_FailureData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct TM_IndexDelete { + pub tid: ItemPointerData, + pub id: int16, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct TM_IndexStatus { + pub idxoffnum: OffsetNumber, + pub knowndeletable: bool, + pub promising: bool, + pub freespace: int16, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TM_IndexDeleteOp { + pub irel: Relation, + pub iblknum: BlockNumber, + pub bottomup: bool, + pub bottomupfreespace: ::core::ffi::c_int, + pub ndeltids: ::core::ffi::c_int, + pub deltids: *mut TM_IndexDelete, + pub status: *mut TM_IndexStatus, +} +impl Default for TM_IndexDeleteOp { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type IndexBuildCallback = ::core::option::Option< + unsafe extern "C-unwind" fn( + index: Relation, + tid: ItemPointer, + values: *mut Datum, + isnull: *mut bool, + tupleIsAlive: bool, + state: *mut ::core::ffi::c_void, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TableAmRoutine { + pub type_: NodeTag, + pub slot_callbacks: ::core::option::Option< + unsafe extern "C-unwind" fn(rel: Relation) -> *const TupleTableSlotOps, + >, + pub scan_begin: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + snapshot: Snapshot, + nkeys: ::core::ffi::c_int, + key: *mut ScanKeyData, + pscan: ParallelTableScanDesc, + flags: uint32, + ) -> TableScanDesc, + >, + pub scan_end: ::core::option::Option, + pub scan_rescan: ::core::option::Option< + unsafe extern "C-unwind" fn( + scan: TableScanDesc, + key: *mut ScanKeyData, + set_params: bool, + allow_strat: bool, + allow_sync: bool, + allow_pagemode: bool, + ), + >, + pub scan_getnextslot: ::core::option::Option< + unsafe extern "C-unwind" fn( + scan: TableScanDesc, + direction: ScanDirection::Type, + slot: *mut TupleTableSlot, + ) -> bool, + >, + pub scan_set_tidrange: ::core::option::Option< + unsafe extern "C-unwind" fn(scan: TableScanDesc, mintid: ItemPointer, maxtid: ItemPointer), + >, + pub scan_getnextslot_tidrange: ::core::option::Option< + unsafe extern "C-unwind" fn( + scan: TableScanDesc, + direction: ScanDirection::Type, + slot: *mut TupleTableSlot, + ) -> bool, + >, + pub parallelscan_estimate: + ::core::option::Option Size>, + pub parallelscan_initialize: ::core::option::Option< + unsafe extern "C-unwind" fn(rel: Relation, pscan: ParallelTableScanDesc) -> Size, + >, + pub parallelscan_reinitialize: ::core::option::Option< + unsafe extern "C-unwind" fn(rel: Relation, pscan: ParallelTableScanDesc), + >, + pub index_fetch_begin: ::core::option::Option< + unsafe extern "C-unwind" fn(rel: Relation) -> *mut IndexFetchTableData, + >, + pub index_fetch_reset: + ::core::option::Option, + pub index_fetch_end: + ::core::option::Option, + pub index_fetch_tuple: ::core::option::Option< + unsafe extern "C-unwind" fn( + scan: *mut IndexFetchTableData, + tid: ItemPointer, + snapshot: Snapshot, + slot: *mut TupleTableSlot, + call_again: *mut bool, + all_dead: *mut bool, + ) -> bool, + >, + pub tuple_fetch_row_version: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + tid: ItemPointer, + snapshot: Snapshot, + slot: *mut TupleTableSlot, + ) -> bool, + >, + pub tuple_tid_valid: ::core::option::Option< + unsafe extern "C-unwind" fn(scan: TableScanDesc, tid: ItemPointer) -> bool, + >, + pub tuple_get_latest_tid: + ::core::option::Option, + pub tuple_satisfies_snapshot: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + slot: *mut TupleTableSlot, + snapshot: Snapshot, + ) -> bool, + >, + pub index_delete_tuples: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + delstate: *mut TM_IndexDeleteOp, + ) -> TransactionId, + >, + pub tuple_insert: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + slot: *mut TupleTableSlot, + cid: CommandId, + options: ::core::ffi::c_int, + bistate: *mut BulkInsertStateData, + ), + >, + pub tuple_insert_speculative: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + slot: *mut TupleTableSlot, + cid: CommandId, + options: ::core::ffi::c_int, + bistate: *mut BulkInsertStateData, + specToken: uint32, + ), + >, + pub tuple_complete_speculative: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + slot: *mut TupleTableSlot, + specToken: uint32, + succeeded: bool, + ), + >, + pub multi_insert: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + slots: *mut *mut TupleTableSlot, + nslots: ::core::ffi::c_int, + cid: CommandId, + options: ::core::ffi::c_int, + bistate: *mut BulkInsertStateData, + ), + >, + pub tuple_delete: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + tid: ItemPointer, + cid: CommandId, + snapshot: Snapshot, + crosscheck: Snapshot, + wait: bool, + tmfd: *mut TM_FailureData, + changingPart: bool, + ) -> TM_Result::Type, + >, + pub tuple_update: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + otid: ItemPointer, + slot: *mut TupleTableSlot, + cid: CommandId, + snapshot: Snapshot, + crosscheck: Snapshot, + wait: bool, + tmfd: *mut TM_FailureData, + lockmode: *mut LockTupleMode::Type, + update_indexes: *mut TU_UpdateIndexes::Type, + ) -> TM_Result::Type, + >, + pub tuple_lock: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + tid: ItemPointer, + snapshot: Snapshot, + slot: *mut TupleTableSlot, + cid: CommandId, + mode: LockTupleMode::Type, + wait_policy: LockWaitPolicy::Type, + flags: uint8, + tmfd: *mut TM_FailureData, + ) -> TM_Result::Type, + >, + pub finish_bulk_insert: ::core::option::Option< + unsafe extern "C-unwind" fn(rel: Relation, options: ::core::ffi::c_int), + >, + pub relation_set_new_filelocator: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + newrlocator: *const RelFileLocator, + persistence: ::core::ffi::c_char, + freezeXid: *mut TransactionId, + minmulti: *mut MultiXactId, + ), + >, + pub relation_nontransactional_truncate: + ::core::option::Option, + pub relation_copy_data: ::core::option::Option< + unsafe extern "C-unwind" fn(rel: Relation, newrlocator: *const RelFileLocator), + >, + pub relation_copy_for_cluster: ::core::option::Option< + unsafe extern "C-unwind" fn( + OldTable: Relation, + NewTable: Relation, + OldIndex: Relation, + use_sort: bool, + OldestXmin: TransactionId, + xid_cutoff: *mut TransactionId, + multi_cutoff: *mut MultiXactId, + num_tuples: *mut f64, + tups_vacuumed: *mut f64, + tups_recently_dead: *mut f64, + ), + >, + pub relation_vacuum: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + params: *mut VacuumParams, + bstrategy: BufferAccessStrategy, + ), + >, + pub scan_analyze_next_block: ::core::option::Option< + unsafe extern "C-unwind" fn(scan: TableScanDesc, stream: *mut ReadStream) -> bool, + >, + pub scan_analyze_next_tuple: ::core::option::Option< + unsafe extern "C-unwind" fn( + scan: TableScanDesc, + OldestXmin: TransactionId, + liverows: *mut f64, + deadrows: *mut f64, + slot: *mut TupleTableSlot, + ) -> bool, + >, + pub index_build_range_scan: ::core::option::Option< + unsafe extern "C-unwind" fn( + table_rel: Relation, + index_rel: Relation, + index_info: *mut IndexInfo, + allow_sync: bool, + anyvisible: bool, + progress: bool, + start_blockno: BlockNumber, + numblocks: BlockNumber, + callback: IndexBuildCallback, + callback_state: *mut ::core::ffi::c_void, + scan: TableScanDesc, + ) -> f64, + >, + pub index_validate_scan: ::core::option::Option< + unsafe extern "C-unwind" fn( + table_rel: Relation, + index_rel: Relation, + index_info: *mut IndexInfo, + snapshot: Snapshot, + state: *mut ValidateIndexState, + ), + >, + pub relation_size: ::core::option::Option< + unsafe extern "C-unwind" fn(rel: Relation, forkNumber: ForkNumber::Type) -> uint64, + >, + pub relation_needs_toast_table: + ::core::option::Option bool>, + pub relation_toast_am: + ::core::option::Option Oid>, + pub relation_fetch_toast_slice: ::core::option::Option< + unsafe extern "C-unwind" fn( + toastrel: Relation, + valueid: Oid, + attrsize: int32, + sliceoffset: int32, + slicelength: int32, + result: *mut varlena, + ), + >, + pub relation_estimate_size: ::core::option::Option< + unsafe extern "C-unwind" fn( + rel: Relation, + attr_widths: *mut int32, + pages: *mut BlockNumber, + tuples: *mut f64, + allvisfrac: *mut f64, + ), + >, + pub scan_bitmap_next_tuple: ::core::option::Option< + unsafe extern "C-unwind" fn( + scan: TableScanDesc, + slot: *mut TupleTableSlot, + recheck: *mut bool, + lossy_pages: *mut uint64, + exact_pages: *mut uint64, + ) -> bool, + >, + pub scan_sample_next_block: ::core::option::Option< + unsafe extern "C-unwind" fn(scan: TableScanDesc, scanstate: *mut SampleScanState) -> bool, + >, + pub scan_sample_next_tuple: ::core::option::Option< + unsafe extern "C-unwind" fn( + scan: TableScanDesc, + scanstate: *mut SampleScanState, + slot: *mut TupleTableSlot, + ) -> bool, + >, +} +impl Default for TableAmRoutine { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type BulkInsertState = *mut BulkInsertStateData; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct HeapScanDescData { + pub rs_base: TableScanDescData, + pub rs_nblocks: BlockNumber, + pub rs_startblock: BlockNumber, + pub rs_numblocks: BlockNumber, + pub rs_inited: bool, + pub rs_coffset: OffsetNumber, + pub rs_cblock: BlockNumber, + pub rs_cbuf: Buffer, + pub rs_strategy: BufferAccessStrategy, + pub rs_ctup: HeapTupleData, + pub rs_read_stream: *mut ReadStream, + pub rs_dir: ScanDirection::Type, + pub rs_prefetch_block: BlockNumber, + pub rs_parallelworkerdata: *mut ParallelBlockTableScanWorkerData, + pub rs_cindex: uint32, + pub rs_ntuples: uint32, + pub rs_vistuples: [OffsetNumber; 291usize], +} +impl Default for HeapScanDescData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type HeapScanDesc = *mut HeapScanDescData; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct BitmapHeapScanDescData { + pub rs_heap_base: HeapScanDescData, +} +impl Default for BitmapHeapScanDescData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type BitmapHeapScanDesc = *mut BitmapHeapScanDescData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexFetchHeapData { + pub xs_base: IndexFetchTableData, + pub xs_cbuf: Buffer, +} +impl Default for IndexFetchHeapData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod HTSV_Result { + pub type Type = ::core::ffi::c_uint; + pub const HEAPTUPLE_DEAD: Type = 0; + pub const HEAPTUPLE_LIVE: Type = 1; + pub const HEAPTUPLE_RECENTLY_DEAD: Type = 2; + pub const HEAPTUPLE_INSERT_IN_PROGRESS: Type = 3; + pub const HEAPTUPLE_DELETE_IN_PROGRESS: Type = 4; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HeapTupleFreeze { + pub xmax: TransactionId, + pub t_infomask2: uint16, + pub t_infomask: uint16, + pub frzflags: uint8, + pub checkflags: uint8, + pub offset: OffsetNumber, +} +impl Default for HeapTupleFreeze { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +pub struct HeapPageFreeze { + pub freeze_required: bool, + pub FreezePageRelfrozenXid: TransactionId, + pub FreezePageRelminMxid: MultiXactId, + pub NoFreezePageRelfrozenXid: TransactionId, + pub NoFreezePageRelminMxid: MultiXactId, +} +impl Default for HeapPageFreeze { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PruneFreezeResult { + pub ndeleted: ::core::ffi::c_int, + pub nnewlpdead: ::core::ffi::c_int, + pub nfrozen: ::core::ffi::c_int, + pub live_tuples: ::core::ffi::c_int, + pub recently_dead_tuples: ::core::ffi::c_int, + pub all_visible: bool, + pub all_frozen: bool, + pub vm_conflict_horizon: TransactionId, + pub hastup: bool, + pub lpdead_items: ::core::ffi::c_int, + pub deadoffsets: [OffsetNumber; 291usize], +} +impl Default for PruneFreezeResult { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod PruneReason { + pub type Type = ::core::ffi::c_uint; + pub const PRUNE_ON_ACCESS: Type = 0; + pub const PRUNE_VACUUM_SCAN: Type = 1; + pub const PRUNE_VACUUM_CLEANUP: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GlobalVisState { + _unused: [u8; 0], +} +pub mod SyncRequestType { + pub type Type = ::core::ffi::c_uint; + pub const SYNC_REQUEST: Type = 0; + pub const SYNC_UNLINK_REQUEST: Type = 1; + pub const SYNC_FORGET_REQUEST: Type = 2; + pub const SYNC_FILTER_REQUEST: Type = 3; +} +pub mod SyncRequestHandler { + pub type Type = ::core::ffi::c_uint; + pub const SYNC_HANDLER_MD: Type = 0; + pub const SYNC_HANDLER_CLOG: Type = 1; + pub const SYNC_HANDLER_COMMIT_TS: Type = 2; + pub const SYNC_HANDLER_MULTIXACT_OFFSET: Type = 3; + pub const SYNC_HANDLER_MULTIXACT_MEMBER: Type = 4; + pub const SYNC_HANDLER_NONE: Type = 5; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FileTag { + pub handler: int16, + pub forknum: int16, + pub rlocator: RelFileLocator, + pub segno: uint64, +} +impl Default for FileTag { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod MultiXactStatus { + pub type Type = ::core::ffi::c_uint; + pub const MultiXactStatusForKeyShare: Type = 0; + pub const MultiXactStatusForShare: Type = 1; + pub const MultiXactStatusForNoKeyUpdate: Type = 2; + pub const MultiXactStatusForUpdate: Type = 3; + pub const MultiXactStatusNoKeyUpdate: Type = 4; + pub const MultiXactStatusUpdate: Type = 5; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MultiXactMember { + pub xid: TransactionId, + pub status: MultiXactStatus::Type, +} +impl Default for MultiXactMember { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +pub struct xl_multixact_create { + pub mid: MultiXactId, + pub moff: MultiXactOffset, + pub nmembers: int32, + pub members: __IncompleteArrayField, +} +impl Default for xl_multixact_create { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +pub struct xl_multixact_truncate { + pub oldestMultiDB: Oid, + pub startTruncOff: MultiXactId, + pub endTruncOff: MultiXactId, + pub startTruncMemb: MultiXactOffset, + pub endTruncMemb: MultiXactOffset, +} +impl Default for xl_multixact_truncate { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod relopt_type { + pub type Type = ::core::ffi::c_uint; + pub const RELOPT_TYPE_BOOL: Type = 0; + pub const RELOPT_TYPE_INT: Type = 1; + pub const RELOPT_TYPE_REAL: Type = 2; + pub const RELOPT_TYPE_ENUM: Type = 3; + pub const RELOPT_TYPE_STRING: Type = 4; +} +pub mod relopt_kind { + pub type Type = ::core::ffi::c_uint; + pub const RELOPT_KIND_LOCAL: Type = 0; + pub const RELOPT_KIND_HEAP: Type = 1; + pub const RELOPT_KIND_TOAST: Type = 2; + pub const RELOPT_KIND_BTREE: Type = 4; + pub const RELOPT_KIND_HASH: Type = 8; + pub const RELOPT_KIND_GIN: Type = 16; + pub const RELOPT_KIND_GIST: Type = 32; + pub const RELOPT_KIND_ATTRIBUTE: Type = 64; + pub const RELOPT_KIND_TABLESPACE: Type = 128; + pub const RELOPT_KIND_SPGIST: Type = 256; + pub const RELOPT_KIND_VIEW: Type = 512; + pub const RELOPT_KIND_BRIN: Type = 1024; + pub const RELOPT_KIND_PARTITIONED: Type = 2048; + pub const RELOPT_KIND_LAST_DEFAULT: Type = 2048; + pub const RELOPT_KIND_MAX: Type = 1073741824; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct relopt_gen { + pub name: *const ::core::ffi::c_char, + pub desc: *const ::core::ffi::c_char, + pub kinds: bits32, + pub lockmode: LOCKMODE, + pub namelen: ::core::ffi::c_int, + pub type_: relopt_type::Type, +} +impl Default for relopt_gen { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct relopt_value { + pub gen: *mut relopt_gen, + pub isset: bool, + pub values: relopt_value__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union relopt_value__bindgen_ty_1 { + pub bool_val: bool, + pub int_val: ::core::ffi::c_int, + pub real_val: f64, + pub enum_val: ::core::ffi::c_int, + pub string_val: *mut ::core::ffi::c_char, +} +impl Default for relopt_value__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for relopt_value { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct relopt_bool { + pub gen: relopt_gen, + pub default_val: bool, +} +impl Default for relopt_bool { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct relopt_int { + pub gen: relopt_gen, + pub default_val: ::core::ffi::c_int, + pub min: ::core::ffi::c_int, + pub max: ::core::ffi::c_int, +} +impl Default for relopt_int { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct relopt_real { + pub gen: relopt_gen, + pub default_val: f64, + pub min: f64, + pub max: f64, +} +impl Default for relopt_real { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct relopt_enum_elt_def { + pub string_val: *const ::core::ffi::c_char, + pub symbol_val: ::core::ffi::c_int, +} +impl Default for relopt_enum_elt_def { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct relopt_enum { + pub gen: relopt_gen, + pub members: *mut relopt_enum_elt_def, + pub default_val: ::core::ffi::c_int, + pub detailmsg: *const ::core::ffi::c_char, +} +impl Default for relopt_enum { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type validate_string_relopt = + ::core::option::Option; +pub type fill_string_relopt = ::core::option::Option< + unsafe extern "C-unwind" fn( + value: *const ::core::ffi::c_char, + ptr: *mut ::core::ffi::c_void, + ) -> Size, +>; +pub type relopts_validator = ::core::option::Option< + unsafe extern "C-unwind" fn( + parsed_options: *mut ::core::ffi::c_void, + vals: *mut relopt_value, + nvals: ::core::ffi::c_int, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct relopt_string { + pub gen: relopt_gen, + pub default_len: ::core::ffi::c_int, + pub default_isnull: bool, + pub validate_cb: validate_string_relopt, + pub fill_cb: fill_string_relopt, + pub default_val: *mut ::core::ffi::c_char, +} +impl Default for relopt_string { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct relopt_parse_elt { + pub optname: *const ::core::ffi::c_char, + pub opttype: relopt_type::Type, + pub offset: ::core::ffi::c_int, + pub isset_offset: ::core::ffi::c_int, +} +impl Default for relopt_parse_elt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct local_relopt { + pub option: *mut relopt_gen, + pub offset: ::core::ffi::c_int, +} +impl Default for local_relopt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct local_relopts { + pub options: *mut List, + pub validators: *mut List, + pub relopt_struct_size: Size, +} +impl Default for local_relopts { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct XLogPageHeaderData { + pub xlp_magic: uint16, + pub xlp_info: uint16, + pub xlp_tli: TimeLineID, + pub xlp_pageaddr: XLogRecPtr, + pub xlp_rem_len: uint32, +} +pub type XLogPageHeader = *mut XLogPageHeaderData; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct XLogLongPageHeaderData { + pub std: XLogPageHeaderData, + pub xlp_sysid: uint64, + pub xlp_seg_size: uint32, + pub xlp_xlog_blcksz: uint32, +} +pub type XLogLongPageHeader = *mut XLogLongPageHeaderData; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct xl_parameter_change { + pub MaxConnections: ::core::ffi::c_int, + pub max_worker_processes: ::core::ffi::c_int, + pub max_wal_senders: ::core::ffi::c_int, + pub max_prepared_xacts: ::core::ffi::c_int, + pub max_locks_per_xact: ::core::ffi::c_int, + pub wal_level: ::core::ffi::c_int, + pub wal_log_hints: bool, + pub track_commit_timestamp: bool, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_restore_point { + pub rp_time: TimestampTz, + pub rp_name: [::core::ffi::c_char; 64usize], +} +impl Default for xl_restore_point { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct xl_overwrite_contrecord { + pub overwritten_lsn: XLogRecPtr, + pub overwrite_time: TimestampTz, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct xl_end_of_recovery { + pub end_time: TimestampTz, + pub ThisTimeLineID: TimeLineID, + pub PrevTimeLineID: TimeLineID, + pub wal_level: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XLogRecData { + pub next: *mut XLogRecData, + pub data: *const ::core::ffi::c_void, + pub len: uint32, +} +impl Default for XLogRecData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod RecoveryTargetAction { + pub type Type = ::core::ffi::c_uint; + pub const RECOVERY_TARGET_ACTION_PAUSE: Type = 0; + pub const RECOVERY_TARGET_ACTION_PROMOTE: Type = 1; + pub const RECOVERY_TARGET_ACTION_SHUTDOWN: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XLogRecordBuffer { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RmgrData { + pub rm_name: *const ::core::ffi::c_char, + pub rm_redo: ::core::option::Option, + pub rm_desc: ::core::option::Option< + unsafe extern "C-unwind" fn(buf: StringInfo, record: *mut XLogReaderState), + >, + pub rm_identify: ::core::option::Option< + unsafe extern "C-unwind" fn(info: uint8) -> *const ::core::ffi::c_char, + >, + pub rm_startup: ::core::option::Option, + pub rm_cleanup: ::core::option::Option, + pub rm_mask: ::core::option::Option< + unsafe extern "C-unwind" fn(pagedata: *mut ::core::ffi::c_char, blkno: BlockNumber), + >, + pub rm_decode: ::core::option::Option< + unsafe extern "C-unwind" fn(ctx: *mut LogicalDecodingContext, buf: *mut XLogRecordBuffer), + >, +} +impl Default for RmgrData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +pub struct CheckPoint { + pub redo: XLogRecPtr, + pub ThisTimeLineID: TimeLineID, + pub PrevTimeLineID: TimeLineID, + pub fullPageWrites: bool, + pub wal_level: ::core::ffi::c_int, + pub nextXid: FullTransactionId, + pub nextOid: Oid, + pub nextMulti: MultiXactId, + pub nextMultiOffset: MultiXactOffset, + pub oldestXid: TransactionId, + pub oldestXidDB: Oid, + pub oldestMulti: MultiXactId, + pub oldestMultiDB: Oid, + pub time: pg_time_t, + pub oldestCommitTsXid: TransactionId, + pub newestCommitTsXid: TransactionId, + pub oldestActiveXid: TransactionId, +} +impl Default for CheckPoint { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod DBState { + pub type Type = ::core::ffi::c_uint; + pub const DB_STARTUP: Type = 0; + pub const DB_SHUTDOWNED: Type = 1; + pub const DB_SHUTDOWNED_IN_RECOVERY: Type = 2; + pub const DB_SHUTDOWNING: Type = 3; + pub const DB_IN_CRASH_RECOVERY: Type = 4; + pub const DB_IN_ARCHIVE_RECOVERY: Type = 5; + pub const DB_IN_PRODUCTION: Type = 6; +} +#[repr(C)] +pub struct ControlFileData { + pub system_identifier: uint64, + pub pg_control_version: uint32, + pub catalog_version_no: uint32, + pub state: DBState::Type, + pub time: pg_time_t, + pub checkPoint: XLogRecPtr, + pub checkPointCopy: CheckPoint, + pub unloggedLSN: XLogRecPtr, + pub minRecoveryPoint: XLogRecPtr, + pub minRecoveryPointTLI: TimeLineID, + pub backupStartPoint: XLogRecPtr, + pub backupEndPoint: XLogRecPtr, + pub backupEndRequired: bool, + pub wal_level: ::core::ffi::c_int, + pub wal_log_hints: bool, + pub MaxConnections: ::core::ffi::c_int, + pub max_worker_processes: ::core::ffi::c_int, + pub max_wal_senders: ::core::ffi::c_int, + pub max_prepared_xacts: ::core::ffi::c_int, + pub max_locks_per_xact: ::core::ffi::c_int, + pub track_commit_timestamp: bool, + pub maxAlign: uint32, + pub floatFormat: f64, + pub blcksz: uint32, + pub relseg_size: uint32, + pub xlog_blcksz: uint32, + pub xlog_seg_size: uint32, + pub nameDataLen: uint32, + pub indexMaxKeys: uint32, + pub toast_max_chunk_size: uint32, + pub loblksize: uint32, + pub float8ByVal: bool, + pub data_checksum_version: uint32, + pub default_char_signedness: bool, + pub mock_authentication_nonce: [::core::ffi::c_char; 32usize], + pub crc: pg_crc32c, +} +impl Default for ControlFileData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod RecoveryTargetType { + pub type Type = ::core::ffi::c_uint; + pub const RECOVERY_TARGET_UNSET: Type = 0; + pub const RECOVERY_TARGET_XID: Type = 1; + pub const RECOVERY_TARGET_TIME: Type = 2; + pub const RECOVERY_TARGET_NAME: Type = 3; + pub const RECOVERY_TARGET_LSN: Type = 4; + pub const RECOVERY_TARGET_IMMEDIATE: Type = 5; +} +pub mod RecoveryTargetTimeLineGoal { + pub type Type = ::core::ffi::c_uint; + pub const RECOVERY_TARGET_TIMELINE_CONTROLFILE: Type = 0; + pub const RECOVERY_TARGET_TIMELINE_LATEST: Type = 1; + pub const RECOVERY_TARGET_TIMELINE_NUMERIC: Type = 2; +} +pub mod RecoveryPauseState { + pub type Type = ::core::ffi::c_uint; + pub const RECOVERY_NOT_PAUSED: Type = 0; + pub const RECOVERY_PAUSE_REQUESTED: Type = 1; + pub const RECOVERY_PAUSED: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct EndOfWalRecoveryInfo { + pub lastRec: XLogRecPtr, + pub lastRecTLI: TimeLineID, + pub endOfLog: XLogRecPtr, + pub endOfLogTLI: TimeLineID, + pub lastPageBeginPtr: XLogRecPtr, + pub lastPage: *mut ::core::ffi::c_char, + pub abortedRecPtr: XLogRecPtr, + pub missingContrecPtr: XLogRecPtr, + pub recoveryStopReason: *mut ::core::ffi::c_char, + pub standby_signal_file_found: bool, + pub recovery_signal_file_found: bool, +} +impl Default for EndOfWalRecoveryInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod HotStandbyState { + pub type Type = ::core::ffi::c_uint; + pub const STANDBY_DISABLED: Type = 0; + pub const STANDBY_INITIALIZED: Type = 1; + pub const STANDBY_SNAPSHOT_PENDING: Type = 2; + pub const STANDBY_SNAPSHOT_READY: Type = 3; +} +pub mod XLogRedoAction { + pub type Type = ::core::ffi::c_uint; + pub const BLK_NEEDS_REDO: Type = 0; + pub const BLK_DONE: Type = 1; + pub const BLK_RESTORED: Type = 2; + pub const BLK_NOTFOUND: Type = 3; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ReadLocalXLogPageNoWaitPrivate { + pub end_of_wal: bool, +} +pub mod DependencyType { + pub type Type = ::core::ffi::c_uint; + pub const DEPENDENCY_NORMAL: Type = 110; + pub const DEPENDENCY_AUTO: Type = 97; + pub const DEPENDENCY_INTERNAL: Type = 105; + pub const DEPENDENCY_PARTITION_PRI: Type = 80; + pub const DEPENDENCY_PARTITION_SEC: Type = 83; + pub const DEPENDENCY_EXTENSION: Type = 101; + pub const DEPENDENCY_AUTO_EXTENSION: Type = 120; +} +pub mod SharedDependencyType { + pub type Type = ::core::ffi::c_uint; + pub const SHARED_DEPENDENCY_OWNER: Type = 111; + pub const SHARED_DEPENDENCY_ACL: Type = 97; + pub const SHARED_DEPENDENCY_INITACL: Type = 105; + pub const SHARED_DEPENDENCY_POLICY: Type = 114; + pub const SHARED_DEPENDENCY_TABLESPACE: Type = 116; + pub const SHARED_DEPENDENCY_INVALID: Type = 0; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ObjectAddresses { + _unused: [u8; 0], +} +pub mod IndexStateFlagsAction { + pub type Type = ::core::ffi::c_uint; + pub const INDEX_CREATE_SET_READY: Type = 0; + pub const INDEX_CREATE_SET_VALID: Type = 1; + pub const INDEX_DROP_CLEAR_VALID: Type = 2; + pub const INDEX_DROP_SET_DEAD: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReindexParams { + pub options: bits32, + pub tablespaceOid: Oid, +} +impl Default for ReindexParams { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ValidateIndexState { + pub tuplesort: *mut Tuplesortstate, + pub htups: f64, + pub itups: f64, + pub tups_inserted: f64, +} +impl Default for ValidateIndexState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatalogIndexState = *mut ResultRelInfo; +#[repr(C)] +#[derive(Debug)] +pub struct _FuncCandidateList { + pub next: *mut _FuncCandidateList, + pub pathpos: ::core::ffi::c_int, + pub oid: Oid, + pub nominalnargs: ::core::ffi::c_int, + pub nargs: ::core::ffi::c_int, + pub nvargs: ::core::ffi::c_int, + pub ndargs: ::core::ffi::c_int, + pub argnumbers: *mut ::core::ffi::c_int, + pub args: __IncompleteArrayField, +} +impl Default for _FuncCandidateList { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type FuncCandidateList = *mut _FuncCandidateList; +pub mod TempNamespaceStatus { + pub type Type = ::core::ffi::c_uint; + pub const TEMP_NAMESPACE_NOT_TEMP: Type = 0; + pub const TEMP_NAMESPACE_IDLE: Type = 1; + pub const TEMP_NAMESPACE_IN_USE: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SearchPathMatcher { + pub schemas: *mut List, + pub addCatalog: bool, + pub addTemp: bool, + pub generation: uint64, +} +impl Default for SearchPathMatcher { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod RVROption { + pub type Type = ::core::ffi::c_uint; + pub const RVR_MISSING_OK: Type = 1; + pub const RVR_NOWAIT: Type = 2; + pub const RVR_SKIP_LOCKED: Type = 4; +} +pub type RangeVarGetRelidCallback = ::core::option::Option< + unsafe extern "C-unwind" fn( + relation: *const RangeVar, + relId: Oid, + oldRelId: Oid, + callback_arg: *mut ::core::ffi::c_void, + ), +>; +pub mod ObjectAccessType { + pub type Type = ::core::ffi::c_uint; + pub const OAT_POST_CREATE: Type = 0; + pub const OAT_DROP: Type = 1; + pub const OAT_POST_ALTER: Type = 2; + pub const OAT_NAMESPACE_SEARCH: Type = 3; + pub const OAT_FUNCTION_EXECUTE: Type = 4; + pub const OAT_TRUNCATE: Type = 5; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ObjectAccessPostCreate { + pub is_internal: bool, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ObjectAccessDrop { + pub dropflags: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ObjectAccessPostAlter { + pub auxiliary_id: Oid, + pub is_internal: bool, +} +impl Default for ObjectAccessPostAlter { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ObjectAccessNamespaceSearch { + pub ereport_on_violation: bool, + pub result: bool, +} +pub type object_access_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + access: ObjectAccessType::Type, + classId: Oid, + objectId: Oid, + subId: ::core::ffi::c_int, + arg: *mut ::core::ffi::c_void, + ), +>; +pub type object_access_hook_type_str = ::core::option::Option< + unsafe extern "C-unwind" fn( + access: ObjectAccessType::Type, + classId: Oid, + objectStr: *const ::core::ffi::c_char, + subId: ::core::ffi::c_int, + arg: *mut ::core::ffi::c_void, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_am { + pub oid: Oid, + pub amname: NameData, + pub amhandler: regproc, + pub amtype: ::core::ffi::c_char, +} +impl Default for FormData_pg_am { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_am = *mut FormData_pg_am; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_amop { + pub oid: Oid, + pub amopfamily: Oid, + pub amoplefttype: Oid, + pub amoprighttype: Oid, + pub amopstrategy: int16, + pub amoppurpose: ::core::ffi::c_char, + pub amopopr: Oid, + pub amopmethod: Oid, + pub amopsortfamily: Oid, +} +impl Default for FormData_pg_amop { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_amop = *mut FormData_pg_amop; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_amproc { + pub oid: Oid, + pub amprocfamily: Oid, + pub amproclefttype: Oid, + pub amprocrighttype: Oid, + pub amprocnum: int16, + pub amproc: regproc, +} +impl Default for FormData_pg_amproc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_amproc = *mut FormData_pg_amproc; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_authid { + pub oid: Oid, + pub rolname: NameData, + pub rolsuper: bool, + pub rolinherit: bool, + pub rolcreaterole: bool, + pub rolcreatedb: bool, + pub rolcanlogin: bool, + pub rolreplication: bool, + pub rolbypassrls: bool, + pub rolconnlimit: int32, +} +impl Default for FormData_pg_authid { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_authid = *mut FormData_pg_authid; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_collation { + pub oid: Oid, + pub collname: NameData, + pub collnamespace: Oid, + pub collowner: Oid, + pub collprovider: ::core::ffi::c_char, + pub collisdeterministic: bool, + pub collencoding: int32, +} +impl Default for FormData_pg_collation { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_collation = *mut FormData_pg_collation; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_database { + pub oid: Oid, + pub datname: NameData, + pub datdba: Oid, + pub encoding: int32, + pub datlocprovider: ::core::ffi::c_char, + pub datistemplate: bool, + pub datallowconn: bool, + pub dathasloginevt: bool, + pub datconnlimit: int32, + pub datfrozenxid: TransactionId, + pub datminmxid: TransactionId, + pub dattablespace: Oid, +} +impl Default for FormData_pg_database { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_database = *mut FormData_pg_database; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_enum { + pub oid: Oid, + pub enumtypid: Oid, + pub enumsortorder: float4, + pub enumlabel: NameData, +} +impl Default for FormData_pg_enum { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_enum = *mut FormData_pg_enum; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_extension { + pub oid: Oid, + pub extname: NameData, + pub extowner: Oid, + pub extnamespace: Oid, + pub extrelocatable: bool, +} +impl Default for FormData_pg_extension { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_extension = *mut FormData_pg_extension; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_data_wrapper { + pub oid: Oid, + pub fdwname: NameData, + pub fdwowner: Oid, + pub fdwhandler: Oid, + pub fdwvalidator: Oid, +} +impl Default for FormData_pg_foreign_data_wrapper { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_data_wrapper = *mut FormData_pg_foreign_data_wrapper; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_server { + pub oid: Oid, + pub srvname: NameData, + pub srvowner: Oid, + pub srvfdw: Oid, +} +impl Default for FormData_pg_foreign_server { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_server = *mut FormData_pg_foreign_server; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_table { + pub ftrelid: Oid, + pub ftserver: Oid, +} +impl Default for FormData_pg_foreign_table { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_table = *mut FormData_pg_foreign_table; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_operator { + pub oid: Oid, + pub oprname: NameData, + pub oprnamespace: Oid, + pub oprowner: Oid, + pub oprkind: ::core::ffi::c_char, + pub oprcanmerge: bool, + pub oprcanhash: bool, + pub oprleft: Oid, + pub oprright: Oid, + pub oprresult: Oid, + pub oprcom: Oid, + pub oprnegate: Oid, + pub oprcode: regproc, + pub oprrest: regproc, + pub oprjoin: regproc, +} +impl Default for FormData_pg_operator { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_operator = *mut FormData_pg_operator; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_opclass { + pub oid: Oid, + pub opcmethod: Oid, + pub opcname: NameData, + pub opcnamespace: Oid, + pub opcowner: Oid, + pub opcfamily: Oid, + pub opcintype: Oid, + pub opcdefault: bool, + pub opckeytype: Oid, +} +impl Default for FormData_pg_opclass { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_opclass = *mut FormData_pg_opclass; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_opfamily { + pub oid: Oid, + pub opfmethod: Oid, + pub opfname: NameData, + pub opfnamespace: Oid, + pub opfowner: Oid, +} +impl Default for FormData_pg_opfamily { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_opfamily = *mut FormData_pg_opfamily; +#[repr(C)] +#[derive(Debug)] +pub struct FormData_pg_proc { + pub oid: Oid, + pub proname: NameData, + pub pronamespace: Oid, + pub proowner: Oid, + pub prolang: Oid, + pub procost: float4, + pub prorows: float4, + pub provariadic: Oid, + pub prosupport: regproc, + pub prokind: ::core::ffi::c_char, + pub prosecdef: bool, + pub proleakproof: bool, + pub proisstrict: bool, + pub proretset: bool, + pub provolatile: ::core::ffi::c_char, + pub proparallel: ::core::ffi::c_char, + pub pronargs: int16, + pub pronargdefaults: int16, + pub prorettype: Oid, + pub proargtypes: oidvector, +} +impl Default for FormData_pg_proc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_proc = *mut FormData_pg_proc; +pub mod ParseExprKind { + pub type Type = ::core::ffi::c_uint; + pub const EXPR_KIND_NONE: Type = 0; + pub const EXPR_KIND_OTHER: Type = 1; + pub const EXPR_KIND_JOIN_ON: Type = 2; + pub const EXPR_KIND_JOIN_USING: Type = 3; + pub const EXPR_KIND_FROM_SUBSELECT: Type = 4; + pub const EXPR_KIND_FROM_FUNCTION: Type = 5; + pub const EXPR_KIND_WHERE: Type = 6; + pub const EXPR_KIND_HAVING: Type = 7; + pub const EXPR_KIND_FILTER: Type = 8; + pub const EXPR_KIND_WINDOW_PARTITION: Type = 9; + pub const EXPR_KIND_WINDOW_ORDER: Type = 10; + pub const EXPR_KIND_WINDOW_FRAME_RANGE: Type = 11; + pub const EXPR_KIND_WINDOW_FRAME_ROWS: Type = 12; + pub const EXPR_KIND_WINDOW_FRAME_GROUPS: Type = 13; + pub const EXPR_KIND_SELECT_TARGET: Type = 14; + pub const EXPR_KIND_INSERT_TARGET: Type = 15; + pub const EXPR_KIND_UPDATE_SOURCE: Type = 16; + pub const EXPR_KIND_UPDATE_TARGET: Type = 17; + pub const EXPR_KIND_MERGE_WHEN: Type = 18; + pub const EXPR_KIND_GROUP_BY: Type = 19; + pub const EXPR_KIND_ORDER_BY: Type = 20; + pub const EXPR_KIND_DISTINCT_ON: Type = 21; + pub const EXPR_KIND_LIMIT: Type = 22; + pub const EXPR_KIND_OFFSET: Type = 23; + pub const EXPR_KIND_RETURNING: Type = 24; + pub const EXPR_KIND_MERGE_RETURNING: Type = 25; + pub const EXPR_KIND_VALUES: Type = 26; + pub const EXPR_KIND_VALUES_SINGLE: Type = 27; + pub const EXPR_KIND_CHECK_CONSTRAINT: Type = 28; + pub const EXPR_KIND_DOMAIN_CHECK: Type = 29; + pub const EXPR_KIND_COLUMN_DEFAULT: Type = 30; + pub const EXPR_KIND_FUNCTION_DEFAULT: Type = 31; + pub const EXPR_KIND_INDEX_EXPRESSION: Type = 32; + pub const EXPR_KIND_INDEX_PREDICATE: Type = 33; + pub const EXPR_KIND_STATS_EXPRESSION: Type = 34; + pub const EXPR_KIND_ALTER_COL_TRANSFORM: Type = 35; + pub const EXPR_KIND_EXECUTE_PARAMETER: Type = 36; + pub const EXPR_KIND_TRIGGER_WHEN: Type = 37; + pub const EXPR_KIND_POLICY: Type = 38; + pub const EXPR_KIND_PARTITION_BOUND: Type = 39; + pub const EXPR_KIND_PARTITION_EXPRESSION: Type = 40; + pub const EXPR_KIND_CALL_ARGUMENT: Type = 41; + pub const EXPR_KIND_COPY_WHERE: Type = 42; + pub const EXPR_KIND_GENERATED_COLUMN: Type = 43; + pub const EXPR_KIND_CYCLE_MARK: Type = 44; +} +pub type PreParseColumnRefHook = ::core::option::Option< + unsafe extern "C-unwind" fn(pstate: *mut ParseState, cref: *mut ColumnRef) -> *mut Node, +>; +pub type PostParseColumnRefHook = ::core::option::Option< + unsafe extern "C-unwind" fn( + pstate: *mut ParseState, + cref: *mut ColumnRef, + var: *mut Node, + ) -> *mut Node, +>; +pub type ParseParamRefHook = ::core::option::Option< + unsafe extern "C-unwind" fn(pstate: *mut ParseState, pref: *mut ParamRef) -> *mut Node, +>; +pub type CoerceParamHook = ::core::option::Option< + unsafe extern "C-unwind" fn( + pstate: *mut ParseState, + param: *mut Param, + targetTypeId: Oid, + targetTypeMod: int32, + location: ::core::ffi::c_int, + ) -> *mut Node, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParseState { + pub parentParseState: *mut ParseState, + pub p_sourcetext: *const ::core::ffi::c_char, + pub p_stmt_location: ParseLoc, + pub p_stmt_len: ParseLoc, + pub p_rtable: *mut List, + pub p_rteperminfos: *mut List, + pub p_joinexprs: *mut List, + pub p_nullingrels: *mut List, + pub p_joinlist: *mut List, + pub p_namespace: *mut List, + pub p_lateral_active: bool, + pub p_ctenamespace: *mut List, + pub p_future_ctes: *mut List, + pub p_parent_cte: *mut CommonTableExpr, + pub p_target_relation: Relation, + pub p_target_nsitem: *mut ParseNamespaceItem, + pub p_grouping_nsitem: *mut ParseNamespaceItem, + pub p_is_insert: bool, + pub p_windowdefs: *mut List, + pub p_expr_kind: ParseExprKind::Type, + pub p_next_resno: ::core::ffi::c_int, + pub p_multiassign_exprs: *mut List, + pub p_locking_clause: *mut List, + pub p_locked_from_parent: bool, + pub p_resolve_unknowns: bool, + pub p_queryEnv: *mut QueryEnvironment, + pub p_hasAggs: bool, + pub p_hasWindowFuncs: bool, + pub p_hasTargetSRFs: bool, + pub p_hasSubLinks: bool, + pub p_hasModifyingCTE: bool, + pub p_last_srf: *mut Node, + pub p_pre_columnref_hook: PreParseColumnRefHook, + pub p_post_columnref_hook: PostParseColumnRefHook, + pub p_paramref_hook: ParseParamRefHook, + pub p_coerce_param_hook: CoerceParamHook, + pub p_ref_hook_state: *mut ::core::ffi::c_void, +} +impl Default for ParseState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParseNamespaceItem { + pub p_names: *mut Alias, + pub p_rte: *mut RangeTblEntry, + pub p_rtindex: ::core::ffi::c_int, + pub p_perminfo: *mut RTEPermissionInfo, + pub p_nscolumns: *mut ParseNamespaceColumn, + pub p_rel_visible: bool, + pub p_cols_visible: bool, + pub p_lateral_only: bool, + pub p_lateral_ok: bool, + pub p_returning_type: VarReturningType::Type, +} +impl Default for ParseNamespaceItem { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParseNamespaceColumn { + pub p_varno: Index, + pub p_varattno: AttrNumber, + pub p_vartype: Oid, + pub p_vartypmod: int32, + pub p_varcollid: Oid, + pub p_varreturningtype: VarReturningType::Type, + pub p_varnosyn: Index, + pub p_varattnosyn: AttrNumber, + pub p_dontexpand: bool, +} +impl Default for ParseNamespaceColumn { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParseCallbackState { + pub pstate: *mut ParseState, + pub location: ::core::ffi::c_int, + pub errcallback: ErrorContextCallback, +} +impl Default for ParseCallbackState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AclItem { + pub ai_grantee: Oid, + pub ai_grantor: Oid, + pub ai_privs: AclMode, +} +impl Default for AclItem { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Acl = ArrayType; +pub mod AclMaskHow { + pub type Type = ::core::ffi::c_uint; + pub const ACLMASK_ALL: Type = 0; + pub const ACLMASK_ANY: Type = 1; +} +pub mod AclResult { + pub type Type = ::core::ffi::c_uint; + pub const ACLCHECK_OK: Type = 0; + pub const ACLCHECK_NO_PRIV: Type = 1; + pub const ACLCHECK_NOT_OWNER: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_namespace { + pub oid: Oid, + pub nspname: NameData, + pub nspowner: Oid, +} +impl Default for FormData_pg_namespace { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_namespace = *mut FormData_pg_namespace; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_seclabel { + pub objoid: Oid, + pub classoid: Oid, + pub objsubid: int32, +} +impl Default for FormData_pg_seclabel { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_tablespace { + pub oid: Oid, + pub spcname: NameData, + pub spcowner: Oid, +} +impl Default for FormData_pg_tablespace { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_tablespace = *mut FormData_pg_tablespace; +#[repr(C)] +#[derive(Debug)] +pub struct FormData_pg_trigger { + pub oid: Oid, + pub tgrelid: Oid, + pub tgparentid: Oid, + pub tgname: NameData, + pub tgfoid: Oid, + pub tgtype: int16, + pub tgenabled: ::core::ffi::c_char, + pub tgisinternal: bool, + pub tgconstrrelid: Oid, + pub tgconstrindid: Oid, + pub tgconstraint: Oid, + pub tgdeferrable: bool, + pub tginitdeferred: bool, + pub tgnargs: int16, + pub tgattr: int2vector, +} +impl Default for FormData_pg_trigger { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_trigger = *mut FormData_pg_trigger; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_type { + pub oid: Oid, + pub typname: NameData, + pub typnamespace: Oid, + pub typowner: Oid, + pub typlen: int16, + pub typbyval: bool, + pub typtype: ::core::ffi::c_char, + pub typcategory: ::core::ffi::c_char, + pub typispreferred: bool, + pub typisdefined: bool, + pub typdelim: ::core::ffi::c_char, + pub typrelid: Oid, + pub typsubscript: regproc, + pub typelem: Oid, + pub typarray: Oid, + pub typinput: regproc, + pub typoutput: regproc, + pub typreceive: regproc, + pub typsend: regproc, + pub typmodin: regproc, + pub typmodout: regproc, + pub typanalyze: regproc, + pub typalign: ::core::ffi::c_char, + pub typstorage: ::core::ffi::c_char, + pub typnotnull: bool, + pub typbasetype: Oid, + pub typtypmod: int32, + pub typndims: int32, + pub typcollation: Oid, +} +impl Default for FormData_pg_type { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_type = *mut FormData_pg_type; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_user_mapping { + pub oid: Oid, + pub umuser: Oid, + pub umserver: Oid, +} +impl Default for FormData_pg_user_mapping { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_user_mapping = *mut FormData_pg_user_mapping; +pub mod CopyHeaderChoice { + pub type Type = ::core::ffi::c_uint; + pub const COPY_HEADER_FALSE: Type = 0; + pub const COPY_HEADER_TRUE: Type = 1; + pub const COPY_HEADER_MATCH: Type = 2; +} +pub mod CopyOnErrorChoice { + pub type Type = ::core::ffi::c_uint; + pub const COPY_ON_ERROR_STOP: Type = 0; + pub const COPY_ON_ERROR_IGNORE: Type = 1; +} +pub mod CopyLogVerbosityChoice { + pub type Type = ::core::ffi::c_int; + pub const COPY_LOG_VERBOSITY_SILENT: Type = -1; + pub const COPY_LOG_VERBOSITY_DEFAULT: Type = 0; + pub const COPY_LOG_VERBOSITY_VERBOSE: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CopyFormatOptions { + pub file_encoding: ::core::ffi::c_int, + pub binary: bool, + pub freeze: bool, + pub csv_mode: bool, + pub header_line: CopyHeaderChoice::Type, + pub null_print: *mut ::core::ffi::c_char, + pub null_print_len: ::core::ffi::c_int, + pub null_print_client: *mut ::core::ffi::c_char, + pub default_print: *mut ::core::ffi::c_char, + pub default_print_len: ::core::ffi::c_int, + pub delim: *mut ::core::ffi::c_char, + pub quote: *mut ::core::ffi::c_char, + pub escape: *mut ::core::ffi::c_char, + pub force_quote: *mut List, + pub force_quote_all: bool, + pub force_quote_flags: *mut bool, + pub force_notnull: *mut List, + pub force_notnull_all: bool, + pub force_notnull_flags: *mut bool, + pub force_null: *mut List, + pub force_null_all: bool, + pub force_null_flags: *mut bool, + pub convert_selectively: bool, + pub on_error: CopyOnErrorChoice::Type, + pub log_verbosity: CopyLogVerbosityChoice::Type, + pub reject_limit: int64, + pub convert_select: *mut List, +} +impl Default for CopyFormatOptions { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CopyFromStateData { + _unused: [u8; 0], +} +pub type CopyFromState = *mut CopyFromStateData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CopyToStateData { + _unused: [u8; 0], +} +pub type CopyToState = *mut CopyToStateData; +pub type copy_data_source_cb = ::core::option::Option< + unsafe extern "C-unwind" fn( + outbuf: *mut ::core::ffi::c_void, + minread: ::core::ffi::c_int, + maxread: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, +>; +pub type copy_data_dest_cb = ::core::option::Option< + unsafe extern "C-unwind" fn(data: *mut ::core::ffi::c_void, len: ::core::ffi::c_int), +>; +pub type EOM_get_flat_size_method = + ::core::option::Option Size>; +pub type EOM_flatten_into_method = ::core::option::Option< + unsafe extern "C-unwind" fn( + eohptr: *mut ExpandedObjectHeader, + result: *mut ::core::ffi::c_void, + allocated_size: Size, + ), +>; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ExpandedObjectMethods { + pub get_flat_size: EOM_get_flat_size_method, + pub flatten_into: EOM_flatten_into_method, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExpandedObjectHeader { + pub vl_len_: int32, + pub eoh_methods: *const ExpandedObjectMethods, + pub eoh_context: MemoryContext, + pub eoh_rw_ptr: [::core::ffi::c_char; 10usize], + pub eoh_ro_ptr: [::core::ffi::c_char; 10usize], +} +impl Default for ExpandedObjectHeader { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ArrayType { + pub vl_len_: int32, + pub ndim: ::core::ffi::c_int, + pub dataoffset: int32, + pub elemtype: Oid, +} +impl Default for ArrayType { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExpandedArrayHeader { + pub hdr: ExpandedObjectHeader, + pub ea_magic: ::core::ffi::c_int, + pub ndims: ::core::ffi::c_int, + pub dims: *mut ::core::ffi::c_int, + pub lbound: *mut ::core::ffi::c_int, + pub element_type: Oid, + pub typlen: int16, + pub typbyval: bool, + pub typalign: ::core::ffi::c_char, + pub dvalues: *mut Datum, + pub dnulls: *mut bool, + pub dvalueslen: ::core::ffi::c_int, + pub nelems: ::core::ffi::c_int, + pub flat_size: Size, + pub fvalue: *mut ArrayType, + pub fstartptr: *mut ::core::ffi::c_char, + pub fendptr: *mut ::core::ffi::c_char, +} +impl Default for ExpandedArrayHeader { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union AnyArrayType { + pub flt: ArrayType, + pub xpn: ExpandedArrayHeader, +} +impl Default for AnyArrayType { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ArrayBuildState { + pub mcontext: MemoryContext, + pub dvalues: *mut Datum, + pub dnulls: *mut bool, + pub alen: ::core::ffi::c_int, + pub nelems: ::core::ffi::c_int, + pub element_type: Oid, + pub typlen: int16, + pub typbyval: bool, + pub typalign: ::core::ffi::c_char, + pub private_cxt: bool, +} +impl Default for ArrayBuildState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ArrayBuildStateArr { + pub mcontext: MemoryContext, + pub data: *mut ::core::ffi::c_char, + pub nullbitmap: *mut bits8, + pub abytes: ::core::ffi::c_int, + pub nbytes: ::core::ffi::c_int, + pub aitems: ::core::ffi::c_int, + pub nitems: ::core::ffi::c_int, + pub ndims: ::core::ffi::c_int, + pub dims: [::core::ffi::c_int; 6usize], + pub lbs: [::core::ffi::c_int; 6usize], + pub array_type: Oid, + pub element_type: Oid, + pub private_cxt: bool, +} +impl Default for ArrayBuildStateArr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ArrayBuildStateAny { + pub scalarstate: *mut ArrayBuildState, + pub arraystate: *mut ArrayBuildStateArr, +} +impl Default for ArrayBuildStateAny { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ArrayMetaState { + pub element_type: Oid, + pub typlen: int16, + pub typbyval: bool, + pub typalign: ::core::ffi::c_char, + pub typdelim: ::core::ffi::c_char, + pub typioparam: Oid, + pub typiofunc: Oid, + pub proc_: FmgrInfo, +} +impl Default for ArrayMetaState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ArrayMapState { + pub inp_extra: ArrayMetaState, + pub ret_extra: ArrayMetaState, +} +impl Default for ArrayMapState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ArrayIteratorData { + _unused: [u8; 0], +} +pub type ArrayIterator = *mut ArrayIteratorData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_event_trigger { + pub oid: Oid, + pub evtname: NameData, + pub evtevent: NameData, + pub evtowner: Oid, + pub evtfoid: Oid, + pub evtenabled: ::core::ffi::c_char, +} +impl Default for FormData_pg_event_trigger { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_event_trigger = *mut FormData_pg_event_trigger; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct InternalGrant { + pub is_grant: bool, + pub objtype: ObjectType::Type, + pub objects: *mut List, + pub all_privs: bool, + pub privileges: AclMode, + pub col_privs: *mut List, + pub grantees: *mut List, + pub grant_option: bool, + pub behavior: DropBehavior::Type, +} +impl Default for InternalGrant { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod CollectedCommandType { + pub type Type = ::core::ffi::c_uint; + pub const SCT_Simple: Type = 0; + pub const SCT_AlterTable: Type = 1; + pub const SCT_Grant: Type = 2; + pub const SCT_AlterOpFamily: Type = 3; + pub const SCT_AlterDefaultPrivileges: Type = 4; + pub const SCT_CreateOpClass: Type = 5; + pub const SCT_AlterTSConfig: Type = 6; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CollectedATSubcmd { + pub address: ObjectAddress, + pub parsetree: *mut Node, +} +impl Default for CollectedATSubcmd { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct CollectedCommand { + pub type_: CollectedCommandType::Type, + pub in_extension: bool, + pub parsetree: *mut Node, + pub d: CollectedCommand__bindgen_ty_1, + pub parent: *mut CollectedCommand, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union CollectedCommand__bindgen_ty_1 { + pub simple: CollectedCommand__bindgen_ty_1__bindgen_ty_1, + pub alterTable: CollectedCommand__bindgen_ty_1__bindgen_ty_2, + pub grant: CollectedCommand__bindgen_ty_1__bindgen_ty_3, + pub opfam: CollectedCommand__bindgen_ty_1__bindgen_ty_4, + pub createopc: CollectedCommand__bindgen_ty_1__bindgen_ty_5, + pub atscfg: CollectedCommand__bindgen_ty_1__bindgen_ty_6, + pub defprivs: CollectedCommand__bindgen_ty_1__bindgen_ty_7, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CollectedCommand__bindgen_ty_1__bindgen_ty_1 { + pub address: ObjectAddress, + pub secondaryObject: ObjectAddress, +} +impl Default for CollectedCommand__bindgen_ty_1__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CollectedCommand__bindgen_ty_1__bindgen_ty_2 { + pub objectId: Oid, + pub classId: Oid, + pub subcmds: *mut List, +} +impl Default for CollectedCommand__bindgen_ty_1__bindgen_ty_2 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CollectedCommand__bindgen_ty_1__bindgen_ty_3 { + pub istmt: *mut InternalGrant, +} +impl Default for CollectedCommand__bindgen_ty_1__bindgen_ty_3 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CollectedCommand__bindgen_ty_1__bindgen_ty_4 { + pub address: ObjectAddress, + pub operators: *mut List, + pub procedures: *mut List, +} +impl Default for CollectedCommand__bindgen_ty_1__bindgen_ty_4 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CollectedCommand__bindgen_ty_1__bindgen_ty_5 { + pub address: ObjectAddress, + pub operators: *mut List, + pub procedures: *mut List, +} +impl Default for CollectedCommand__bindgen_ty_1__bindgen_ty_5 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CollectedCommand__bindgen_ty_1__bindgen_ty_6 { + pub address: ObjectAddress, + pub dictIds: *mut Oid, + pub ndicts: ::core::ffi::c_int, +} +impl Default for CollectedCommand__bindgen_ty_1__bindgen_ty_6 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CollectedCommand__bindgen_ty_1__bindgen_ty_7 { + pub objtype: ObjectType::Type, +} +impl Default for CollectedCommand__bindgen_ty_1__bindgen_ty_7 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for CollectedCommand__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for CollectedCommand { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct EventTriggerData { + pub type_: NodeTag, + pub event: *const ::core::ffi::c_char, + pub parsetree: *mut Node, + pub tag: CommandTag::Type, +} +impl Default for EventTriggerData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ExplainOneQuery_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + query: *mut Query, + cursorOptions: ::core::ffi::c_int, + into: *mut IntoClause, + es: *mut ExplainState, + queryString: *const ::core::ffi::c_char, + params: ParamListInfo, + queryEnv: *mut QueryEnvironment, + ), +>; +pub type explain_per_plan_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + plannedstmt: *mut PlannedStmt, + into: *mut IntoClause, + es: *mut ExplainState, + queryString: *const ::core::ffi::c_char, + params: ParamListInfo, + queryEnv: *mut QueryEnvironment, + ), +>; +pub type explain_per_node_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + planstate: *mut PlanState, + ancestors: *mut List, + relationship: *const ::core::ffi::c_char, + plan_name: *const ::core::ffi::c_char, + es: *mut ExplainState, + ), +>; +pub type explain_get_index_name_hook_type = + ::core::option::Option *const ::core::ffi::c_char>; +pub mod ExplainSerializeOption { + pub type Type = ::core::ffi::c_uint; + pub const EXPLAIN_SERIALIZE_NONE: Type = 0; + pub const EXPLAIN_SERIALIZE_TEXT: Type = 1; + pub const EXPLAIN_SERIALIZE_BINARY: Type = 2; +} +pub mod ExplainFormat { + pub type Type = ::core::ffi::c_uint; + pub const EXPLAIN_FORMAT_TEXT: Type = 0; + pub const EXPLAIN_FORMAT_XML: Type = 1; + pub const EXPLAIN_FORMAT_JSON: Type = 2; + pub const EXPLAIN_FORMAT_YAML: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExplainWorkersState { + pub num_workers: ::core::ffi::c_int, + pub worker_inited: *mut bool, + pub worker_str: *mut StringInfoData, + pub worker_state_save: *mut ::core::ffi::c_int, + pub prev_str: StringInfo, +} +impl Default for ExplainWorkersState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExplainState { + pub str_: StringInfo, + pub verbose: bool, + pub analyze: bool, + pub costs: bool, + pub buffers: bool, + pub wal: bool, + pub timing: bool, + pub summary: bool, + pub memory: bool, + pub settings: bool, + pub generic: bool, + pub serialize: ExplainSerializeOption::Type, + pub format: ExplainFormat::Type, + pub indent: ::core::ffi::c_int, + pub grouping_stack: *mut List, + pub pstmt: *mut PlannedStmt, + pub rtable: *mut List, + pub rtable_names: *mut List, + pub deparse_cxt: *mut List, + pub printed_subplans: *mut Bitmapset, + pub hide_workers: bool, + pub rtable_size: ::core::ffi::c_int, + pub workers_state: *mut ExplainWorkersState, + pub extension_state: *mut *mut ::core::ffi::c_void, + pub extension_state_allocated: ::core::ffi::c_int, +} +impl Default for ExplainState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ExplainOptionHandler = ::core::option::Option< + unsafe extern "C-unwind" fn(arg1: *mut ExplainState, arg2: *mut DefElem, arg3: *mut ParseState), +>; +pub type explain_validate_options_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn(es: *mut ExplainState, options: *mut List, pstate: *mut ParseState), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PreparedStatement { + pub stmt_name: [::core::ffi::c_char; 64usize], + pub plansource: *mut CachedPlanSource, + pub from_sql: bool, + pub prepare_time: TimestampTz, +} +impl Default for PreparedStatement { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type check_object_relabel_type = ::core::option::Option< + unsafe extern "C-unwind" fn(object: *const ObjectAddress, seclabel: *const ::core::ffi::c_char), +>; +#[repr(C)] +#[derive(Debug)] +pub struct xl_tblspc_create_rec { + pub ts_id: Oid, + pub ts_path: __IncompleteArrayField<::core::ffi::c_char>, +} +impl Default for xl_tblspc_create_rec { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_tblspc_drop_rec { + pub ts_id: Oid, +} +impl Default for xl_tblspc_drop_rec { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct TableSpaceOpts { + pub vl_len_: int32, + pub random_page_cost: float8, + pub seq_page_cost: float8, + pub effective_io_concurrency: ::core::ffi::c_int, + pub maintenance_io_concurrency: ::core::ffi::c_int, +} +pub type TriggerEvent = uint32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TriggerData { + pub type_: NodeTag, + pub tg_event: TriggerEvent, + pub tg_relation: Relation, + pub tg_trigtuple: HeapTuple, + pub tg_newtuple: HeapTuple, + pub tg_trigger: *mut Trigger, + pub tg_trigslot: *mut TupleTableSlot, + pub tg_newslot: *mut TupleTableSlot, + pub tg_oldtable: *mut Tuplestorestate, + pub tg_newtable: *mut Tuplestorestate, + pub tg_updatedcols: *const Bitmapset, +} +impl Default for TriggerData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AfterTriggersTableData { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TransitionCaptureState { + pub tcs_delete_old_table: bool, + pub tcs_update_old_table: bool, + pub tcs_update_new_table: bool, + pub tcs_insert_new_table: bool, + pub tcs_original_insert_tuple: *mut TupleTableSlot, + pub tcs_private: *mut AfterTriggersTableData, +} +impl Default for TransitionCaptureState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod PasswordType { + pub type Type = ::core::ffi::c_uint; + pub const PASSWORD_TYPE_PLAINTEXT: Type = 0; + pub const PASSWORD_TYPE_MD5: Type = 1; + pub const PASSWORD_TYPE_SCRAM_SHA_256: Type = 2; +} +pub mod GucContext { + pub type Type = ::core::ffi::c_uint; + pub const PGC_INTERNAL: Type = 0; + pub const PGC_POSTMASTER: Type = 1; + pub const PGC_SIGHUP: Type = 2; + pub const PGC_SU_BACKEND: Type = 3; + pub const PGC_BACKEND: Type = 4; + pub const PGC_SUSET: Type = 5; + pub const PGC_USERSET: Type = 6; +} +pub mod GucSource { + pub type Type = ::core::ffi::c_uint; + pub const PGC_S_DEFAULT: Type = 0; + pub const PGC_S_DYNAMIC_DEFAULT: Type = 1; + pub const PGC_S_ENV_VAR: Type = 2; + pub const PGC_S_FILE: Type = 3; + pub const PGC_S_ARGV: Type = 4; + pub const PGC_S_GLOBAL: Type = 5; + pub const PGC_S_DATABASE: Type = 6; + pub const PGC_S_USER: Type = 7; + pub const PGC_S_DATABASE_USER: Type = 8; + pub const PGC_S_CLIENT: Type = 9; + pub const PGC_S_OVERRIDE: Type = 10; + pub const PGC_S_INTERACTIVE: Type = 11; + pub const PGC_S_TEST: Type = 12; + pub const PGC_S_SESSION: Type = 13; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ConfigVariable { + pub name: *mut ::core::ffi::c_char, + pub value: *mut ::core::ffi::c_char, + pub errmsg: *mut ::core::ffi::c_char, + pub filename: *mut ::core::ffi::c_char, + pub sourceline: ::core::ffi::c_int, + pub ignore: bool, + pub applied: bool, + pub next: *mut ConfigVariable, +} +impl Default for ConfigVariable { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct config_generic { + _unused: [u8; 0], +} +pub type config_handle = config_generic; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct config_enum_entry { + pub name: *const ::core::ffi::c_char, + pub val: ::core::ffi::c_int, + pub hidden: bool, +} +impl Default for config_enum_entry { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type GucBoolCheckHook = ::core::option::Option< + unsafe extern "C-unwind" fn( + newval: *mut bool, + extra: *mut *mut ::core::ffi::c_void, + source: GucSource::Type, + ) -> bool, +>; +pub type GucIntCheckHook = ::core::option::Option< + unsafe extern "C-unwind" fn( + newval: *mut ::core::ffi::c_int, + extra: *mut *mut ::core::ffi::c_void, + source: GucSource::Type, + ) -> bool, +>; +pub type GucRealCheckHook = ::core::option::Option< + unsafe extern "C-unwind" fn( + newval: *mut f64, + extra: *mut *mut ::core::ffi::c_void, + source: GucSource::Type, + ) -> bool, +>; +pub type GucStringCheckHook = ::core::option::Option< + unsafe extern "C-unwind" fn( + newval: *mut *mut ::core::ffi::c_char, + extra: *mut *mut ::core::ffi::c_void, + source: GucSource::Type, + ) -> bool, +>; +pub type GucEnumCheckHook = ::core::option::Option< + unsafe extern "C-unwind" fn( + newval: *mut ::core::ffi::c_int, + extra: *mut *mut ::core::ffi::c_void, + source: GucSource::Type, + ) -> bool, +>; +pub type GucBoolAssignHook = ::core::option::Option< + unsafe extern "C-unwind" fn(newval: bool, extra: *mut ::core::ffi::c_void), +>; +pub type GucIntAssignHook = ::core::option::Option< + unsafe extern "C-unwind" fn(newval: ::core::ffi::c_int, extra: *mut ::core::ffi::c_void), +>; +pub type GucRealAssignHook = ::core::option::Option< + unsafe extern "C-unwind" fn(newval: f64, extra: *mut ::core::ffi::c_void), +>; +pub type GucStringAssignHook = ::core::option::Option< + unsafe extern "C-unwind" fn( + newval: *const ::core::ffi::c_char, + extra: *mut ::core::ffi::c_void, + ), +>; +pub type GucEnumAssignHook = ::core::option::Option< + unsafe extern "C-unwind" fn(newval: ::core::ffi::c_int, extra: *mut ::core::ffi::c_void), +>; +pub type GucShowHook = + ::core::option::Option *const ::core::ffi::c_char>; +pub mod GucAction { + pub type Type = ::core::ffi::c_uint; + pub const GUC_ACTION_SET: Type = 0; + pub const GUC_ACTION_LOCAL: Type = 1; + pub const GUC_ACTION_SAVE: Type = 2; +} +pub type check_password_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + username: *const ::core::ffi::c_char, + shadow_pass: *const ::core::ffi::c_char, + password_type: PasswordType::Type, + validuntil_time: Datum, + validuntil_null: bool, + ), +>; +pub type bgworker_main_type = ::core::option::Option; +pub mod BgWorkerStartTime { + pub type Type = ::core::ffi::c_uint; + pub const BgWorkerStart_PostmasterStart: Type = 0; + pub const BgWorkerStart_ConsistentState: Type = 1; + pub const BgWorkerStart_RecoveryFinished: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BackgroundWorker { + pub bgw_name: [::core::ffi::c_char; 96usize], + pub bgw_type: [::core::ffi::c_char; 96usize], + pub bgw_flags: ::core::ffi::c_int, + pub bgw_start_time: BgWorkerStartTime::Type, + pub bgw_restart_time: ::core::ffi::c_int, + pub bgw_library_name: [::core::ffi::c_char; 1024usize], + pub bgw_function_name: [::core::ffi::c_char; 96usize], + pub bgw_main_arg: Datum, + pub bgw_extra: [::core::ffi::c_char; 128usize], + pub bgw_notify_pid: pid_t, +} +impl Default for BackgroundWorker { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod BgwHandleStatus { + pub type Type = ::core::ffi::c_uint; + pub const BGWH_STARTED: Type = 0; + pub const BGWH_NOT_YET_STARTED: Type = 1; + pub const BGWH_STOPPED: Type = 2; + pub const BGWH_POSTMASTER_DIED: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BackgroundWorkerHandle { + _unused: [u8; 0], +} +pub type XidStatus = ::core::ffi::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xl_clog_truncate { + pub pageno: int64, + pub oldestXact: TransactionId, + pub oldestXactDb: Oid, +} +impl Default for xl_clog_truncate { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WaitEvent { + pub pos: ::core::ffi::c_int, + pub events: uint32, + pub fd: pgsocket, + pub user_data: *mut ::core::ffi::c_void, +} +impl Default for WaitEvent { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct Latch { + pub is_set: sig_atomic_t, + pub maybe_sleeping: sig_atomic_t, + pub is_shared: bool, + pub owner_pid: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PGSemaphoreData { + _unused: [u8; 0], +} +pub type PGSemaphore = *mut PGSemaphoreData; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct XidCacheStatus { + pub count: uint8, + pub overflowed: bool, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XidCache { + pub xids: [TransactionId; 64usize], +} +impl Default for XidCache { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ProcWaitStatus { + pub type Type = ::core::ffi::c_uint; + pub const PROC_WAIT_STATUS_OK: Type = 0; + pub const PROC_WAIT_STATUS_WAITING: Type = 1; + pub const PROC_WAIT_STATUS_ERROR: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PGPROC { + pub links: dlist_node, + pub procgloballist: *mut dlist_head, + pub sem: PGSemaphore, + pub waitStatus: ProcWaitStatus::Type, + pub procLatch: Latch, + pub xid: TransactionId, + pub xmin: TransactionId, + pub pid: ::core::ffi::c_int, + pub pgxactoff: ::core::ffi::c_int, + pub vxid: PGPROC__bindgen_ty_1, + pub databaseId: Oid, + pub roleId: Oid, + pub tempNamespaceId: Oid, + pub isRegularBackend: bool, + pub recoveryConflictPending: bool, + pub lwWaiting: uint8, + pub lwWaitMode: uint8, + pub lwWaitLink: proclist_node, + pub cvWaitLink: proclist_node, + pub waitLock: *mut LOCK, + pub waitProcLock: *mut PROCLOCK, + pub waitLockMode: LOCKMODE, + pub heldLocks: LOCKMASK, + pub waitStart: pg_atomic_uint64, + pub delayChkptFlags: ::core::ffi::c_int, + pub statusFlags: uint8, + pub waitLSN: XLogRecPtr, + pub syncRepState: ::core::ffi::c_int, + pub syncRepLinks: dlist_node, + pub myProcLocks: [dlist_head; 16usize], + pub subxidStatus: XidCacheStatus, + pub subxids: XidCache, + pub procArrayGroupMember: bool, + pub procArrayGroupNext: pg_atomic_uint32, + pub procArrayGroupMemberXid: TransactionId, + pub wait_event_info: uint32, + pub clogGroupMember: bool, + pub clogGroupNext: pg_atomic_uint32, + pub clogGroupMemberXid: TransactionId, + pub clogGroupMemberXidStatus: XidStatus, + pub clogGroupMemberPage: int64, + pub clogGroupMemberLsn: XLogRecPtr, + pub fpInfoLock: LWLock, + pub fpLockBits: *mut uint64, + pub fpRelId: *mut Oid, + pub fpVXIDLock: bool, + pub fpLocalTransactionId: LocalTransactionId, + pub lockGroupLeader: *mut PGPROC, + pub lockGroupMembers: dlist_head, + pub lockGroupLink: dlist_node, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PGPROC__bindgen_ty_1 { + pub procNumber: ProcNumber, + pub lxid: LocalTransactionId, +} +impl Default for PGPROC { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PROC_HDR { + pub allProcs: *mut PGPROC, + pub xids: *mut TransactionId, + pub subxidStates: *mut XidCacheStatus, + pub statusFlags: *mut uint8, + pub allProcCount: uint32, + pub freeProcs: dlist_head, + pub autovacFreeProcs: dlist_head, + pub bgworkerFreeProcs: dlist_head, + pub walsenderFreeProcs: dlist_head, + pub procArrayGroupFirst: pg_atomic_uint32, + pub clogGroupFirst: pg_atomic_uint32, + pub walwriterProc: ProcNumber, + pub checkpointerProc: ProcNumber, + pub spins_per_delay: ::core::ffi::c_int, + pub startupBufferPinWaitBufId: ::core::ffi::c_int, +} +impl Default for PROC_HDR { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct shm_mq { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct shm_mq_handle { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct shm_mq_iovec { + pub data: *const ::core::ffi::c_char, + pub len: Size, +} +impl Default for shm_mq_iovec { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod shm_mq_result { + pub type Type = ::core::ffi::c_uint; + pub const SHM_MQ_SUCCESS: Type = 0; + pub const SHM_MQ_WOULD_BLOCK: Type = 1; + pub const SHM_MQ_DETACHED: Type = 2; +} +pub type parallel_worker_main_type = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParallelWorkerInfo { + pub bgwhandle: *mut BackgroundWorkerHandle, + pub error_mqh: *mut shm_mq_handle, +} +impl Default for ParallelWorkerInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParallelContext { + pub node: dlist_node, + pub subid: SubTransactionId, + pub nworkers: ::core::ffi::c_int, + pub nworkers_to_launch: ::core::ffi::c_int, + pub nworkers_launched: ::core::ffi::c_int, + pub library_name: *mut ::core::ffi::c_char, + pub function_name: *mut ::core::ffi::c_char, + pub error_context_stack: *mut ErrorContextCallback, + pub estimator: shm_toc_estimator, + pub seg: *mut dsm_segment, + pub private_memory: *mut ::core::ffi::c_void, + pub toc: *mut shm_toc, + pub worker: *mut ParallelWorkerInfo, + pub nknown_attached_workers: ::core::ffi::c_int, + pub known_attached_workers: *mut bool, +} +impl Default for ParallelContext { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParallelWorkerContext { + pub seg: *mut dsm_segment, + pub toc: *mut shm_toc, +} +impl Default for ParallelWorkerContext { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TidStore { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TidStoreIter { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TidStoreIterResult { + pub blkno: BlockNumber, + pub internal_page: *mut ::core::ffi::c_void, +} +impl Default for TidStoreIterResult { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_statistic { + pub starelid: Oid, + pub staattnum: int16, + pub stainherit: bool, + pub stanullfrac: float4, + pub stawidth: int32, + pub stadistinct: float4, + pub stakind1: int16, + pub stakind2: int16, + pub stakind3: int16, + pub stakind4: int16, + pub stakind5: int16, + pub staop1: Oid, + pub staop2: Oid, + pub staop3: Oid, + pub staop4: Oid, + pub staop5: Oid, + pub stacoll1: Oid, + pub stacoll2: Oid, + pub stacoll3: Oid, + pub stacoll4: Oid, + pub stacoll5: Oid, +} +impl Default for FormData_pg_statistic { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_statistic = *mut FormData_pg_statistic; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParallelVacuumState { + _unused: [u8; 0], +} +pub type VacAttrStatsP = *mut VacAttrStats; +pub type AnalyzeAttrFetchFunc = ::core::option::Option< + unsafe extern "C-unwind" fn( + stats: VacAttrStatsP, + rownum: ::core::ffi::c_int, + isNull: *mut bool, + ) -> Datum, +>; +pub type AnalyzeAttrComputeStatsFunc = ::core::option::Option< + unsafe extern "C-unwind" fn( + stats: VacAttrStatsP, + fetchfunc: AnalyzeAttrFetchFunc, + samplerows: ::core::ffi::c_int, + totalrows: f64, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct VacAttrStats { + pub attstattarget: ::core::ffi::c_int, + pub attrtypid: Oid, + pub attrtypmod: int32, + pub attrtype: Form_pg_type, + pub attrcollid: Oid, + pub anl_context: MemoryContext, + pub compute_stats: AnalyzeAttrComputeStatsFunc, + pub minrows: ::core::ffi::c_int, + pub extra_data: *mut ::core::ffi::c_void, + pub stats_valid: bool, + pub stanullfrac: float4, + pub stawidth: int32, + pub stadistinct: float4, + pub stakind: [int16; 5usize], + pub staop: [Oid; 5usize], + pub stacoll: [Oid; 5usize], + pub numnumbers: [::core::ffi::c_int; 5usize], + pub stanumbers: [*mut float4; 5usize], + pub numvalues: [::core::ffi::c_int; 5usize], + pub stavalues: [*mut Datum; 5usize], + pub statypid: [Oid; 5usize], + pub statyplen: [int16; 5usize], + pub statypbyval: [bool; 5usize], + pub statypalign: [::core::ffi::c_char; 5usize], + pub tupattnum: ::core::ffi::c_int, + pub rows: *mut HeapTuple, + pub tupDesc: TupleDesc, + pub exprvals: *mut Datum, + pub exprnulls: *mut bool, + pub rowstride: ::core::ffi::c_int, +} +impl Default for VacAttrStats { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod VacOptValue { + pub type Type = ::core::ffi::c_uint; + pub const VACOPTVALUE_UNSPECIFIED: Type = 0; + pub const VACOPTVALUE_AUTO: Type = 1; + pub const VACOPTVALUE_DISABLED: Type = 2; + pub const VACOPTVALUE_ENABLED: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct VacuumParams { + pub options: bits32, + pub freeze_min_age: ::core::ffi::c_int, + pub freeze_table_age: ::core::ffi::c_int, + pub multixact_freeze_min_age: ::core::ffi::c_int, + pub multixact_freeze_table_age: ::core::ffi::c_int, + pub is_wraparound: bool, + pub log_min_duration: ::core::ffi::c_int, + pub index_cleanup: VacOptValue::Type, + pub truncate: VacOptValue::Type, + pub toast_parent: Oid, + pub max_eager_freeze_failure_rate: f64, + pub nworkers: ::core::ffi::c_int, +} +impl Default for VacuumParams { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +pub struct VacuumCutoffs { + pub relfrozenxid: TransactionId, + pub relminmxid: MultiXactId, + pub OldestXmin: TransactionId, + pub OldestMxact: MultiXactId, + pub FreezeLimit: TransactionId, + pub MultiXactCutoff: MultiXactId, +} +impl Default for VacuumCutoffs { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct VacDeadItemsInfo { + pub max_bytes: usize, + pub num_items: int64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ConfigData { + pub name: *mut ::core::ffi::c_char, + pub setting: *mut ::core::ffi::c_char, +} +impl Default for ConfigData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AggStatePerTransData { + pub aggref: *mut Aggref, + pub aggshared: bool, + pub aggsortrequired: bool, + pub numInputs: ::core::ffi::c_int, + pub numTransInputs: ::core::ffi::c_int, + pub transfn_oid: Oid, + pub serialfn_oid: Oid, + pub deserialfn_oid: Oid, + pub aggtranstype: Oid, + pub transfn: FmgrInfo, + pub serialfn: FmgrInfo, + pub deserialfn: FmgrInfo, + pub aggCollation: Oid, + pub numSortCols: ::core::ffi::c_int, + pub numDistinctCols: ::core::ffi::c_int, + pub sortColIdx: *mut AttrNumber, + pub sortOperators: *mut Oid, + pub sortCollations: *mut Oid, + pub sortNullsFirst: *mut bool, + pub equalfnOne: FmgrInfo, + pub equalfnMulti: *mut ExprState, + pub initValue: Datum, + pub initValueIsNull: bool, + pub inputtypeLen: int16, + pub transtypeLen: int16, + pub inputtypeByVal: bool, + pub transtypeByVal: bool, + pub sortslot: *mut TupleTableSlot, + pub uniqslot: *mut TupleTableSlot, + pub sortdesc: TupleDesc, + pub lastdatum: Datum, + pub lastisnull: bool, + pub haslast: bool, + pub sortstates: *mut *mut Tuplesortstate, + pub transfn_fcinfo: FunctionCallInfo, + pub serialfn_fcinfo: FunctionCallInfo, + pub deserialfn_fcinfo: FunctionCallInfo, +} +impl Default for AggStatePerTransData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AggStatePerAggData { + pub aggref: *mut Aggref, + pub transno: ::core::ffi::c_int, + pub finalfn_oid: Oid, + pub finalfn: FmgrInfo, + pub numFinalArgs: ::core::ffi::c_int, + pub aggdirectargs: *mut List, + pub resulttypeLen: int16, + pub resulttypeByVal: bool, + pub shareable: bool, +} +impl Default for AggStatePerAggData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AggStatePerGroupData { + pub transValue: Datum, + pub transValueIsNull: bool, + pub noTransValue: bool, +} +impl Default for AggStatePerGroupData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AggStatePerPhaseData { + pub aggstrategy: AggStrategy::Type, + pub numsets: ::core::ffi::c_int, + pub gset_lengths: *mut ::core::ffi::c_int, + pub grouped_cols: *mut *mut Bitmapset, + pub eqfunctions: *mut *mut ExprState, + pub aggnode: *mut Agg, + pub sortnode: *mut Sort, + pub evaltrans: *mut ExprState, + pub evaltrans_cache: [[*mut ExprState; 2usize]; 2usize], +} +impl Default for AggStatePerPhaseData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AggStatePerHashData { + pub hashtable: TupleHashTable, + pub hashiter: TupleHashIterator, + pub hashslot: *mut TupleTableSlot, + pub hashfunctions: *mut FmgrInfo, + pub eqfuncoids: *mut Oid, + pub numCols: ::core::ffi::c_int, + pub numhashGrpCols: ::core::ffi::c_int, + pub largestGrpColIdx: ::core::ffi::c_int, + pub hashGrpColIdxInput: *mut AttrNumber, + pub hashGrpColIdxHash: *mut AttrNumber, + pub aggnode: *mut Agg, +} +impl Default for AggStatePerHashData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ScalarArrayOpExprHashTable { + _unused: [u8; 0], +} +pub type ExecEvalSubroutine = ::core::option::Option< + unsafe extern "C-unwind" fn( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ), +>; +pub type ExecEvalBoolSubroutine = ::core::option::Option< + unsafe extern "C-unwind" fn( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ) -> bool, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalRowtypeCache { + pub cacheptr: *mut ::core::ffi::c_void, + pub tupdesc_id: uint64, +} +impl Default for ExprEvalRowtypeCache { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ExprEvalOp { + pub type Type = ::core::ffi::c_uint; + pub const EEOP_DONE_RETURN: Type = 0; + pub const EEOP_DONE_NO_RETURN: Type = 1; + pub const EEOP_INNER_FETCHSOME: Type = 2; + pub const EEOP_OUTER_FETCHSOME: Type = 3; + pub const EEOP_SCAN_FETCHSOME: Type = 4; + pub const EEOP_OLD_FETCHSOME: Type = 5; + pub const EEOP_NEW_FETCHSOME: Type = 6; + pub const EEOP_INNER_VAR: Type = 7; + pub const EEOP_OUTER_VAR: Type = 8; + pub const EEOP_SCAN_VAR: Type = 9; + pub const EEOP_OLD_VAR: Type = 10; + pub const EEOP_NEW_VAR: Type = 11; + pub const EEOP_INNER_SYSVAR: Type = 12; + pub const EEOP_OUTER_SYSVAR: Type = 13; + pub const EEOP_SCAN_SYSVAR: Type = 14; + pub const EEOP_OLD_SYSVAR: Type = 15; + pub const EEOP_NEW_SYSVAR: Type = 16; + pub const EEOP_WHOLEROW: Type = 17; + pub const EEOP_ASSIGN_INNER_VAR: Type = 18; + pub const EEOP_ASSIGN_OUTER_VAR: Type = 19; + pub const EEOP_ASSIGN_SCAN_VAR: Type = 20; + pub const EEOP_ASSIGN_OLD_VAR: Type = 21; + pub const EEOP_ASSIGN_NEW_VAR: Type = 22; + pub const EEOP_ASSIGN_TMP: Type = 23; + pub const EEOP_ASSIGN_TMP_MAKE_RO: Type = 24; + pub const EEOP_CONST: Type = 25; + pub const EEOP_FUNCEXPR: Type = 26; + pub const EEOP_FUNCEXPR_STRICT: Type = 27; + pub const EEOP_FUNCEXPR_STRICT_1: Type = 28; + pub const EEOP_FUNCEXPR_STRICT_2: Type = 29; + pub const EEOP_FUNCEXPR_FUSAGE: Type = 30; + pub const EEOP_FUNCEXPR_STRICT_FUSAGE: Type = 31; + pub const EEOP_BOOL_AND_STEP_FIRST: Type = 32; + pub const EEOP_BOOL_AND_STEP: Type = 33; + pub const EEOP_BOOL_AND_STEP_LAST: Type = 34; + pub const EEOP_BOOL_OR_STEP_FIRST: Type = 35; + pub const EEOP_BOOL_OR_STEP: Type = 36; + pub const EEOP_BOOL_OR_STEP_LAST: Type = 37; + pub const EEOP_BOOL_NOT_STEP: Type = 38; + pub const EEOP_QUAL: Type = 39; + pub const EEOP_JUMP: Type = 40; + pub const EEOP_JUMP_IF_NULL: Type = 41; + pub const EEOP_JUMP_IF_NOT_NULL: Type = 42; + pub const EEOP_JUMP_IF_NOT_TRUE: Type = 43; + pub const EEOP_NULLTEST_ISNULL: Type = 44; + pub const EEOP_NULLTEST_ISNOTNULL: Type = 45; + pub const EEOP_NULLTEST_ROWISNULL: Type = 46; + pub const EEOP_NULLTEST_ROWISNOTNULL: Type = 47; + pub const EEOP_BOOLTEST_IS_TRUE: Type = 48; + pub const EEOP_BOOLTEST_IS_NOT_TRUE: Type = 49; + pub const EEOP_BOOLTEST_IS_FALSE: Type = 50; + pub const EEOP_BOOLTEST_IS_NOT_FALSE: Type = 51; + pub const EEOP_PARAM_EXEC: Type = 52; + pub const EEOP_PARAM_EXTERN: Type = 53; + pub const EEOP_PARAM_CALLBACK: Type = 54; + pub const EEOP_PARAM_SET: Type = 55; + pub const EEOP_CASE_TESTVAL: Type = 56; + pub const EEOP_CASE_TESTVAL_EXT: Type = 57; + pub const EEOP_MAKE_READONLY: Type = 58; + pub const EEOP_IOCOERCE: Type = 59; + pub const EEOP_IOCOERCE_SAFE: Type = 60; + pub const EEOP_DISTINCT: Type = 61; + pub const EEOP_NOT_DISTINCT: Type = 62; + pub const EEOP_NULLIF: Type = 63; + pub const EEOP_SQLVALUEFUNCTION: Type = 64; + pub const EEOP_CURRENTOFEXPR: Type = 65; + pub const EEOP_NEXTVALUEEXPR: Type = 66; + pub const EEOP_RETURNINGEXPR: Type = 67; + pub const EEOP_ARRAYEXPR: Type = 68; + pub const EEOP_ARRAYCOERCE: Type = 69; + pub const EEOP_ROW: Type = 70; + pub const EEOP_ROWCOMPARE_STEP: Type = 71; + pub const EEOP_ROWCOMPARE_FINAL: Type = 72; + pub const EEOP_MINMAX: Type = 73; + pub const EEOP_FIELDSELECT: Type = 74; + pub const EEOP_FIELDSTORE_DEFORM: Type = 75; + pub const EEOP_FIELDSTORE_FORM: Type = 76; + pub const EEOP_SBSREF_SUBSCRIPTS: Type = 77; + pub const EEOP_SBSREF_OLD: Type = 78; + pub const EEOP_SBSREF_ASSIGN: Type = 79; + pub const EEOP_SBSREF_FETCH: Type = 80; + pub const EEOP_DOMAIN_TESTVAL: Type = 81; + pub const EEOP_DOMAIN_TESTVAL_EXT: Type = 82; + pub const EEOP_DOMAIN_NOTNULL: Type = 83; + pub const EEOP_DOMAIN_CHECK: Type = 84; + pub const EEOP_HASHDATUM_SET_INITVAL: Type = 85; + pub const EEOP_HASHDATUM_FIRST: Type = 86; + pub const EEOP_HASHDATUM_FIRST_STRICT: Type = 87; + pub const EEOP_HASHDATUM_NEXT32: Type = 88; + pub const EEOP_HASHDATUM_NEXT32_STRICT: Type = 89; + pub const EEOP_CONVERT_ROWTYPE: Type = 90; + pub const EEOP_SCALARARRAYOP: Type = 91; + pub const EEOP_HASHED_SCALARARRAYOP: Type = 92; + pub const EEOP_XMLEXPR: Type = 93; + pub const EEOP_JSON_CONSTRUCTOR: Type = 94; + pub const EEOP_IS_JSON: Type = 95; + pub const EEOP_JSONEXPR_PATH: Type = 96; + pub const EEOP_JSONEXPR_COERCION: Type = 97; + pub const EEOP_JSONEXPR_COERCION_FINISH: Type = 98; + pub const EEOP_AGGREF: Type = 99; + pub const EEOP_GROUPING_FUNC: Type = 100; + pub const EEOP_WINDOW_FUNC: Type = 101; + pub const EEOP_MERGE_SUPPORT_FUNC: Type = 102; + pub const EEOP_SUBPLAN: Type = 103; + pub const EEOP_AGG_STRICT_DESERIALIZE: Type = 104; + pub const EEOP_AGG_DESERIALIZE: Type = 105; + pub const EEOP_AGG_STRICT_INPUT_CHECK_ARGS: Type = 106; + pub const EEOP_AGG_STRICT_INPUT_CHECK_ARGS_1: Type = 107; + pub const EEOP_AGG_STRICT_INPUT_CHECK_NULLS: Type = 108; + pub const EEOP_AGG_PLAIN_PERGROUP_NULLCHECK: Type = 109; + pub const EEOP_AGG_PLAIN_TRANS_INIT_STRICT_BYVAL: Type = 110; + pub const EEOP_AGG_PLAIN_TRANS_STRICT_BYVAL: Type = 111; + pub const EEOP_AGG_PLAIN_TRANS_BYVAL: Type = 112; + pub const EEOP_AGG_PLAIN_TRANS_INIT_STRICT_BYREF: Type = 113; + pub const EEOP_AGG_PLAIN_TRANS_STRICT_BYREF: Type = 114; + pub const EEOP_AGG_PLAIN_TRANS_BYREF: Type = 115; + pub const EEOP_AGG_PRESORTED_DISTINCT_SINGLE: Type = 116; + pub const EEOP_AGG_PRESORTED_DISTINCT_MULTI: Type = 117; + pub const EEOP_AGG_ORDERED_TRANS_DATUM: Type = 118; + pub const EEOP_AGG_ORDERED_TRANS_TUPLE: Type = 119; + pub const EEOP_LAST: Type = 120; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ExprEvalStep { + pub opcode: isize, + pub resvalue: *mut Datum, + pub resnull: *mut bool, + pub d: ExprEvalStep__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ExprEvalStep__bindgen_ty_1 { + pub fetch: ExprEvalStep__bindgen_ty_1__bindgen_ty_1, + pub var: ExprEvalStep__bindgen_ty_1__bindgen_ty_2, + pub wholerow: ExprEvalStep__bindgen_ty_1__bindgen_ty_3, + pub assign_var: ExprEvalStep__bindgen_ty_1__bindgen_ty_4, + pub assign_tmp: ExprEvalStep__bindgen_ty_1__bindgen_ty_5, + pub returningexpr: ExprEvalStep__bindgen_ty_1__bindgen_ty_6, + pub constval: ExprEvalStep__bindgen_ty_1__bindgen_ty_7, + pub func: ExprEvalStep__bindgen_ty_1__bindgen_ty_8, + pub boolexpr: ExprEvalStep__bindgen_ty_1__bindgen_ty_9, + pub qualexpr: ExprEvalStep__bindgen_ty_1__bindgen_ty_10, + pub jump: ExprEvalStep__bindgen_ty_1__bindgen_ty_11, + pub nulltest_row: ExprEvalStep__bindgen_ty_1__bindgen_ty_12, + pub param: ExprEvalStep__bindgen_ty_1__bindgen_ty_13, + pub cparam: ExprEvalStep__bindgen_ty_1__bindgen_ty_14, + pub casetest: ExprEvalStep__bindgen_ty_1__bindgen_ty_15, + pub make_readonly: ExprEvalStep__bindgen_ty_1__bindgen_ty_16, + pub iocoerce: ExprEvalStep__bindgen_ty_1__bindgen_ty_17, + pub sqlvaluefunction: ExprEvalStep__bindgen_ty_1__bindgen_ty_18, + pub nextvalueexpr: ExprEvalStep__bindgen_ty_1__bindgen_ty_19, + pub arrayexpr: ExprEvalStep__bindgen_ty_1__bindgen_ty_20, + pub arraycoerce: ExprEvalStep__bindgen_ty_1__bindgen_ty_21, + pub row: ExprEvalStep__bindgen_ty_1__bindgen_ty_22, + pub rowcompare_step: ExprEvalStep__bindgen_ty_1__bindgen_ty_23, + pub rowcompare_final: ExprEvalStep__bindgen_ty_1__bindgen_ty_24, + pub minmax: ExprEvalStep__bindgen_ty_1__bindgen_ty_25, + pub fieldselect: ExprEvalStep__bindgen_ty_1__bindgen_ty_26, + pub fieldstore: ExprEvalStep__bindgen_ty_1__bindgen_ty_27, + pub sbsref_subscript: ExprEvalStep__bindgen_ty_1__bindgen_ty_28, + pub sbsref: ExprEvalStep__bindgen_ty_1__bindgen_ty_29, + pub domaincheck: ExprEvalStep__bindgen_ty_1__bindgen_ty_30, + pub hashdatum_initvalue: ExprEvalStep__bindgen_ty_1__bindgen_ty_31, + pub hashdatum: ExprEvalStep__bindgen_ty_1__bindgen_ty_32, + pub convert_rowtype: ExprEvalStep__bindgen_ty_1__bindgen_ty_33, + pub scalararrayop: ExprEvalStep__bindgen_ty_1__bindgen_ty_34, + pub hashedscalararrayop: ExprEvalStep__bindgen_ty_1__bindgen_ty_35, + pub xmlexpr: ExprEvalStep__bindgen_ty_1__bindgen_ty_36, + pub json_constructor: ExprEvalStep__bindgen_ty_1__bindgen_ty_37, + pub aggref: ExprEvalStep__bindgen_ty_1__bindgen_ty_38, + pub grouping_func: ExprEvalStep__bindgen_ty_1__bindgen_ty_39, + pub window_func: ExprEvalStep__bindgen_ty_1__bindgen_ty_40, + pub subplan: ExprEvalStep__bindgen_ty_1__bindgen_ty_41, + pub agg_deserialize: ExprEvalStep__bindgen_ty_1__bindgen_ty_42, + pub agg_strict_input_check: ExprEvalStep__bindgen_ty_1__bindgen_ty_43, + pub agg_plain_pergroup_nullcheck: ExprEvalStep__bindgen_ty_1__bindgen_ty_44, + pub agg_presorted_distinctcheck: ExprEvalStep__bindgen_ty_1__bindgen_ty_45, + pub agg_trans: ExprEvalStep__bindgen_ty_1__bindgen_ty_46, + pub is_json: ExprEvalStep__bindgen_ty_1__bindgen_ty_47, + pub jsonexpr: ExprEvalStep__bindgen_ty_1__bindgen_ty_48, + pub jsonexpr_coercion: ExprEvalStep__bindgen_ty_1__bindgen_ty_49, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_1 { + pub last_var: ::core::ffi::c_int, + pub fixed: bool, + pub known_desc: TupleDesc, + pub kind: *const TupleTableSlotOps, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_2 { + pub attnum: ::core::ffi::c_int, + pub vartype: Oid, + pub varreturningtype: VarReturningType::Type, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_2 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_3 { + pub var: *mut Var, + pub first: bool, + pub slow: bool, + pub tupdesc: TupleDesc, + pub junkFilter: *mut JunkFilter, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_3 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_4 { + pub resultnum: ::core::ffi::c_int, + pub attnum: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_5 { + pub resultnum: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_6 { + pub nullflag: uint8, + pub jumpdone: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_7 { + pub value: Datum, + pub isnull: bool, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_7 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_8 { + pub finfo: *mut FmgrInfo, + pub fcinfo_data: FunctionCallInfo, + pub fn_addr: PGFunction, + pub nargs: ::core::ffi::c_int, + pub make_ro: bool, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_8 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_9 { + pub anynull: *mut bool, + pub jumpdone: ::core::ffi::c_int, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_9 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_10 { + pub jumpdone: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_11 { + pub jumpdone: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_12 { + pub rowcache: ExprEvalRowtypeCache, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_12 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_13 { + pub paramid: ::core::ffi::c_int, + pub paramtype: Oid, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_13 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_14 { + pub paramfunc: ExecEvalSubroutine, + pub paramarg: *mut ::core::ffi::c_void, + pub paramarg2: *mut ::core::ffi::c_void, + pub paramid: ::core::ffi::c_int, + pub paramtype: Oid, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_14 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_15 { + pub value: *mut Datum, + pub isnull: *mut bool, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_15 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_16 { + pub value: *mut Datum, + pub isnull: *mut bool, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_16 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_17 { + pub finfo_out: *mut FmgrInfo, + pub fcinfo_data_out: FunctionCallInfo, + pub finfo_in: *mut FmgrInfo, + pub fcinfo_data_in: FunctionCallInfo, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_17 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_18 { + pub svf: *mut SQLValueFunction, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_18 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_19 { + pub seqid: Oid, + pub seqtypid: Oid, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_19 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_20 { + pub elemvalues: *mut Datum, + pub elemnulls: *mut bool, + pub nelems: ::core::ffi::c_int, + pub elemtype: Oid, + pub elemlength: int16, + pub elembyval: bool, + pub elemalign: ::core::ffi::c_char, + pub multidims: bool, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_20 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_21 { + pub elemexprstate: *mut ExprState, + pub resultelemtype: Oid, + pub amstate: *mut ArrayMapState, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_21 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_22 { + pub tupdesc: TupleDesc, + pub elemvalues: *mut Datum, + pub elemnulls: *mut bool, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_22 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_23 { + pub finfo: *mut FmgrInfo, + pub fcinfo_data: FunctionCallInfo, + pub fn_addr: PGFunction, + pub jumpnull: ::core::ffi::c_int, + pub jumpdone: ::core::ffi::c_int, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_23 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_24 { + pub cmptype: CompareType::Type, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_24 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_25 { + pub values: *mut Datum, + pub nulls: *mut bool, + pub nelems: ::core::ffi::c_int, + pub op: MinMaxOp::Type, + pub finfo: *mut FmgrInfo, + pub fcinfo_data: FunctionCallInfo, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_25 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_26 { + pub fieldnum: AttrNumber, + pub resulttype: Oid, + pub rowcache: ExprEvalRowtypeCache, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_26 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_27 { + pub fstore: *mut FieldStore, + pub rowcache: *mut ExprEvalRowtypeCache, + pub values: *mut Datum, + pub nulls: *mut bool, + pub ncolumns: ::core::ffi::c_int, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_27 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_28 { + pub subscriptfunc: ExecEvalBoolSubroutine, + pub state: *mut SubscriptingRefState, + pub jumpdone: ::core::ffi::c_int, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_28 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_29 { + pub subscriptfunc: ExecEvalSubroutine, + pub state: *mut SubscriptingRefState, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_29 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_30 { + pub constraintname: *mut ::core::ffi::c_char, + pub checkvalue: *mut Datum, + pub checknull: *mut bool, + pub resulttype: Oid, + pub escontext: *mut ErrorSaveContext, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_30 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_31 { + pub init_value: Datum, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_31 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_32 { + pub finfo: *mut FmgrInfo, + pub fcinfo_data: FunctionCallInfo, + pub fn_addr: PGFunction, + pub jumpdone: ::core::ffi::c_int, + pub iresult: *mut NullableDatum, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_32 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_33 { + pub inputtype: Oid, + pub outputtype: Oid, + pub incache: *mut ExprEvalRowtypeCache, + pub outcache: *mut ExprEvalRowtypeCache, + pub map: *mut TupleConversionMap, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_33 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_34 { + pub element_type: Oid, + pub useOr: bool, + pub typlen: int16, + pub typbyval: bool, + pub typalign: ::core::ffi::c_char, + pub finfo: *mut FmgrInfo, + pub fcinfo_data: FunctionCallInfo, + pub fn_addr: PGFunction, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_34 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_35 { + pub has_nulls: bool, + pub inclause: bool, + pub elements_tab: *mut ScalarArrayOpExprHashTable, + pub finfo: *mut FmgrInfo, + pub fcinfo_data: FunctionCallInfo, + pub saop: *mut ScalarArrayOpExpr, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_35 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_36 { + pub xexpr: *mut XmlExpr, + pub named_argvalue: *mut Datum, + pub named_argnull: *mut bool, + pub argvalue: *mut Datum, + pub argnull: *mut bool, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_36 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_37 { + pub jcstate: *mut JsonConstructorExprState, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_37 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_38 { + pub aggno: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_39 { + pub clauses: *mut List, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_39 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_40 { + pub wfstate: *mut WindowFuncExprState, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_40 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_41 { + pub sstate: *mut SubPlanState, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_41 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_42 { + pub fcinfo_data: FunctionCallInfo, + pub jumpnull: ::core::ffi::c_int, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_42 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_43 { + pub args: *mut NullableDatum, + pub nulls: *mut bool, + pub nargs: ::core::ffi::c_int, + pub jumpnull: ::core::ffi::c_int, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_43 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_44 { + pub setoff: ::core::ffi::c_int, + pub jumpnull: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_45 { + pub pertrans: AggStatePerTrans, + pub aggcontext: *mut ExprContext, + pub jumpdistinct: ::core::ffi::c_int, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_45 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_46 { + pub pertrans: AggStatePerTrans, + pub aggcontext: *mut ExprContext, + pub setno: ::core::ffi::c_int, + pub transno: ::core::ffi::c_int, + pub setoff: ::core::ffi::c_int, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_46 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_47 { + pub pred: *mut JsonIsPredicate, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_47 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_48 { + pub jsestate: *mut JsonExprState, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_48 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_49 { + pub targettype: Oid, + pub targettypmod: int32, + pub omit_quotes: bool, + pub exists_coerce: bool, + pub exists_cast_to_int: bool, + pub exists_check_domain: bool, + pub json_coercion_cache: *mut ::core::ffi::c_void, + pub escontext: *mut ErrorSaveContext, +} +impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_49 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for ExprEvalStep__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for ExprEvalStep { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SubscriptingRefState { + pub isassignment: bool, + pub workspace: *mut ::core::ffi::c_void, + pub numupper: ::core::ffi::c_int, + pub upperprovided: *mut bool, + pub upperindex: *mut Datum, + pub upperindexnull: *mut bool, + pub numlower: ::core::ffi::c_int, + pub lowerprovided: *mut bool, + pub lowerindex: *mut Datum, + pub lowerindexnull: *mut bool, + pub replacevalue: Datum, + pub replacenull: bool, + pub prevvalue: Datum, + pub prevnull: bool, +} +impl Default for SubscriptingRefState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct SubscriptExecSteps { + pub sbs_check_subscripts: ExecEvalBoolSubroutine, + pub sbs_fetch: ExecEvalSubroutine, + pub sbs_assign: ExecEvalSubroutine, + pub sbs_fetch_old: ExecEvalSubroutine, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonConstructorExprState { + pub constructor: *mut JsonConstructorExpr, + pub arg_values: *mut Datum, + pub arg_nulls: *mut bool, + pub arg_types: *mut Oid, + pub arg_type_cache: *mut JsonConstructorExprState__bindgen_ty_1, + pub nargs: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonConstructorExprState__bindgen_ty_1 { + pub category: ::core::ffi::c_int, + pub outfuncid: Oid, +} +impl Default for JsonConstructorExprState__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for JsonConstructorExprState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod RawParseMode { + pub type Type = ::core::ffi::c_uint; + pub const RAW_PARSE_DEFAULT: Type = 0; + pub const RAW_PARSE_TYPE_NAME: Type = 1; + pub const RAW_PARSE_PLPGSQL_EXPR: Type = 2; + pub const RAW_PARSE_PLPGSQL_ASSIGN1: Type = 3; + pub const RAW_PARSE_PLPGSQL_ASSIGN2: Type = 4; + pub const RAW_PARSE_PLPGSQL_ASSIGN3: Type = 5; +} +pub mod BackslashQuoteType { + pub type Type = ::core::ffi::c_uint; + pub const BACKSLASH_QUOTE_OFF: Type = 0; + pub const BACKSLASH_QUOTE_ON: Type = 1; + pub const BACKSLASH_QUOTE_SAFE_ENCODING: Type = 2; +} +pub mod PortalStrategy { + pub type Type = ::core::ffi::c_uint; + pub const PORTAL_ONE_SELECT: Type = 0; + pub const PORTAL_ONE_RETURNING: Type = 1; + pub const PORTAL_ONE_MOD_WITH: Type = 2; + pub const PORTAL_UTIL_SELECT: Type = 3; + pub const PORTAL_MULTI_QUERY: Type = 4; +} +pub mod PortalStatus { + pub type Type = ::core::ffi::c_uint; + pub const PORTAL_NEW: Type = 0; + pub const PORTAL_DEFINED: Type = 1; + pub const PORTAL_READY: Type = 2; + pub const PORTAL_ACTIVE: Type = 3; + pub const PORTAL_DONE: Type = 4; + pub const PORTAL_FAILED: Type = 5; +} +pub type Portal = *mut PortalData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PortalData { + pub name: *const ::core::ffi::c_char, + pub prepStmtName: *const ::core::ffi::c_char, + pub portalContext: MemoryContext, + pub resowner: ResourceOwner, + pub cleanup: ::core::option::Option, + pub createSubid: SubTransactionId, + pub activeSubid: SubTransactionId, + pub createLevel: ::core::ffi::c_int, + pub sourceText: *const ::core::ffi::c_char, + pub commandTag: CommandTag::Type, + pub qc: QueryCompletion, + pub stmts: *mut List, + pub cplan: *mut CachedPlan, + pub plansource: *mut CachedPlanSource, + pub portalParams: ParamListInfo, + pub queryEnv: *mut QueryEnvironment, + pub strategy: PortalStrategy::Type, + pub cursorOptions: ::core::ffi::c_int, + pub status: PortalStatus::Type, + pub portalPinned: bool, + pub autoHeld: bool, + pub queryDesc: *mut QueryDesc, + pub tupDesc: TupleDesc, + pub formats: *mut int16, + pub portalSnapshot: Snapshot, + pub holdStore: *mut Tuplestorestate, + pub holdContext: MemoryContext, + pub holdSnapshot: Snapshot, + pub atStart: bool, + pub atEnd: bool, + pub portalPos: uint64, + pub creation_time: TimestampTz, + pub visible: bool, +} +impl Default for PortalData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SPITupleTable { + pub tupdesc: TupleDesc, + pub vals: *mut HeapTuple, + pub numvals: uint64, + pub alloced: uint64, + pub tuptabcxt: MemoryContext, + pub next: slist_node, + pub subid: SubTransactionId, +} +impl Default for SPITupleTable { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SPIPrepareOptions { + pub parserSetup: ParserSetupHook, + pub parserSetupArg: *mut ::core::ffi::c_void, + pub parseMode: RawParseMode::Type, + pub cursorOptions: ::core::ffi::c_int, +} +impl Default for SPIPrepareOptions { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SPIExecuteOptions { + pub params: ParamListInfo, + pub read_only: bool, + pub allow_nonatomic: bool, + pub must_return_tuples: bool, + pub tcount: uint64, + pub dest: *mut DestReceiver, + pub owner: ResourceOwner, +} +impl Default for SPIExecuteOptions { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SPIParseOpenOptions { + pub params: ParamListInfo, + pub cursorOptions: ::core::ffi::c_int, + pub read_only: bool, +} +impl Default for SPIParseOpenOptions { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SPI_plan { + _unused: [u8; 0], +} +pub type SPIPlanPtr = *mut _SPI_plan; +pub type Relids = *mut Bitmapset; +pub mod CostSelector { + pub type Type = ::core::ffi::c_uint; + pub const STARTUP_COST: Type = 0; + pub const TOTAL_COST: Type = 1; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct QualCost { + pub startup: Cost, + pub per_tuple: Cost, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct AggClauseCosts { + pub transCost: QualCost, + pub finalCost: QualCost, + pub transitionSpace: Size, +} +pub mod UpperRelationKind { + pub type Type = ::core::ffi::c_uint; + pub const UPPERREL_SETOP: Type = 0; + pub const UPPERREL_PARTIAL_GROUP_AGG: Type = 1; + pub const UPPERREL_GROUP_AGG: Type = 2; + pub const UPPERREL_WINDOW: Type = 3; + pub const UPPERREL_PARTIAL_DISTINCT: Type = 4; + pub const UPPERREL_DISTINCT: Type = 5; + pub const UPPERREL_ORDERED: Type = 6; + pub const UPPERREL_FINAL: Type = 7; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PlannerGlobal { + pub type_: NodeTag, + pub boundParams: ParamListInfo, + pub subplans: *mut List, + pub subpaths: *mut List, + pub subroots: *mut List, + pub rewindPlanIDs: *mut Bitmapset, + pub finalrtable: *mut List, + pub allRelids: *mut Bitmapset, + pub prunableRelids: *mut Bitmapset, + pub finalrteperminfos: *mut List, + pub finalrowmarks: *mut List, + pub resultRelations: *mut List, + pub firstResultRels: *mut List, + pub appendRelations: *mut List, + pub partPruneInfos: *mut List, + pub relationOids: *mut List, + pub invalItems: *mut List, + pub paramExecTypes: *mut List, + pub lastPHId: Index, + pub lastRowMarkId: Index, + pub lastPlanNodeId: ::core::ffi::c_int, + pub transientPlan: bool, + pub dependsOnRole: bool, + pub parallelModeOK: bool, + pub parallelModeNeeded: bool, + pub maxParallelHazard: ::core::ffi::c_char, + pub partition_directory: PartitionDirectory, +} +impl Default for PlannerGlobal { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PlannerInfo { + pub type_: NodeTag, + pub parse: *mut Query, + pub glob: *mut PlannerGlobal, + pub query_level: Index, + pub parent_root: *mut PlannerInfo, + pub plan_params: *mut List, + pub outer_params: *mut Bitmapset, + pub simple_rel_array: *mut *mut RelOptInfo, + pub simple_rel_array_size: ::core::ffi::c_int, + pub simple_rte_array: *mut *mut RangeTblEntry, + pub append_rel_array: *mut *mut AppendRelInfo, + pub all_baserels: Relids, + pub outer_join_rels: Relids, + pub all_query_rels: Relids, + pub join_rel_list: *mut List, + pub join_rel_hash: *mut HTAB, + pub join_rel_level: *mut *mut List, + pub join_cur_level: ::core::ffi::c_int, + pub init_plans: *mut List, + pub cte_plan_ids: *mut List, + pub multiexpr_params: *mut List, + pub join_domains: *mut List, + pub eq_classes: *mut List, + pub ec_merging_done: bool, + pub canon_pathkeys: *mut List, + pub left_join_clauses: *mut List, + pub right_join_clauses: *mut List, + pub full_join_clauses: *mut List, + pub join_info_list: *mut List, + pub last_rinfo_serial: ::core::ffi::c_int, + pub all_result_relids: Relids, + pub leaf_result_relids: Relids, + pub append_rel_list: *mut List, + pub row_identity_vars: *mut List, + pub rowMarks: *mut List, + pub placeholder_list: *mut List, + pub placeholder_array: *mut *mut PlaceHolderInfo, + pub placeholder_array_size: ::core::ffi::c_int, + pub fkey_list: *mut List, + pub query_pathkeys: *mut List, + pub group_pathkeys: *mut List, + pub num_groupby_pathkeys: ::core::ffi::c_int, + pub window_pathkeys: *mut List, + pub distinct_pathkeys: *mut List, + pub sort_pathkeys: *mut List, + pub setop_pathkeys: *mut List, + pub part_schemes: *mut List, + pub initial_rels: *mut List, + pub upper_rels: [*mut List; 8usize], + pub upper_targets: [*mut PathTarget; 8usize], + pub processed_groupClause: *mut List, + pub processed_distinctClause: *mut List, + pub processed_tlist: *mut List, + pub update_colnos: *mut List, + pub grouping_map: *mut AttrNumber, + pub minmax_aggs: *mut List, + pub planner_cxt: MemoryContext, + pub total_table_pages: Cardinality, + pub tuple_fraction: Selectivity, + pub limit_tuples: Cardinality, + pub qual_security_level: Index, + pub hasJoinRTEs: bool, + pub hasLateralRTEs: bool, + pub hasHavingQual: bool, + pub hasPseudoConstantQuals: bool, + pub hasAlternativeSubPlans: bool, + pub placeholdersFrozen: bool, + pub hasRecursion: bool, + pub group_rtindex: ::core::ffi::c_int, + pub agginfos: *mut List, + pub aggtransinfos: *mut List, + pub numOrderedAggs: ::core::ffi::c_int, + pub hasNonPartialAggs: bool, + pub hasNonSerialAggs: bool, + pub wt_param_id: ::core::ffi::c_int, + pub non_recursive_path: *mut Path, + pub curOuterRels: Relids, + pub curOuterParams: *mut List, + pub isAltSubplan: *mut bool, + pub isUsedSubplan: *mut bool, + pub join_search_private: *mut ::core::ffi::c_void, + pub partColsUpdated: bool, + pub partPruneInfos: *mut List, +} +impl Default for PlannerInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionSchemeData { + pub strategy: ::core::ffi::c_char, + pub partnatts: int16, + pub partopfamily: *mut Oid, + pub partopcintype: *mut Oid, + pub partcollation: *mut Oid, + pub parttyplen: *mut int16, + pub parttypbyval: *mut bool, + pub partsupfunc: *mut FmgrInfo, +} +impl Default for PartitionSchemeData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type PartitionScheme = *mut PartitionSchemeData; +pub mod RelOptKind { + pub type Type = ::core::ffi::c_uint; + pub const RELOPT_BASEREL: Type = 0; + pub const RELOPT_JOINREL: Type = 1; + pub const RELOPT_OTHER_MEMBER_REL: Type = 2; + pub const RELOPT_OTHER_JOINREL: Type = 3; + pub const RELOPT_UPPER_REL: Type = 4; + pub const RELOPT_OTHER_UPPER_REL: Type = 5; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RelOptInfo { + pub type_: NodeTag, + pub reloptkind: RelOptKind::Type, + pub relids: Relids, + pub rows: Cardinality, + pub consider_startup: bool, + pub consider_param_startup: bool, + pub consider_parallel: bool, + pub reltarget: *mut PathTarget, + pub pathlist: *mut List, + pub ppilist: *mut List, + pub partial_pathlist: *mut List, + pub cheapest_startup_path: *mut Path, + pub cheapest_total_path: *mut Path, + pub cheapest_unique_path: *mut Path, + pub cheapest_parameterized_paths: *mut List, + pub direct_lateral_relids: Relids, + pub lateral_relids: Relids, + pub relid: Index, + pub reltablespace: Oid, + pub rtekind: RTEKind::Type, + pub min_attr: AttrNumber, + pub max_attr: AttrNumber, + pub attr_needed: *mut Relids, + pub attr_widths: *mut int32, + pub notnullattnums: *mut Bitmapset, + pub nulling_relids: Relids, + pub lateral_vars: *mut List, + pub lateral_referencers: Relids, + pub indexlist: *mut List, + pub statlist: *mut List, + pub pages: BlockNumber, + pub tuples: Cardinality, + pub allvisfrac: f64, + pub eclass_indexes: *mut Bitmapset, + pub subroot: *mut PlannerInfo, + pub subplan_params: *mut List, + pub rel_parallel_workers: ::core::ffi::c_int, + pub amflags: uint32, + pub serverid: Oid, + pub userid: Oid, + pub useridiscurrent: bool, + pub fdwroutine: *mut FdwRoutine, + pub fdw_private: *mut ::core::ffi::c_void, + pub unique_for_rels: *mut List, + pub non_unique_for_rels: *mut List, + pub baserestrictinfo: *mut List, + pub baserestrictcost: QualCost, + pub baserestrict_min_security: Index, + pub joininfo: *mut List, + pub has_eclass_joins: bool, + pub consider_partitionwise_join: bool, + pub parent: *mut RelOptInfo, + pub top_parent: *mut RelOptInfo, + pub top_parent_relids: Relids, + pub part_scheme: PartitionScheme, + pub nparts: ::core::ffi::c_int, + pub boundinfo: *mut PartitionBoundInfoData, + pub partbounds_merged: bool, + pub partition_qual: *mut List, + pub part_rels: *mut *mut RelOptInfo, + pub live_parts: *mut Bitmapset, + pub all_partrels: Relids, + pub partexprs: *mut *mut List, + pub nullable_partexprs: *mut *mut List, +} +impl Default for RelOptInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexOptInfo { + pub type_: NodeTag, + pub indexoid: Oid, + pub reltablespace: Oid, + pub rel: *mut RelOptInfo, + pub pages: BlockNumber, + pub tuples: Cardinality, + pub tree_height: ::core::ffi::c_int, + pub ncolumns: ::core::ffi::c_int, + pub nkeycolumns: ::core::ffi::c_int, + pub indexkeys: *mut ::core::ffi::c_int, + pub indexcollations: *mut Oid, + pub opfamily: *mut Oid, + pub opcintype: *mut Oid, + pub sortopfamily: *mut Oid, + pub reverse_sort: *mut bool, + pub nulls_first: *mut bool, + pub opclassoptions: *mut *mut bytea, + pub canreturn: *mut bool, + pub relam: Oid, + pub indexprs: *mut List, + pub indpred: *mut List, + pub indextlist: *mut List, + pub indrestrictinfo: *mut List, + pub predOK: bool, + pub unique: bool, + pub nullsnotdistinct: bool, + pub immediate: bool, + pub hypothetical: bool, + pub amcanorderbyop: bool, + pub amoptionalkey: bool, + pub amsearcharray: bool, + pub amsearchnulls: bool, + pub amhasgettuple: bool, + pub amhasgetbitmap: bool, + pub amcanparallel: bool, + pub amcanmarkpos: bool, + pub amcostestimate: ::core::option::Option< + unsafe extern "C-unwind" fn( + arg1: *mut PlannerInfo, + arg2: *mut IndexPath, + arg3: f64, + arg4: *mut Cost, + arg5: *mut Cost, + arg6: *mut Selectivity, + arg7: *mut f64, + arg8: *mut f64, + ), + >, +} +impl Default for IndexOptInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ForeignKeyOptInfo { + pub type_: NodeTag, + pub con_relid: Index, + pub ref_relid: Index, + pub nkeys: ::core::ffi::c_int, + pub conkey: [AttrNumber; 32usize], + pub confkey: [AttrNumber; 32usize], + pub conpfeqop: [Oid; 32usize], + pub nmatched_ec: ::core::ffi::c_int, + pub nconst_ec: ::core::ffi::c_int, + pub nmatched_rcols: ::core::ffi::c_int, + pub nmatched_ri: ::core::ffi::c_int, + pub eclass: [*mut EquivalenceClass; 32usize], + pub fk_eclass_member: [*mut EquivalenceMember; 32usize], + pub rinfos: [*mut List; 32usize], +} +impl Default for ForeignKeyOptInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct StatisticExtInfo { + pub type_: NodeTag, + pub statOid: Oid, + pub inherit: bool, + pub rel: *mut RelOptInfo, + pub kind: ::core::ffi::c_char, + pub keys: *mut Bitmapset, + pub exprs: *mut List, +} +impl Default for StatisticExtInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JoinDomain { + pub type_: NodeTag, + pub jd_relids: Relids, +} +impl Default for JoinDomain { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct EquivalenceClass { + pub type_: NodeTag, + pub ec_opfamilies: *mut List, + pub ec_collation: Oid, + pub ec_childmembers_size: ::core::ffi::c_int, + pub ec_members: *mut List, + pub ec_childmembers: *mut *mut List, + pub ec_sources: *mut List, + pub ec_derives_list: *mut List, + pub ec_derives_hash: *mut derives_hash, + pub ec_relids: Relids, + pub ec_has_const: bool, + pub ec_has_volatile: bool, + pub ec_broken: bool, + pub ec_sortref: Index, + pub ec_min_security: Index, + pub ec_max_security: Index, + pub ec_merged: *mut EquivalenceClass, +} +impl Default for EquivalenceClass { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct EquivalenceMember { + pub type_: NodeTag, + pub em_expr: *mut Expr, + pub em_relids: Relids, + pub em_is_const: bool, + pub em_is_child: bool, + pub em_datatype: Oid, + pub em_jdomain: *mut JoinDomain, + pub em_parent: *mut EquivalenceMember, +} +impl Default for EquivalenceMember { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct EquivalenceMemberIterator { + pub ec: *mut EquivalenceClass, + pub current_relid: ::core::ffi::c_int, + pub child_relids: Relids, + pub current_cell: *mut ListCell, + pub current_list: *mut List, +} +impl Default for EquivalenceMemberIterator { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PathKey { + pub type_: NodeTag, + pub pk_eclass: *mut EquivalenceClass, + pub pk_opfamily: Oid, + pub pk_cmptype: CompareType::Type, + pub pk_nulls_first: bool, +} +impl Default for PathKey { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GroupByOrdering { + pub type_: NodeTag, + pub pathkeys: *mut List, + pub clauses: *mut List, +} +impl Default for GroupByOrdering { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod VolatileFunctionStatus { + pub type Type = ::core::ffi::c_uint; + pub const VOLATILITY_UNKNOWN: Type = 0; + pub const VOLATILITY_VOLATILE: Type = 1; + pub const VOLATILITY_NOVOLATILE: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PathTarget { + pub type_: NodeTag, + pub exprs: *mut List, + pub sortgrouprefs: *mut Index, + pub cost: QualCost, + pub width: ::core::ffi::c_int, + pub has_volatile_expr: VolatileFunctionStatus::Type, +} +impl Default for PathTarget { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParamPathInfo { + pub type_: NodeTag, + pub ppi_req_outer: Relids, + pub ppi_rows: Cardinality, + pub ppi_clauses: *mut List, + pub ppi_serials: *mut Bitmapset, +} +impl Default for ParamPathInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Path { + pub type_: NodeTag, + pub pathtype: NodeTag, + pub parent: *mut RelOptInfo, + pub pathtarget: *mut PathTarget, + pub param_info: *mut ParamPathInfo, + pub parallel_aware: bool, + pub parallel_safe: bool, + pub parallel_workers: ::core::ffi::c_int, + pub rows: Cardinality, + pub disabled_nodes: ::core::ffi::c_int, + pub startup_cost: Cost, + pub total_cost: Cost, + pub pathkeys: *mut List, +} +impl Default for Path { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexPath { + pub path: Path, + pub indexinfo: *mut IndexOptInfo, + pub indexclauses: *mut List, + pub indexorderbys: *mut List, + pub indexorderbycols: *mut List, + pub indexscandir: ScanDirection::Type, + pub indextotalcost: Cost, + pub indexselectivity: Selectivity, +} +impl Default for IndexPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IndexClause { + pub type_: NodeTag, + pub rinfo: *mut RestrictInfo, + pub indexquals: *mut List, + pub lossy: bool, + pub indexcol: AttrNumber, + pub indexcols: *mut List, +} +impl Default for IndexClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BitmapHeapPath { + pub path: Path, + pub bitmapqual: *mut Path, +} +impl Default for BitmapHeapPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BitmapAndPath { + pub path: Path, + pub bitmapquals: *mut List, + pub bitmapselectivity: Selectivity, +} +impl Default for BitmapAndPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BitmapOrPath { + pub path: Path, + pub bitmapquals: *mut List, + pub bitmapselectivity: Selectivity, +} +impl Default for BitmapOrPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TidPath { + pub path: Path, + pub tidquals: *mut List, +} +impl Default for TidPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TidRangePath { + pub path: Path, + pub tidrangequals: *mut List, +} +impl Default for TidRangePath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SubqueryScanPath { + pub path: Path, + pub subpath: *mut Path, +} +impl Default for SubqueryScanPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ForeignPath { + pub path: Path, + pub fdw_outerpath: *mut Path, + pub fdw_restrictinfo: *mut List, + pub fdw_private: *mut List, +} +impl Default for ForeignPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CustomPath { + pub path: Path, + pub flags: uint32, + pub custom_paths: *mut List, + pub custom_restrictinfo: *mut List, + pub custom_private: *mut List, + pub methods: *const CustomPathMethods, +} +impl Default for CustomPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AppendPath { + pub path: Path, + pub subpaths: *mut List, + pub first_partial_path: ::core::ffi::c_int, + pub limit_tuples: Cardinality, +} +impl Default for AppendPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MergeAppendPath { + pub path: Path, + pub subpaths: *mut List, + pub limit_tuples: Cardinality, +} +impl Default for MergeAppendPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GroupResultPath { + pub path: Path, + pub quals: *mut List, +} +impl Default for GroupResultPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MaterialPath { + pub path: Path, + pub subpath: *mut Path, +} +impl Default for MaterialPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MemoizePath { + pub path: Path, + pub subpath: *mut Path, + pub hash_operators: *mut List, + pub param_exprs: *mut List, + pub singlerow: bool, + pub binary_mode: bool, + pub calls: Cardinality, + pub est_entries: uint32, +} +impl Default for MemoizePath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod UniquePathMethod { + pub type Type = ::core::ffi::c_uint; + pub const UNIQUE_PATH_NOOP: Type = 0; + pub const UNIQUE_PATH_HASH: Type = 1; + pub const UNIQUE_PATH_SORT: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct UniquePath { + pub path: Path, + pub subpath: *mut Path, + pub umethod: UniquePathMethod::Type, + pub in_operators: *mut List, + pub uniq_exprs: *mut List, +} +impl Default for UniquePath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GatherPath { + pub path: Path, + pub subpath: *mut Path, + pub single_copy: bool, + pub num_workers: ::core::ffi::c_int, +} +impl Default for GatherPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GatherMergePath { + pub path: Path, + pub subpath: *mut Path, + pub num_workers: ::core::ffi::c_int, +} +impl Default for GatherMergePath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JoinPath { + pub path: Path, + pub jointype: JoinType::Type, + pub inner_unique: bool, + pub outerjoinpath: *mut Path, + pub innerjoinpath: *mut Path, + pub joinrestrictinfo: *mut List, +} +impl Default for JoinPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NestPath { + pub jpath: JoinPath, +} +impl Default for NestPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MergePath { + pub jpath: JoinPath, + pub path_mergeclauses: *mut List, + pub outersortkeys: *mut List, + pub innersortkeys: *mut List, + pub skip_mark_restore: bool, + pub materialize_inner: bool, +} +impl Default for MergePath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HashPath { + pub jpath: JoinPath, + pub path_hashclauses: *mut List, + pub num_batches: ::core::ffi::c_int, + pub inner_rows_total: Cardinality, +} +impl Default for HashPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ProjectionPath { + pub path: Path, + pub subpath: *mut Path, + pub dummypp: bool, +} +impl Default for ProjectionPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ProjectSetPath { + pub path: Path, + pub subpath: *mut Path, +} +impl Default for ProjectSetPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SortPath { + pub path: Path, + pub subpath: *mut Path, +} +impl Default for SortPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IncrementalSortPath { + pub spath: SortPath, + pub nPresortedCols: ::core::ffi::c_int, +} +impl Default for IncrementalSortPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GroupPath { + pub path: Path, + pub subpath: *mut Path, + pub groupClause: *mut List, + pub qual: *mut List, +} +impl Default for GroupPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct UpperUniquePath { + pub path: Path, + pub subpath: *mut Path, + pub numkeys: ::core::ffi::c_int, +} +impl Default for UpperUniquePath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AggPath { + pub path: Path, + pub subpath: *mut Path, + pub aggstrategy: AggStrategy::Type, + pub aggsplit: AggSplit::Type, + pub numGroups: Cardinality, + pub transitionSpace: uint64, + pub groupClause: *mut List, + pub qual: *mut List, +} +impl Default for AggPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GroupingSetData { + pub type_: NodeTag, + pub set: *mut List, + pub numGroups: Cardinality, +} +impl Default for GroupingSetData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RollupData { + pub type_: NodeTag, + pub groupClause: *mut List, + pub gsets: *mut List, + pub gsets_data: *mut List, + pub numGroups: Cardinality, + pub hashable: bool, + pub is_hashed: bool, +} +impl Default for RollupData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GroupingSetsPath { + pub path: Path, + pub subpath: *mut Path, + pub aggstrategy: AggStrategy::Type, + pub rollups: *mut List, + pub qual: *mut List, + pub transitionSpace: uint64, +} +impl Default for GroupingSetsPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MinMaxAggPath { + pub path: Path, + pub mmaggregates: *mut List, + pub quals: *mut List, +} +impl Default for MinMaxAggPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WindowAggPath { + pub path: Path, + pub subpath: *mut Path, + pub winclause: *mut WindowClause, + pub qual: *mut List, + pub runCondition: *mut List, + pub topwindow: bool, +} +impl Default for WindowAggPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SetOpPath { + pub path: Path, + pub leftpath: *mut Path, + pub rightpath: *mut Path, + pub cmd: SetOpCmd::Type, + pub strategy: SetOpStrategy::Type, + pub groupList: *mut List, + pub numGroups: Cardinality, +} +impl Default for SetOpPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RecursiveUnionPath { + pub path: Path, + pub leftpath: *mut Path, + pub rightpath: *mut Path, + pub distinctList: *mut List, + pub wtParam: ::core::ffi::c_int, + pub numGroups: Cardinality, +} +impl Default for RecursiveUnionPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LockRowsPath { + pub path: Path, + pub subpath: *mut Path, + pub rowMarks: *mut List, + pub epqParam: ::core::ffi::c_int, +} +impl Default for LockRowsPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ModifyTablePath { + pub path: Path, + pub subpath: *mut Path, + pub operation: CmdType::Type, + 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 rowMarks: *mut List, + pub onconflict: *mut OnConflictExpr, + pub epqParam: ::core::ffi::c_int, + pub mergeActionLists: *mut List, + pub mergeJoinConditions: *mut List, +} +impl Default for ModifyTablePath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LimitPath { + pub path: Path, + pub subpath: *mut Path, + pub limitOffset: *mut Node, + pub limitCount: *mut Node, + pub limitOption: LimitOption::Type, +} +impl Default for LimitPath { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RestrictInfo { + pub type_: NodeTag, + pub clause: *mut Expr, + pub is_pushed_down: bool, + pub can_join: bool, + pub pseudoconstant: bool, + pub has_clone: bool, + pub is_clone: bool, + pub leakproof: bool, + pub has_volatile: VolatileFunctionStatus::Type, + pub security_level: Index, + pub num_base_rels: ::core::ffi::c_int, + pub clause_relids: Relids, + pub required_relids: Relids, + pub incompatible_relids: Relids, + pub outer_relids: Relids, + pub left_relids: Relids, + pub right_relids: Relids, + pub orclause: *mut Expr, + pub rinfo_serial: ::core::ffi::c_int, + pub parent_ec: *mut EquivalenceClass, + pub eval_cost: QualCost, + pub norm_selec: Selectivity, + pub outer_selec: Selectivity, + pub mergeopfamilies: *mut List, + pub left_ec: *mut EquivalenceClass, + pub right_ec: *mut EquivalenceClass, + pub left_em: *mut EquivalenceMember, + pub right_em: *mut EquivalenceMember, + pub scansel_cache: *mut List, + pub outer_is_left: bool, + pub hashjoinoperator: Oid, + pub left_bucketsize: Selectivity, + pub right_bucketsize: Selectivity, + pub left_mcvfreq: Selectivity, + pub right_mcvfreq: Selectivity, + pub left_hasheqoperator: Oid, + pub right_hasheqoperator: Oid, +} +impl Default for RestrictInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MergeScanSelCache { + pub opfamily: Oid, + pub collation: Oid, + pub cmptype: CompareType::Type, + pub nulls_first: bool, + pub leftstartsel: Selectivity, + pub leftendsel: Selectivity, + pub rightstartsel: Selectivity, + pub rightendsel: Selectivity, +} +impl Default for MergeScanSelCache { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PlaceHolderVar { + pub xpr: Expr, + pub phexpr: *mut Expr, + pub phrels: Relids, + pub phnullingrels: Relids, + pub phid: Index, + pub phlevelsup: Index, +} +impl Default for PlaceHolderVar { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SpecialJoinInfo { + pub type_: NodeTag, + pub min_lefthand: Relids, + pub min_righthand: Relids, + pub syn_lefthand: Relids, + pub syn_righthand: Relids, + pub jointype: JoinType::Type, + pub ojrelid: Index, + pub commute_above_l: Relids, + pub commute_above_r: Relids, + pub commute_below_l: Relids, + pub commute_below_r: Relids, + pub lhs_strict: bool, + pub semi_can_btree: bool, + pub semi_can_hash: bool, + pub semi_operators: *mut List, + pub semi_rhs_exprs: *mut List, +} +impl Default for SpecialJoinInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OuterJoinClauseInfo { + pub type_: NodeTag, + pub rinfo: *mut RestrictInfo, + pub sjinfo: *mut SpecialJoinInfo, +} +impl Default for OuterJoinClauseInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AppendRelInfo { + pub type_: NodeTag, + pub parent_relid: Index, + pub child_relid: Index, + pub parent_reltype: Oid, + pub child_reltype: Oid, + pub translated_vars: *mut List, + pub num_child_cols: ::core::ffi::c_int, + pub parent_colnos: *mut AttrNumber, + pub parent_reloid: Oid, +} +impl Default for AppendRelInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RowIdentityVarInfo { + pub type_: NodeTag, + pub rowidvar: *mut Var, + pub rowidwidth: int32, + pub rowidname: *mut ::core::ffi::c_char, + pub rowidrels: Relids, +} +impl Default for RowIdentityVarInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PlaceHolderInfo { + pub type_: NodeTag, + pub phid: Index, + pub ph_var: *mut PlaceHolderVar, + pub ph_eval_at: Relids, + pub ph_lateral: Relids, + pub ph_needed: Relids, + pub ph_width: int32, +} +impl Default for PlaceHolderInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MinMaxAggInfo { + pub type_: NodeTag, + pub aggfnoid: Oid, + pub aggsortop: Oid, + pub target: *mut Expr, + pub subroot: *mut PlannerInfo, + pub path: *mut Path, + pub pathcost: Cost, + pub param: *mut Param, +} +impl Default for MinMaxAggInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PlannerParamItem { + pub type_: NodeTag, + pub item: *mut Node, + pub paramId: ::core::ffi::c_int, +} +impl Default for PlannerParamItem { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct SemiAntiJoinFactors { + pub outer_match_frac: Selectivity, + pub match_count: Selectivity, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JoinPathExtraData { + pub restrictlist: *mut List, + pub mergeclause_list: *mut List, + pub inner_unique: bool, + pub sjinfo: *mut SpecialJoinInfo, + pub semifactors: SemiAntiJoinFactors, + pub param_source_rels: Relids, +} +impl Default for JoinPathExtraData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod PartitionwiseAggregateType { + pub type Type = ::core::ffi::c_uint; + pub const PARTITIONWISE_AGGREGATE_NONE: Type = 0; + pub const PARTITIONWISE_AGGREGATE_FULL: Type = 1; + pub const PARTITIONWISE_AGGREGATE_PARTIAL: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GroupPathExtraData { + pub flags: ::core::ffi::c_int, + pub partial_costs_set: bool, + pub agg_partial_costs: AggClauseCosts, + pub agg_final_costs: AggClauseCosts, + pub target_parallel_safe: bool, + pub havingQual: *mut Node, + pub targetList: *mut List, + pub patype: PartitionwiseAggregateType::Type, +} +impl Default for GroupPathExtraData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct FinalPathExtraData { + pub limit_needed: bool, + pub limit_tuples: Cardinality, + pub count_est: int64, + pub offset_est: int64, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct JoinCostWorkspace { + pub disabled_nodes: ::core::ffi::c_int, + pub startup_cost: Cost, + pub total_cost: Cost, + pub run_cost: Cost, + pub inner_run_cost: Cost, + pub inner_rescan_run_cost: Cost, + pub outer_rows: Cardinality, + pub inner_rows: Cardinality, + pub outer_skip_rows: Cardinality, + pub inner_skip_rows: Cardinality, + pub numbuckets: ::core::ffi::c_int, + pub numbatches: ::core::ffi::c_int, + pub inner_rows_total: Cardinality, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AggInfo { + pub type_: NodeTag, + pub aggrefs: *mut List, + pub transno: ::core::ffi::c_int, + pub shareable: bool, + pub finalfn_oid: Oid, +} +impl Default for AggInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AggTransInfo { + pub type_: NodeTag, + pub args: *mut List, + pub aggfilter: *mut Expr, + pub transfn_oid: Oid, + pub serialfn_oid: Oid, + pub deserialfn_oid: Oid, + pub combinefn_oid: Oid, + pub aggtranstype: Oid, + pub aggtranstypmod: int32, + pub transtypeLen: ::core::ffi::c_int, + pub transtypeByVal: bool, + pub aggtransspace: int32, + pub initValue: Datum, + pub initValueIsNull: bool, +} +impl Default for AggTransInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct UniqueRelInfo { + pub type_: NodeTag, + pub outerrelids: Relids, + pub self_join: bool, + pub extra_clauses: *mut List, +} +impl Default for UniqueRelInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type GetForeignRelSize_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + foreigntableid: Oid, + ), +>; +pub type GetForeignPaths_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + foreigntableid: Oid, + ), +>; +pub type GetForeignPlan_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + foreigntableid: Oid, + best_path: *mut ForeignPath, + tlist: *mut List, + scan_clauses: *mut List, + outer_plan: *mut Plan, + ) -> *mut ForeignScan, +>; +pub type BeginForeignScan_function = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut ForeignScanState, eflags: ::core::ffi::c_int), +>; +pub type IterateForeignScan_function = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut ForeignScanState) -> *mut TupleTableSlot, +>; +pub type RecheckForeignScan_function = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut ForeignScanState, slot: *mut TupleTableSlot) -> bool, +>; +pub type ReScanForeignScan_function = + ::core::option::Option; +pub type EndForeignScan_function = + ::core::option::Option; +pub type GetForeignJoinPaths_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + joinrel: *mut RelOptInfo, + outerrel: *mut RelOptInfo, + innerrel: *mut RelOptInfo, + jointype: JoinType::Type, + extra: *mut JoinPathExtraData, + ), +>; +pub type GetForeignUpperPaths_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + stage: UpperRelationKind::Type, + input_rel: *mut RelOptInfo, + output_rel: *mut RelOptInfo, + extra: *mut ::core::ffi::c_void, + ), +>; +pub type AddForeignUpdateTargets_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + rtindex: Index, + target_rte: *mut RangeTblEntry, + target_relation: Relation, + ), +>; +pub type PlanForeignModify_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + plan: *mut ModifyTable, + resultRelation: Index, + subplan_index: ::core::ffi::c_int, + ) -> *mut List, +>; +pub type BeginForeignModify_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + mtstate: *mut ModifyTableState, + rinfo: *mut ResultRelInfo, + fdw_private: *mut List, + subplan_index: ::core::ffi::c_int, + eflags: ::core::ffi::c_int, + ), +>; +pub type ExecForeignInsert_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + estate: *mut EState, + rinfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + planSlot: *mut TupleTableSlot, + ) -> *mut TupleTableSlot, +>; +pub type ExecForeignBatchInsert_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + estate: *mut EState, + rinfo: *mut ResultRelInfo, + slots: *mut *mut TupleTableSlot, + planSlots: *mut *mut TupleTableSlot, + numSlots: *mut ::core::ffi::c_int, + ) -> *mut *mut TupleTableSlot, +>; +pub type GetForeignModifyBatchSize_function = ::core::option::Option< + unsafe extern "C-unwind" fn(rinfo: *mut ResultRelInfo) -> ::core::ffi::c_int, +>; +pub type ExecForeignUpdate_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + estate: *mut EState, + rinfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + planSlot: *mut TupleTableSlot, + ) -> *mut TupleTableSlot, +>; +pub type ExecForeignDelete_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + estate: *mut EState, + rinfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + planSlot: *mut TupleTableSlot, + ) -> *mut TupleTableSlot, +>; +pub type EndForeignModify_function = ::core::option::Option< + unsafe extern "C-unwind" fn(estate: *mut EState, rinfo: *mut ResultRelInfo), +>; +pub type BeginForeignInsert_function = ::core::option::Option< + unsafe extern "C-unwind" fn(mtstate: *mut ModifyTableState, rinfo: *mut ResultRelInfo), +>; +pub type EndForeignInsert_function = ::core::option::Option< + unsafe extern "C-unwind" fn(estate: *mut EState, rinfo: *mut ResultRelInfo), +>; +pub type IsForeignRelUpdatable_function = + ::core::option::Option ::core::ffi::c_int>; +pub type PlanDirectModify_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + plan: *mut ModifyTable, + resultRelation: Index, + subplan_index: ::core::ffi::c_int, + ) -> bool, +>; +pub type BeginDirectModify_function = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut ForeignScanState, eflags: ::core::ffi::c_int), +>; +pub type IterateDirectModify_function = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut ForeignScanState) -> *mut TupleTableSlot, +>; +pub type EndDirectModify_function = + ::core::option::Option; +pub type GetForeignRowMarkType_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + rte: *mut RangeTblEntry, + strength: LockClauseStrength::Type, + ) -> RowMarkType::Type, +>; +pub type RefetchForeignRow_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + estate: *mut EState, + erm: *mut ExecRowMark, + rowid: Datum, + slot: *mut TupleTableSlot, + updated: *mut bool, + ), +>; +pub type ExplainForeignScan_function = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut ForeignScanState, es: *mut ExplainState), +>; +pub type ExplainForeignModify_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + mtstate: *mut ModifyTableState, + rinfo: *mut ResultRelInfo, + fdw_private: *mut List, + subplan_index: ::core::ffi::c_int, + es: *mut ExplainState, + ), +>; +pub type ExplainDirectModify_function = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut ForeignScanState, es: *mut ExplainState), +>; +pub type AcquireSampleRowsFunc = ::core::option::Option< + unsafe extern "C-unwind" fn( + relation: Relation, + elevel: ::core::ffi::c_int, + rows: *mut HeapTuple, + targrows: ::core::ffi::c_int, + totalrows: *mut f64, + totaldeadrows: *mut f64, + ) -> ::core::ffi::c_int, +>; +pub type AnalyzeForeignTable_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + relation: Relation, + func: *mut AcquireSampleRowsFunc, + totalpages: *mut BlockNumber, + ) -> bool, +>; +pub type ImportForeignSchema_function = ::core::option::Option< + unsafe extern "C-unwind" fn(stmt: *mut ImportForeignSchemaStmt, serverOid: Oid) -> *mut List, +>; +pub type ExecForeignTruncate_function = ::core::option::Option< + unsafe extern "C-unwind" fn(rels: *mut List, behavior: DropBehavior::Type, restart_seqs: bool), +>; +pub type EstimateDSMForeignScan_function = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut ForeignScanState, pcxt: *mut ParallelContext) -> Size, +>; +pub type InitializeDSMForeignScan_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + node: *mut ForeignScanState, + pcxt: *mut ParallelContext, + coordinate: *mut ::core::ffi::c_void, + ), +>; +pub type ReInitializeDSMForeignScan_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + node: *mut ForeignScanState, + pcxt: *mut ParallelContext, + coordinate: *mut ::core::ffi::c_void, + ), +>; +pub type InitializeWorkerForeignScan_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + node: *mut ForeignScanState, + toc: *mut shm_toc, + coordinate: *mut ::core::ffi::c_void, + ), +>; +pub type ShutdownForeignScan_function = + ::core::option::Option; +pub type IsForeignScanParallelSafe_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + rte: *mut RangeTblEntry, + ) -> bool, +>; +pub type ReparameterizeForeignPathByChild_function = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + fdw_private: *mut List, + child_rel: *mut RelOptInfo, + ) -> *mut List, +>; +pub type IsForeignPathAsyncCapable_function = + ::core::option::Option bool>; +pub type ForeignAsyncRequest_function = + ::core::option::Option; +pub type ForeignAsyncConfigureWait_function = + ::core::option::Option; +pub type ForeignAsyncNotify_function = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FdwRoutine { + pub type_: NodeTag, + pub GetForeignRelSize: GetForeignRelSize_function, + pub GetForeignPaths: GetForeignPaths_function, + pub GetForeignPlan: GetForeignPlan_function, + pub BeginForeignScan: BeginForeignScan_function, + pub IterateForeignScan: IterateForeignScan_function, + pub ReScanForeignScan: ReScanForeignScan_function, + pub EndForeignScan: EndForeignScan_function, + pub GetForeignJoinPaths: GetForeignJoinPaths_function, + pub GetForeignUpperPaths: GetForeignUpperPaths_function, + pub AddForeignUpdateTargets: AddForeignUpdateTargets_function, + pub PlanForeignModify: PlanForeignModify_function, + pub BeginForeignModify: BeginForeignModify_function, + pub ExecForeignInsert: ExecForeignInsert_function, + pub ExecForeignBatchInsert: ExecForeignBatchInsert_function, + pub GetForeignModifyBatchSize: GetForeignModifyBatchSize_function, + pub ExecForeignUpdate: ExecForeignUpdate_function, + pub ExecForeignDelete: ExecForeignDelete_function, + pub EndForeignModify: EndForeignModify_function, + pub BeginForeignInsert: BeginForeignInsert_function, + pub EndForeignInsert: EndForeignInsert_function, + pub IsForeignRelUpdatable: IsForeignRelUpdatable_function, + pub PlanDirectModify: PlanDirectModify_function, + pub BeginDirectModify: BeginDirectModify_function, + pub IterateDirectModify: IterateDirectModify_function, + pub EndDirectModify: EndDirectModify_function, + pub GetForeignRowMarkType: GetForeignRowMarkType_function, + pub RefetchForeignRow: RefetchForeignRow_function, + pub RecheckForeignScan: RecheckForeignScan_function, + pub ExplainForeignScan: ExplainForeignScan_function, + pub ExplainForeignModify: ExplainForeignModify_function, + pub ExplainDirectModify: ExplainDirectModify_function, + pub AnalyzeForeignTable: AnalyzeForeignTable_function, + pub ImportForeignSchema: ImportForeignSchema_function, + pub ExecForeignTruncate: ExecForeignTruncate_function, + pub IsForeignScanParallelSafe: IsForeignScanParallelSafe_function, + pub EstimateDSMForeignScan: EstimateDSMForeignScan_function, + pub InitializeDSMForeignScan: InitializeDSMForeignScan_function, + pub ReInitializeDSMForeignScan: ReInitializeDSMForeignScan_function, + pub InitializeWorkerForeignScan: InitializeWorkerForeignScan_function, + pub ShutdownForeignScan: ShutdownForeignScan_function, + pub ReparameterizeForeignPathByChild: ReparameterizeForeignPathByChild_function, + pub IsForeignPathAsyncCapable: IsForeignPathAsyncCapable_function, + pub ForeignAsyncRequest: ForeignAsyncRequest_function, + pub ForeignAsyncConfigureWait: ForeignAsyncConfigureWait_function, + pub ForeignAsyncNotify: ForeignAsyncNotify_function, +} +impl Default for FdwRoutine { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ForeignDataWrapper { + pub fdwid: Oid, + pub owner: Oid, + pub fdwname: *mut ::core::ffi::c_char, + pub fdwhandler: Oid, + pub fdwvalidator: Oid, + pub options: *mut List, +} +impl Default for ForeignDataWrapper { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ForeignServer { + pub serverid: Oid, + pub fdwid: Oid, + pub owner: Oid, + pub servername: *mut ::core::ffi::c_char, + pub servertype: *mut ::core::ffi::c_char, + pub serverversion: *mut ::core::ffi::c_char, + pub options: *mut List, +} +impl Default for ForeignServer { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct UserMapping { + pub umid: Oid, + pub userid: Oid, + pub serverid: Oid, + pub options: *mut List, +} +impl Default for UserMapping { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ForeignTable { + pub relid: Oid, + pub serverid: Oid, + pub options: *mut List, +} +impl Default for ForeignTable { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct JitInstrumentation { + pub created_functions: usize, + pub generation_counter: instr_time, + pub deform_counter: instr_time, + pub inlining_counter: instr_time, + pub optimization_counter: instr_time, + pub emission_counter: instr_time, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct SharedJitInstrumentation { + pub num_workers: ::core::ffi::c_int, + pub jit_instr: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct JitContext { + pub flags: ::core::ffi::c_int, + pub instr: JitInstrumentation, +} +pub type JitProviderInit = + ::core::option::Option; +pub type JitProviderResetAfterErrorCB = ::core::option::Option; +pub type JitProviderReleaseContextCB = + ::core::option::Option; +pub type JitProviderCompileExprCB = + ::core::option::Option bool>; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct JitProviderCallbacks { + pub reset_after_error: JitProviderResetAfterErrorCB, + pub release_context: JitProviderReleaseContextCB, + pub compile_expr: JitProviderCompileExprCB, +} +pub type pg_wchar = ::core::ffi::c_uint; +pub mod pg_enc { + pub type Type = ::core::ffi::c_uint; + pub const PG_SQL_ASCII: Type = 0; + pub const PG_EUC_JP: Type = 1; + pub const PG_EUC_CN: Type = 2; + pub const PG_EUC_KR: Type = 3; + pub const PG_EUC_TW: Type = 4; + pub const PG_EUC_JIS_2004: Type = 5; + pub const PG_UTF8: Type = 6; + pub const PG_MULE_INTERNAL: Type = 7; + pub const PG_LATIN1: Type = 8; + pub const PG_LATIN2: Type = 9; + pub const PG_LATIN3: Type = 10; + pub const PG_LATIN4: Type = 11; + pub const PG_LATIN5: Type = 12; + pub const PG_LATIN6: Type = 13; + pub const PG_LATIN7: Type = 14; + pub const PG_LATIN8: Type = 15; + pub const PG_LATIN9: Type = 16; + pub const PG_LATIN10: Type = 17; + pub const PG_WIN1256: Type = 18; + pub const PG_WIN1258: Type = 19; + pub const PG_WIN866: Type = 20; + pub const PG_WIN874: Type = 21; + pub const PG_KOI8R: Type = 22; + pub const PG_WIN1251: Type = 23; + pub const PG_WIN1252: Type = 24; + pub const PG_ISO_8859_5: Type = 25; + pub const PG_ISO_8859_6: Type = 26; + pub const PG_ISO_8859_7: Type = 27; + pub const PG_ISO_8859_8: Type = 28; + pub const PG_WIN1250: Type = 29; + pub const PG_WIN1253: Type = 30; + pub const PG_WIN1254: Type = 31; + pub const PG_WIN1255: Type = 32; + pub const PG_WIN1257: Type = 33; + pub const PG_KOI8U: Type = 34; + pub const PG_SJIS: Type = 35; + pub const PG_BIG5: Type = 36; + pub const PG_GBK: Type = 37; + pub const PG_UHC: Type = 38; + pub const PG_GB18030: Type = 39; + pub const PG_JOHAB: Type = 40; + pub const PG_SHIFT_JIS_2004: Type = 41; + pub const _PG_LAST_ENCODING_: Type = 42; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pg_enc2name { + pub name: *const ::core::ffi::c_char, + pub encoding: pg_enc::Type, +} +impl Default for pg_enc2name { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type mb2wchar_with_len_converter = ::core::option::Option< + unsafe extern "C-unwind" fn( + from: *const ::core::ffi::c_uchar, + to: *mut pg_wchar, + len: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, +>; +pub type wchar2mb_with_len_converter = ::core::option::Option< + unsafe extern "C-unwind" fn( + from: *const pg_wchar, + to: *mut ::core::ffi::c_uchar, + len: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, +>; +pub type mblen_converter = ::core::option::Option< + unsafe extern "C-unwind" fn(mbstr: *const ::core::ffi::c_uchar) -> ::core::ffi::c_int, +>; +pub type mbdisplaylen_converter = ::core::option::Option< + unsafe extern "C-unwind" fn(mbstr: *const ::core::ffi::c_uchar) -> ::core::ffi::c_int, +>; +pub type mbcharacter_incrementer = ::core::option::Option< + unsafe extern "C-unwind" fn(mbstr: *mut ::core::ffi::c_uchar, len: ::core::ffi::c_int) -> bool, +>; +pub type mbchar_verifier = ::core::option::Option< + unsafe extern "C-unwind" fn( + mbstr: *const ::core::ffi::c_uchar, + len: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, +>; +pub type mbstr_verifier = ::core::option::Option< + unsafe extern "C-unwind" fn( + mbstr: *const ::core::ffi::c_uchar, + len: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct pg_wchar_tbl { + pub mb2wchar_with_len: mb2wchar_with_len_converter, + pub wchar2mb_with_len: wchar2mb_with_len_converter, + pub mblen: mblen_converter, + pub dsplen: mbdisplaylen_converter, + pub mbverifychar: mbchar_verifier, + pub mbverifystr: mbstr_verifier, + pub maxmblen: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pg_mb_radix_tree { + pub chars16: *const uint16, + pub chars32: *const uint32, + pub b1root: uint32, + pub b1_lower: uint8, + pub b1_upper: uint8, + pub b2root: uint32, + pub b2_1_lower: uint8, + pub b2_1_upper: uint8, + pub b2_2_lower: uint8, + pub b2_2_upper: uint8, + pub b3root: uint32, + pub b3_1_lower: uint8, + pub b3_1_upper: uint8, + pub b3_2_lower: uint8, + pub b3_2_upper: uint8, + pub b3_3_lower: uint8, + pub b3_3_upper: uint8, + pub b4root: uint32, + pub b4_1_lower: uint8, + pub b4_1_upper: uint8, + pub b4_2_lower: uint8, + pub b4_2_upper: uint8, + pub b4_3_lower: uint8, + pub b4_3_upper: uint8, + pub b4_4_lower: uint8, + pub b4_4_upper: uint8, +} +impl Default for pg_mb_radix_tree { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct pg_utf_to_local_combined { + pub utf1: uint32, + pub utf2: uint32, + pub code: uint32, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct pg_local_to_utf_combined { + pub code: uint32, + pub utf1: uint32, + pub utf2: uint32, +} +pub type utf_local_conversion_func = + ::core::option::Option uint32>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExtensibleNode { + pub type_: NodeTag, + pub extnodename: *const ::core::ffi::c_char, +} +impl Default for ExtensibleNode { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExtensibleNodeMethods { + pub extnodename: *const ::core::ffi::c_char, + pub node_size: Size, + pub nodeCopy: ::core::option::Option< + unsafe extern "C-unwind" fn(newnode: *mut ExtensibleNode, oldnode: *const ExtensibleNode), + >, + pub nodeEqual: ::core::option::Option< + unsafe extern "C-unwind" fn(a: *const ExtensibleNode, b: *const ExtensibleNode) -> bool, + >, + pub nodeOut: ::core::option::Option< + unsafe extern "C-unwind" fn(str_: *mut StringInfoData, node: *const ExtensibleNode), + >, + pub nodeRead: ::core::option::Option, +} +impl Default for ExtensibleNodeMethods { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CustomPathMethods { + pub CustomName: *const ::core::ffi::c_char, + pub PlanCustomPath: ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + best_path: *mut CustomPath, + tlist: *mut List, + clauses: *mut List, + custom_plans: *mut List, + ) -> *mut Plan, + >, + pub ReparameterizeCustomPathByChild: ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + custom_private: *mut List, + child_rel: *mut RelOptInfo, + ) -> *mut List, + >, +} +impl Default for CustomPathMethods { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CustomScanMethods { + pub CustomName: *const ::core::ffi::c_char, + pub CreateCustomScanState: + ::core::option::Option *mut Node>, +} +impl Default for CustomScanMethods { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CustomExecMethods { + pub CustomName: *const ::core::ffi::c_char, + pub BeginCustomScan: ::core::option::Option< + unsafe extern "C-unwind" fn( + node: *mut CustomScanState, + estate: *mut EState, + eflags: ::core::ffi::c_int, + ), + >, + pub ExecCustomScan: ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut CustomScanState) -> *mut TupleTableSlot, + >, + pub EndCustomScan: + ::core::option::Option, + pub ReScanCustomScan: + ::core::option::Option, + pub MarkPosCustomScan: + ::core::option::Option, + pub RestrPosCustomScan: + ::core::option::Option, + pub EstimateDSMCustomScan: ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut CustomScanState, pcxt: *mut ParallelContext) -> Size, + >, + pub InitializeDSMCustomScan: ::core::option::Option< + unsafe extern "C-unwind" fn( + node: *mut CustomScanState, + pcxt: *mut ParallelContext, + coordinate: *mut ::core::ffi::c_void, + ), + >, + pub ReInitializeDSMCustomScan: ::core::option::Option< + unsafe extern "C-unwind" fn( + node: *mut CustomScanState, + pcxt: *mut ParallelContext, + coordinate: *mut ::core::ffi::c_void, + ), + >, + pub InitializeWorkerCustomScan: ::core::option::Option< + unsafe extern "C-unwind" fn( + node: *mut CustomScanState, + toc: *mut shm_toc, + coordinate: *mut ::core::ffi::c_void, + ), + >, + pub ShutdownCustomScan: + ::core::option::Option, + pub ExplainCustomScan: ::core::option::Option< + unsafe extern "C-unwind" fn( + node: *mut CustomScanState, + ancestors: *mut List, + es: *mut ExplainState, + ), + >, +} +impl Default for CustomExecMethods { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type check_function_callback = ::core::option::Option< + unsafe extern "C-unwind" fn(func_id: Oid, context: *mut ::core::ffi::c_void) -> bool, +>; +pub type tree_walker_callback = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut Node, context: *mut ::core::ffi::c_void) -> bool, +>; +pub type planstate_tree_walker_callback = ::core::option::Option< + unsafe extern "C-unwind" fn( + planstate: *mut PlanState, + context: *mut ::core::ffi::c_void, + ) -> bool, +>; +pub type tree_mutator_callback = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut Node, context: *mut ::core::ffi::c_void) -> *mut Node, +>; +pub mod ReplicationKind { + pub type Type = ::core::ffi::c_uint; + pub const REPLICATION_KIND_PHYSICAL: Type = 0; + pub const REPLICATION_KIND_LOGICAL: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IdentifySystemCmd { + pub type_: NodeTag, +} +impl Default for IdentifySystemCmd { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BaseBackupCmd { + pub type_: NodeTag, + pub options: *mut List, +} +impl Default for BaseBackupCmd { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CreateReplicationSlotCmd { + pub type_: NodeTag, + pub slotname: *mut ::core::ffi::c_char, + pub kind: ReplicationKind::Type, + pub plugin: *mut ::core::ffi::c_char, + pub temporary: bool, + pub options: *mut List, +} +impl Default for CreateReplicationSlotCmd { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DropReplicationSlotCmd { + pub type_: NodeTag, + pub slotname: *mut ::core::ffi::c_char, + pub wait: bool, +} +impl Default for DropReplicationSlotCmd { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterReplicationSlotCmd { + pub type_: NodeTag, + pub slotname: *mut ::core::ffi::c_char, + pub options: *mut List, +} +impl Default for AlterReplicationSlotCmd { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct StartReplicationCmd { + pub type_: NodeTag, + pub kind: ReplicationKind::Type, + pub slotname: *mut ::core::ffi::c_char, + pub timeline: TimeLineID, + pub startpoint: XLogRecPtr, + pub options: *mut List, +} +impl Default for StartReplicationCmd { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReadReplicationSlotCmd { + pub type_: NodeTag, + pub slotname: *mut ::core::ffi::c_char, +} +impl Default for ReadReplicationSlotCmd { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TimeLineHistoryCmd { + pub type_: NodeTag, + pub timeline: TimeLineID, +} +impl Default for TimeLineHistoryCmd { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct UploadManifestCmd { + pub type_: NodeTag, +} +impl Default for UploadManifestCmd { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type SubscriptTransform = ::core::option::Option< + unsafe extern "C-unwind" fn( + sbsref: *mut SubscriptingRef, + indirection: *mut List, + pstate: *mut ParseState, + isSlice: bool, + isAssignment: bool, + ), +>; +pub type SubscriptExecSetup = ::core::option::Option< + unsafe extern "C-unwind" fn( + sbsref: *const SubscriptingRef, + sbsrefstate: *mut SubscriptingRefState, + methods: *mut SubscriptExecSteps, + ), +>; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct SubscriptRoutines { + pub transform: SubscriptTransform, + pub exec_setup: SubscriptExecSetup, + pub fetch_strict: bool, + pub fetch_leakproof: bool, + pub store_leakproof: bool, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SupportRequestSimplify { + pub type_: NodeTag, + pub root: *mut PlannerInfo, + pub fcall: *mut FuncExpr, +} +impl Default for SupportRequestSimplify { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SupportRequestSelectivity { + pub type_: NodeTag, + pub root: *mut PlannerInfo, + pub funcid: Oid, + pub args: *mut List, + pub inputcollid: Oid, + pub is_join: bool, + pub varRelid: ::core::ffi::c_int, + pub jointype: JoinType::Type, + pub sjinfo: *mut SpecialJoinInfo, + pub selectivity: Selectivity, +} +impl Default for SupportRequestSelectivity { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SupportRequestCost { + pub type_: NodeTag, + pub root: *mut PlannerInfo, + pub funcid: Oid, + pub node: *mut Node, + pub startup: Cost, + pub per_tuple: Cost, +} +impl Default for SupportRequestCost { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SupportRequestRows { + pub type_: NodeTag, + pub root: *mut PlannerInfo, + pub funcid: Oid, + pub node: *mut Node, + pub rows: f64, +} +impl Default for SupportRequestRows { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SupportRequestIndexCondition { + pub type_: NodeTag, + pub root: *mut PlannerInfo, + pub funcid: Oid, + pub node: *mut Node, + pub indexarg: ::core::ffi::c_int, + pub index: *mut IndexOptInfo, + pub indexcol: ::core::ffi::c_int, + pub opfamily: Oid, + pub indexcollation: Oid, + pub lossy: bool, +} +impl Default for SupportRequestIndexCondition { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SupportRequestWFuncMonotonic { + pub type_: NodeTag, + pub window_func: *mut WindowFunc, + pub window_clause: *mut WindowClause, + pub monotonic: MonotonicFunction::Type, +} +impl Default for SupportRequestWFuncMonotonic { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SupportRequestOptimizeWindowClause { + pub type_: NodeTag, + pub window_func: *mut WindowFunc, + pub window_clause: *mut WindowClause, + pub frameOptions: ::core::ffi::c_int, +} +impl Default for SupportRequestOptimizeWindowClause { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SupportRequestModifyInPlace { + pub type_: NodeTag, + pub funcid: Oid, + pub args: *mut List, + pub paramid: ::core::ffi::c_int, +} +impl Default for SupportRequestModifyInPlace { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WindowFuncLists { + pub numWindowFuncs: ::core::ffi::c_int, + pub maxWinRef: Index, + pub windowFuncs: *mut *mut List, +} +impl Default for WindowFuncLists { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ConstraintExclusionType { + pub type Type = ::core::ffi::c_uint; + pub const CONSTRAINT_EXCLUSION_OFF: Type = 0; + pub const CONSTRAINT_EXCLUSION_ON: Type = 1; + pub const CONSTRAINT_EXCLUSION_PARTITION: Type = 2; +} +pub mod DebugParallelMode { + pub type Type = ::core::ffi::c_uint; + pub const DEBUG_PARALLEL_OFF: Type = 0; + pub const DEBUG_PARALLEL_ON: Type = 1; + pub const DEBUG_PARALLEL_REGRESS: Type = 2; +} +pub type set_rel_pathlist_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + rti: Index, + rte: *mut RangeTblEntry, + ), +>; +pub type set_join_pathlist_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + joinrel: *mut RelOptInfo, + outerrel: *mut RelOptInfo, + innerrel: *mut RelOptInfo, + jointype: JoinType::Type, + extra: *mut JoinPathExtraData, + ), +>; +pub type join_search_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + levels_needed: ::core::ffi::c_int, + initial_rels: *mut List, + ) -> *mut RelOptInfo, +>; +pub type ec_matches_callback_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + ec: *mut EquivalenceClass, + em: *mut EquivalenceMember, + arg: *mut ::core::ffi::c_void, + ) -> bool, +>; +pub mod PathKeysComparison { + pub type Type = ::core::ffi::c_uint; + pub const PATHKEYS_EQUAL: Type = 0; + pub const PATHKEYS_BETTER1: Type = 1; + pub const PATHKEYS_BETTER2: Type = 2; + pub const PATHKEYS_DIFFERENT: Type = 3; +} +pub type get_relation_info_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + relationObjectId: Oid, + inhparent: bool, + rel: *mut RelOptInfo, + ), +>; +pub type query_pathkeys_callback = ::core::option::Option< + unsafe extern "C-unwind" fn(root: *mut PlannerInfo, extra: *mut ::core::ffi::c_void), +>; +pub type planner_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + parse: *mut Query, + query_string: *const ::core::ffi::c_char, + cursorOptions: ::core::ffi::c_int, + boundParams: ParamListInfo, + ) -> *mut PlannedStmt, +>; +pub type create_upper_paths_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + stage: UpperRelationKind::Type, + input_rel: *mut RelOptInfo, + output_rel: *mut RelOptInfo, + extra: *mut ::core::ffi::c_void, + ), +>; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct LocationLen { + pub location: ::core::ffi::c_int, + pub length: ::core::ffi::c_int, + pub squashed: bool, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JumbleState { + pub jumble: *mut ::core::ffi::c_uchar, + pub jumble_len: Size, + pub clocations: *mut LocationLen, + pub clocations_buf_size: ::core::ffi::c_int, + pub clocations_count: ::core::ffi::c_int, + pub highest_extern_param_id: ::core::ffi::c_int, + pub pending_nulls: ::core::ffi::c_uint, + pub total_jumble_len: Size, +} +impl Default for JumbleState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod ComputeQueryIdType { + pub type Type = ::core::ffi::c_uint; + pub const COMPUTE_QUERY_ID_OFF: Type = 0; + pub const COMPUTE_QUERY_ID_ON: Type = 1; + pub const COMPUTE_QUERY_ID_AUTO: Type = 2; + pub const COMPUTE_QUERY_ID_REGRESS: Type = 3; +} +pub type post_parse_analyze_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + pstate: *mut ParseState, + query: *mut Query, + jstate: *mut JumbleState, + ), +>; +pub mod FuncDetailCode { + pub type Type = ::core::ffi::c_uint; + pub const FUNCDETAIL_NOTFOUND: Type = 0; + pub const FUNCDETAIL_MULTIPLE: Type = 1; + pub const FUNCDETAIL_NORMAL: Type = 2; + pub const FUNCDETAIL_PROCEDURE: Type = 3; + pub const FUNCDETAIL_AGGREGATE: Type = 4; + pub const FUNCDETAIL_WINDOWFUNC: Type = 5; + pub const FUNCDETAIL_COERCION: Type = 6; +} +pub type Operator = HeapTuple; +pub type Type = HeapTuple; +pub type TYPCATEGORY = ::core::ffi::c_char; +pub mod CoercionPathType { + pub type Type = ::core::ffi::c_uint; + pub const COERCION_PATH_NONE: Type = 0; + pub const COERCION_PATH_FUNC: Type = 1; + pub const COERCION_PATH_RELABELTYPE: Type = 2; + pub const COERCION_PATH_ARRAYCOERCE: Type = 3; + pub const COERCION_PATH_COERCEVIAIO: Type = 4; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionBoundInfoData { + pub strategy: PartitionStrategy::Type, + pub ndatums: ::core::ffi::c_int, + pub datums: *mut *mut Datum, + pub kind: *mut *mut PartitionRangeDatumKind::Type, + pub interleaved_parts: *mut Bitmapset, + pub nindexes: ::core::ffi::c_int, + pub indexes: *mut ::core::ffi::c_int, + pub null_index: ::core::ffi::c_int, + pub default_index: ::core::ffi::c_int, +} +impl Default for PartitionBoundInfoData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionDescData { + pub nparts: ::core::ffi::c_int, + pub detached_exist: bool, + pub oids: *mut Oid, + pub is_leaf: *mut bool, + pub boundinfo: PartitionBoundInfo, + pub last_found_datum_index: ::core::ffi::c_int, + pub last_found_part_index: ::core::ffi::c_int, + pub last_found_count: ::core::ffi::c_int, +} +impl Default for PartitionDescData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PartitionPruneContext { + pub strategy: ::core::ffi::c_char, + pub partnatts: ::core::ffi::c_int, + pub nparts: ::core::ffi::c_int, + pub boundinfo: PartitionBoundInfo, + pub partcollation: *mut Oid, + pub partsupfunc: *mut FmgrInfo, + pub stepcmpfuncs: *mut FmgrInfo, + pub ppccontext: MemoryContext, + pub planstate: *mut PlanState, + pub exprcontext: *mut ExprContext, + pub exprstates: *mut *mut ExprState, +} +impl Default for PartitionPruneContext { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExpandedRecordHeader { + pub hdr: ExpandedObjectHeader, + pub er_magic: ::core::ffi::c_int, + pub flags: ::core::ffi::c_int, + pub er_decltypeid: Oid, + pub er_typeid: Oid, + pub er_typmod: int32, + pub er_tupdesc: TupleDesc, + pub er_tupdesc_id: uint64, + pub dvalues: *mut Datum, + pub dnulls: *mut bool, + pub nfields: ::core::ffi::c_int, + pub flat_size: Size, + pub data_len: Size, + pub hoff: ::core::ffi::c_int, + pub hasnull: bool, + pub fvalue: HeapTuple, + pub fstartptr: *mut ::core::ffi::c_char, + pub fendptr: *mut ::core::ffi::c_char, + pub er_short_term_cxt: MemoryContext, + pub er_dummy_header: *mut ExpandedRecordHeader, + pub er_domaininfo: *mut ::core::ffi::c_void, + pub er_mcb: MemoryContextCallback, +} +impl Default for ExpandedRecordHeader { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExpandedRecordFieldInfo { + pub fnumber: ::core::ffi::c_int, + pub ftypeid: Oid, + pub ftypmod: int32, + pub fcollation: Oid, +} +impl Default for ExpandedRecordFieldInfo { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CachedFunctionCompileCallback = ::core::option::Option< + unsafe extern "C-unwind" fn( + fcinfo: FunctionCallInfo, + procTup: HeapTuple, + hashkey: *const CachedFunctionHashKey, + function: *mut CachedFunction, + forValidator: bool, + ), +>; +pub type CachedFunctionDeleteCallback = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CachedFunctionHashKey { + pub funcOid: Oid, + pub isTrigger: bool, + pub isEventTrigger: bool, + pub cacheEntrySize: Size, + pub trigOid: Oid, + pub inputCollation: Oid, + pub nargs: ::core::ffi::c_int, + pub callResultType: TupleDesc, + pub argtypes: [Oid; 100usize], +} +impl Default for CachedFunctionHashKey { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CachedFunction { + pub fn_hashkey: *mut CachedFunctionHashKey, + pub fn_xmin: TransactionId, + pub fn_tid: ItemPointerData, + pub dcallback: CachedFunctionDeleteCallback, + pub use_count: uint64, +} +impl Default for CachedFunction { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod PLpgSQL_nsitem_type { + pub type Type = ::core::ffi::c_uint; + pub const PLPGSQL_NSTYPE_LABEL: Type = 0; + pub const PLPGSQL_NSTYPE_VAR: Type = 1; + pub const PLPGSQL_NSTYPE_REC: Type = 2; +} +pub mod PLpgSQL_label_type { + pub type Type = ::core::ffi::c_uint; + pub const PLPGSQL_LABEL_BLOCK: Type = 0; + pub const PLPGSQL_LABEL_LOOP: Type = 1; + pub const PLPGSQL_LABEL_OTHER: Type = 2; +} +pub mod PLpgSQL_datum_type { + pub type Type = ::core::ffi::c_uint; + pub const PLPGSQL_DTYPE_VAR: Type = 0; + pub const PLPGSQL_DTYPE_ROW: Type = 1; + pub const PLPGSQL_DTYPE_REC: Type = 2; + pub const PLPGSQL_DTYPE_RECFIELD: Type = 3; + pub const PLPGSQL_DTYPE_PROMISE: Type = 4; +} +pub mod PLpgSQL_promise_type { + pub type Type = ::core::ffi::c_uint; + pub const PLPGSQL_PROMISE_NONE: Type = 0; + pub const PLPGSQL_PROMISE_TG_NAME: Type = 1; + pub const PLPGSQL_PROMISE_TG_WHEN: Type = 2; + pub const PLPGSQL_PROMISE_TG_LEVEL: Type = 3; + pub const PLPGSQL_PROMISE_TG_OP: Type = 4; + pub const PLPGSQL_PROMISE_TG_RELID: Type = 5; + pub const PLPGSQL_PROMISE_TG_TABLE_NAME: Type = 6; + pub const PLPGSQL_PROMISE_TG_TABLE_SCHEMA: Type = 7; + pub const PLPGSQL_PROMISE_TG_NARGS: Type = 8; + pub const PLPGSQL_PROMISE_TG_ARGV: Type = 9; + pub const PLPGSQL_PROMISE_TG_EVENT: Type = 10; + pub const PLPGSQL_PROMISE_TG_TAG: Type = 11; +} +pub mod PLpgSQL_type_type { + pub type Type = ::core::ffi::c_uint; + pub const PLPGSQL_TTYPE_SCALAR: Type = 0; + pub const PLPGSQL_TTYPE_REC: Type = 1; + pub const PLPGSQL_TTYPE_PSEUDO: Type = 2; +} +pub mod PLpgSQL_stmt_type { + pub type Type = ::core::ffi::c_uint; + pub const PLPGSQL_STMT_BLOCK: Type = 0; + pub const PLPGSQL_STMT_ASSIGN: Type = 1; + pub const PLPGSQL_STMT_IF: Type = 2; + pub const PLPGSQL_STMT_CASE: Type = 3; + pub const PLPGSQL_STMT_LOOP: Type = 4; + pub const PLPGSQL_STMT_WHILE: Type = 5; + pub const PLPGSQL_STMT_FORI: Type = 6; + pub const PLPGSQL_STMT_FORS: Type = 7; + pub const PLPGSQL_STMT_FORC: Type = 8; + pub const PLPGSQL_STMT_FOREACH_A: Type = 9; + pub const PLPGSQL_STMT_EXIT: Type = 10; + pub const PLPGSQL_STMT_RETURN: Type = 11; + pub const PLPGSQL_STMT_RETURN_NEXT: Type = 12; + pub const PLPGSQL_STMT_RETURN_QUERY: Type = 13; + pub const PLPGSQL_STMT_RAISE: Type = 14; + pub const PLPGSQL_STMT_ASSERT: Type = 15; + pub const PLPGSQL_STMT_EXECSQL: Type = 16; + pub const PLPGSQL_STMT_DYNEXECUTE: Type = 17; + pub const PLPGSQL_STMT_DYNFORS: Type = 18; + pub const PLPGSQL_STMT_GETDIAG: Type = 19; + pub const PLPGSQL_STMT_OPEN: Type = 20; + pub const PLPGSQL_STMT_FETCH: Type = 21; + pub const PLPGSQL_STMT_CLOSE: Type = 22; + pub const PLPGSQL_STMT_PERFORM: Type = 23; + pub const PLPGSQL_STMT_CALL: Type = 24; + pub const PLPGSQL_STMT_COMMIT: Type = 25; + pub const PLPGSQL_STMT_ROLLBACK: Type = 26; +} +pub mod _bindgen_ty_25 { + pub type Type = ::core::ffi::c_uint; + pub const PLPGSQL_RC_OK: Type = 0; + pub const PLPGSQL_RC_EXIT: Type = 1; + pub const PLPGSQL_RC_RETURN: Type = 2; + pub const PLPGSQL_RC_CONTINUE: Type = 3; +} +pub mod PLpgSQL_getdiag_kind { + pub type Type = ::core::ffi::c_uint; + pub const PLPGSQL_GETDIAG_ROW_COUNT: Type = 0; + pub const PLPGSQL_GETDIAG_ROUTINE_OID: Type = 1; + pub const PLPGSQL_GETDIAG_CONTEXT: Type = 2; + pub const PLPGSQL_GETDIAG_ERROR_CONTEXT: Type = 3; + pub const PLPGSQL_GETDIAG_ERROR_DETAIL: Type = 4; + pub const PLPGSQL_GETDIAG_ERROR_HINT: Type = 5; + pub const PLPGSQL_GETDIAG_RETURNED_SQLSTATE: Type = 6; + pub const PLPGSQL_GETDIAG_COLUMN_NAME: Type = 7; + pub const PLPGSQL_GETDIAG_CONSTRAINT_NAME: Type = 8; + pub const PLPGSQL_GETDIAG_DATATYPE_NAME: Type = 9; + pub const PLPGSQL_GETDIAG_MESSAGE_TEXT: Type = 10; + pub const PLPGSQL_GETDIAG_TABLE_NAME: Type = 11; + pub const PLPGSQL_GETDIAG_SCHEMA_NAME: Type = 12; +} +pub mod PLpgSQL_raise_option_type { + pub type Type = ::core::ffi::c_uint; + pub const PLPGSQL_RAISEOPTION_ERRCODE: Type = 0; + pub const PLPGSQL_RAISEOPTION_MESSAGE: Type = 1; + pub const PLPGSQL_RAISEOPTION_DETAIL: Type = 2; + pub const PLPGSQL_RAISEOPTION_HINT: Type = 3; + pub const PLPGSQL_RAISEOPTION_COLUMN: Type = 4; + pub const PLPGSQL_RAISEOPTION_CONSTRAINT: Type = 5; + pub const PLPGSQL_RAISEOPTION_DATATYPE: Type = 6; + pub const PLPGSQL_RAISEOPTION_TABLE: Type = 7; + pub const PLPGSQL_RAISEOPTION_SCHEMA: Type = 8; +} +pub mod PLpgSQL_resolve_option { + pub type Type = ::core::ffi::c_uint; + pub const PLPGSQL_RESOLVE_ERROR: Type = 0; + pub const PLPGSQL_RESOLVE_VARIABLE: Type = 1; + pub const PLPGSQL_RESOLVE_COLUMN: Type = 2; +} +pub mod PLpgSQL_rwopt { + pub type Type = ::core::ffi::c_uint; + pub const PLPGSQL_RWOPT_UNKNOWN: Type = 0; + pub const PLPGSQL_RWOPT_NOPE: Type = 1; + pub const PLPGSQL_RWOPT_TRANSFER: Type = 2; + pub const PLPGSQL_RWOPT_INPLACE: Type = 3; +} +#[doc = " Node and structure definitions"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_type { + pub typname: *mut ::core::ffi::c_char, + pub typoid: Oid, + pub ttype: PLpgSQL_type_type::Type, + pub typlen: int16, + pub typbyval: bool, + pub typtype: ::core::ffi::c_char, + pub collation: Oid, + pub typisarray: bool, + pub atttypmod: int32, + pub origtypname: *mut TypeName, + pub tcache: *mut TypeCacheEntry, + pub tupdesc_id: uint64, +} +impl Default for PLpgSQL_type { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_expr { + pub query: *mut ::core::ffi::c_char, + pub parseMode: RawParseMode::Type, + pub func: *mut PLpgSQL_function, + pub ns: *mut PLpgSQL_nsitem, + pub target_param: ::core::ffi::c_int, + pub target_is_local: bool, + pub plan: SPIPlanPtr, + pub paramnos: *mut Bitmapset, + pub expr_simple_expr: *mut Expr, + pub expr_simple_type: Oid, + pub expr_simple_typmod: int32, + pub expr_simple_mutable: bool, + pub expr_rwopt: PLpgSQL_rwopt::Type, + pub expr_rw_param: *mut Param, + pub expr_simple_plansource: *mut CachedPlanSource, + pub expr_simple_plan: *mut CachedPlan, + pub expr_simple_plan_lxid: LocalTransactionId, + pub expr_simple_state: *mut ExprState, + pub expr_simple_in_use: bool, + pub expr_simple_lxid: LocalTransactionId, +} +impl Default for PLpgSQL_expr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_datum { + pub dtype: PLpgSQL_datum_type::Type, + pub dno: ::core::ffi::c_int, +} +impl Default for PLpgSQL_datum { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_variable { + pub dtype: PLpgSQL_datum_type::Type, + pub dno: ::core::ffi::c_int, + pub refname: *mut ::core::ffi::c_char, + pub lineno: ::core::ffi::c_int, + pub isconst: bool, + pub notnull: bool, + pub default_val: *mut PLpgSQL_expr, +} +impl Default for PLpgSQL_variable { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_var { + pub dtype: PLpgSQL_datum_type::Type, + pub dno: ::core::ffi::c_int, + pub refname: *mut ::core::ffi::c_char, + pub lineno: ::core::ffi::c_int, + pub isconst: bool, + pub notnull: bool, + pub default_val: *mut PLpgSQL_expr, + pub datatype: *mut PLpgSQL_type, + pub cursor_explicit_expr: *mut PLpgSQL_expr, + pub cursor_explicit_argrow: ::core::ffi::c_int, + pub cursor_options: ::core::ffi::c_int, + pub value: Datum, + pub isnull: bool, + pub freeval: bool, + pub promise: PLpgSQL_promise_type::Type, +} +impl Default for PLpgSQL_var { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_row { + pub dtype: PLpgSQL_datum_type::Type, + pub dno: ::core::ffi::c_int, + pub refname: *mut ::core::ffi::c_char, + pub lineno: ::core::ffi::c_int, + pub isconst: bool, + pub notnull: bool, + pub default_val: *mut PLpgSQL_expr, + pub rowtupdesc: TupleDesc, + pub nfields: ::core::ffi::c_int, + pub fieldnames: *mut *mut ::core::ffi::c_char, + pub varnos: *mut ::core::ffi::c_int, +} +impl Default for PLpgSQL_row { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_rec { + pub dtype: PLpgSQL_datum_type::Type, + pub dno: ::core::ffi::c_int, + pub refname: *mut ::core::ffi::c_char, + pub lineno: ::core::ffi::c_int, + pub isconst: bool, + pub notnull: bool, + pub default_val: *mut PLpgSQL_expr, + pub datatype: *mut PLpgSQL_type, + pub rectypeid: Oid, + pub firstfield: ::core::ffi::c_int, + pub erh: *mut ExpandedRecordHeader, +} +impl Default for PLpgSQL_rec { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_recfield { + pub dtype: PLpgSQL_datum_type::Type, + pub dno: ::core::ffi::c_int, + pub fieldname: *mut ::core::ffi::c_char, + pub recparentno: ::core::ffi::c_int, + pub nextfield: ::core::ffi::c_int, + pub rectupledescid: uint64, + pub finfo: ExpandedRecordFieldInfo, +} +impl Default for PLpgSQL_recfield { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug)] +pub struct PLpgSQL_nsitem { + pub itemtype: PLpgSQL_nsitem_type::Type, + pub itemno: ::core::ffi::c_int, + pub prev: *mut PLpgSQL_nsitem, + pub name: __IncompleteArrayField<::core::ffi::c_char>, +} +impl Default for PLpgSQL_nsitem { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, +} +impl Default for PLpgSQL_stmt { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_condition { + pub sqlerrstate: ::core::ffi::c_int, + pub condname: *mut ::core::ffi::c_char, + pub next: *mut PLpgSQL_condition, +} +impl Default for PLpgSQL_condition { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_exception_block { + pub sqlstate_varno: ::core::ffi::c_int, + pub sqlerrm_varno: ::core::ffi::c_int, + pub exc_list: *mut List, +} +impl Default for PLpgSQL_exception_block { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_exception { + pub lineno: ::core::ffi::c_int, + pub conditions: *mut PLpgSQL_condition, + pub action: *mut List, +} +impl Default for PLpgSQL_exception { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_block { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub label: *mut ::core::ffi::c_char, + pub body: *mut List, + pub n_initvars: ::core::ffi::c_int, + pub initvarnos: *mut ::core::ffi::c_int, + pub exceptions: *mut PLpgSQL_exception_block, +} +impl Default for PLpgSQL_stmt_block { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_assign { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub varno: ::core::ffi::c_int, + pub expr: *mut PLpgSQL_expr, +} +impl Default for PLpgSQL_stmt_assign { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_perform { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub expr: *mut PLpgSQL_expr, +} +impl Default for PLpgSQL_stmt_perform { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_call { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub expr: *mut PLpgSQL_expr, + pub is_call: bool, + pub target: *mut PLpgSQL_variable, +} +impl Default for PLpgSQL_stmt_call { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_commit { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub chain: bool, +} +impl Default for PLpgSQL_stmt_commit { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_rollback { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub chain: bool, +} +impl Default for PLpgSQL_stmt_rollback { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_diag_item { + pub kind: PLpgSQL_getdiag_kind::Type, + pub target: ::core::ffi::c_int, +} +impl Default for PLpgSQL_diag_item { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_getdiag { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub is_stacked: bool, + pub diag_items: *mut List, +} +impl Default for PLpgSQL_stmt_getdiag { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_if { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub cond: *mut PLpgSQL_expr, + pub then_body: *mut List, + pub elsif_list: *mut List, + pub else_body: *mut List, +} +impl Default for PLpgSQL_stmt_if { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_if_elsif { + pub lineno: ::core::ffi::c_int, + pub cond: *mut PLpgSQL_expr, + pub stmts: *mut List, +} +impl Default for PLpgSQL_if_elsif { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_case { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub t_expr: *mut PLpgSQL_expr, + pub t_varno: ::core::ffi::c_int, + pub case_when_list: *mut List, + pub have_else: bool, + pub else_stmts: *mut List, +} +impl Default for PLpgSQL_stmt_case { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_case_when { + pub lineno: ::core::ffi::c_int, + pub expr: *mut PLpgSQL_expr, + pub stmts: *mut List, +} +impl Default for PLpgSQL_case_when { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_loop { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub label: *mut ::core::ffi::c_char, + pub body: *mut List, +} +impl Default for PLpgSQL_stmt_loop { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_while { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub label: *mut ::core::ffi::c_char, + pub cond: *mut PLpgSQL_expr, + pub body: *mut List, +} +impl Default for PLpgSQL_stmt_while { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_fori { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub label: *mut ::core::ffi::c_char, + pub var: *mut PLpgSQL_var, + pub lower: *mut PLpgSQL_expr, + pub upper: *mut PLpgSQL_expr, + pub step: *mut PLpgSQL_expr, + pub reverse: ::core::ffi::c_int, + pub body: *mut List, +} +impl Default for PLpgSQL_stmt_fori { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_forq { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub label: *mut ::core::ffi::c_char, + pub var: *mut PLpgSQL_variable, + pub body: *mut List, +} +impl Default for PLpgSQL_stmt_forq { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_fors { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub label: *mut ::core::ffi::c_char, + pub var: *mut PLpgSQL_variable, + pub body: *mut List, + pub query: *mut PLpgSQL_expr, +} +impl Default for PLpgSQL_stmt_fors { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_forc { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub label: *mut ::core::ffi::c_char, + pub var: *mut PLpgSQL_variable, + pub body: *mut List, + pub curvar: ::core::ffi::c_int, + pub argquery: *mut PLpgSQL_expr, +} +impl Default for PLpgSQL_stmt_forc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_dynfors { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub label: *mut ::core::ffi::c_char, + pub var: *mut PLpgSQL_variable, + pub body: *mut List, + pub query: *mut PLpgSQL_expr, + pub params: *mut List, +} +impl Default for PLpgSQL_stmt_dynfors { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_foreach_a { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub label: *mut ::core::ffi::c_char, + pub varno: ::core::ffi::c_int, + pub slice: ::core::ffi::c_int, + pub expr: *mut PLpgSQL_expr, + pub body: *mut List, +} +impl Default for PLpgSQL_stmt_foreach_a { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_open { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub curvar: ::core::ffi::c_int, + pub cursor_options: ::core::ffi::c_int, + pub argquery: *mut PLpgSQL_expr, + pub query: *mut PLpgSQL_expr, + pub dynquery: *mut PLpgSQL_expr, + pub params: *mut List, +} +impl Default for PLpgSQL_stmt_open { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_fetch { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub target: *mut PLpgSQL_variable, + pub curvar: ::core::ffi::c_int, + pub direction: FetchDirection::Type, + pub how_many: ::core::ffi::c_long, + pub expr: *mut PLpgSQL_expr, + pub is_move: bool, + pub returns_multiple_rows: bool, +} +impl Default for PLpgSQL_stmt_fetch { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_close { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub curvar: ::core::ffi::c_int, +} +impl Default for PLpgSQL_stmt_close { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_exit { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub is_exit: bool, + pub label: *mut ::core::ffi::c_char, + pub cond: *mut PLpgSQL_expr, +} +impl Default for PLpgSQL_stmt_exit { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_return { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub expr: *mut PLpgSQL_expr, + pub retvarno: ::core::ffi::c_int, +} +impl Default for PLpgSQL_stmt_return { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_return_next { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub expr: *mut PLpgSQL_expr, + pub retvarno: ::core::ffi::c_int, +} +impl Default for PLpgSQL_stmt_return_next { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_return_query { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub query: *mut PLpgSQL_expr, + pub dynquery: *mut PLpgSQL_expr, + pub params: *mut List, +} +impl Default for PLpgSQL_stmt_return_query { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_raise { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub elog_level: ::core::ffi::c_int, + pub condname: *mut ::core::ffi::c_char, + pub message: *mut ::core::ffi::c_char, + pub params: *mut List, + pub options: *mut List, +} +impl Default for PLpgSQL_stmt_raise { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_raise_option { + pub opt_type: PLpgSQL_raise_option_type::Type, + pub expr: *mut PLpgSQL_expr, +} +impl Default for PLpgSQL_raise_option { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_assert { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub cond: *mut PLpgSQL_expr, + pub message: *mut PLpgSQL_expr, +} +impl Default for PLpgSQL_stmt_assert { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_execsql { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub sqlstmt: *mut PLpgSQL_expr, + pub mod_stmt: bool, + pub mod_stmt_set: bool, + pub into: bool, + pub strict: bool, + pub target: *mut PLpgSQL_variable, +} +impl Default for PLpgSQL_stmt_execsql { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_stmt_dynexecute { + pub cmd_type: PLpgSQL_stmt_type::Type, + pub lineno: ::core::ffi::c_int, + pub stmtid: ::core::ffi::c_uint, + pub query: *mut PLpgSQL_expr, + pub into: bool, + pub strict: bool, + pub target: *mut PLpgSQL_variable, + pub params: *mut List, +} +impl Default for PLpgSQL_stmt_dynexecute { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod PLpgSQL_trigtype { + pub type Type = ::core::ffi::c_uint; + pub const PLPGSQL_DML_TRIGGER: Type = 0; + pub const PLPGSQL_EVENT_TRIGGER: Type = 1; + pub const PLPGSQL_NOT_TRIGGER: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_function { + pub cfunc: CachedFunction, + pub fn_signature: *mut ::core::ffi::c_char, + pub fn_oid: Oid, + pub fn_is_trigger: PLpgSQL_trigtype::Type, + pub fn_input_collation: Oid, + pub fn_cxt: MemoryContext, + pub fn_rettype: Oid, + pub fn_rettyplen: ::core::ffi::c_int, + pub fn_retbyval: bool, + pub fn_retistuple: bool, + pub fn_retisdomain: bool, + pub fn_retset: bool, + pub fn_readonly: bool, + pub fn_prokind: ::core::ffi::c_char, + pub fn_nargs: ::core::ffi::c_int, + pub fn_argvarnos: [::core::ffi::c_int; 100usize], + pub out_param_varno: ::core::ffi::c_int, + pub found_varno: ::core::ffi::c_int, + pub new_varno: ::core::ffi::c_int, + pub old_varno: ::core::ffi::c_int, + pub resolve_option: PLpgSQL_resolve_option::Type, + pub print_strict_params: bool, + pub extra_warnings: ::core::ffi::c_int, + pub extra_errors: ::core::ffi::c_int, + pub ndatums: ::core::ffi::c_int, + pub datums: *mut *mut PLpgSQL_datum, + pub copiable_size: Size, + pub action: *mut PLpgSQL_stmt_block, + pub nstatements: ::core::ffi::c_uint, + pub requires_procedure_resowner: bool, + pub has_exception_block: bool, + pub cur_estate: *mut PLpgSQL_execstate, +} +impl Default for PLpgSQL_function { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLpgSQL_execstate { + pub func: *mut PLpgSQL_function, + pub trigdata: *mut TriggerData, + pub evtrigdata: *mut EventTriggerData, + pub retval: Datum, + pub retisnull: bool, + pub rettype: Oid, + pub fn_rettype: Oid, + pub retistuple: bool, + pub retisset: bool, + pub readonly_func: bool, + pub atomic: bool, + pub exitlabel: *mut ::core::ffi::c_char, + pub cur_error: *mut ErrorData, + pub tuple_store: *mut Tuplestorestate, + pub tuple_store_desc: TupleDesc, + pub tuple_store_cxt: MemoryContext, + pub tuple_store_owner: ResourceOwner, + pub rsi: *mut ReturnSetInfo, + pub found_varno: ::core::ffi::c_int, + pub ndatums: ::core::ffi::c_int, + pub datums: *mut *mut PLpgSQL_datum, + pub datum_context: MemoryContext, + pub paramLI: ParamListInfo, + pub simple_eval_estate: *mut EState, + pub simple_eval_resowner: ResourceOwner, + pub procedure_resowner: ResourceOwner, + pub cast_hash: *mut HTAB, + pub stmt_mcontext: MemoryContext, + pub stmt_mcontext_parent: MemoryContext, + pub eval_tuptable: *mut SPITupleTable, + pub eval_processed: uint64, + pub eval_econtext: *mut ExprContext, + pub err_stmt: *mut PLpgSQL_stmt, + pub err_var: *mut PLpgSQL_variable, + pub err_text: *const ::core::ffi::c_char, + pub plugin_info: *mut ::core::ffi::c_void, +} +impl Default for PLpgSQL_execstate { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PLpgSQL_plugin { + pub func_setup: ::core::option::Option< + unsafe extern "C-unwind" fn(estate: *mut PLpgSQL_execstate, func: *mut PLpgSQL_function), + >, + pub func_beg: ::core::option::Option< + unsafe extern "C-unwind" fn(estate: *mut PLpgSQL_execstate, func: *mut PLpgSQL_function), + >, + pub func_end: ::core::option::Option< + unsafe extern "C-unwind" fn(estate: *mut PLpgSQL_execstate, func: *mut PLpgSQL_function), + >, + pub stmt_beg: ::core::option::Option< + unsafe extern "C-unwind" fn(estate: *mut PLpgSQL_execstate, stmt: *mut PLpgSQL_stmt), + >, + pub stmt_end: ::core::option::Option< + unsafe extern "C-unwind" fn(estate: *mut PLpgSQL_execstate, stmt: *mut PLpgSQL_stmt), + >, + pub error_callback: + ::core::option::Option, + pub assign_expr: ::core::option::Option< + unsafe extern "C-unwind" fn( + estate: *mut PLpgSQL_execstate, + target: *mut PLpgSQL_datum, + expr: *mut PLpgSQL_expr, + ), + >, + pub assign_value: ::core::option::Option< + unsafe extern "C-unwind" fn( + estate: *mut PLpgSQL_execstate, + target: *mut PLpgSQL_datum, + value: Datum, + isNull: bool, + valtype: Oid, + valtypmod: int32, + ), + >, + pub eval_datum: ::core::option::Option< + unsafe extern "C-unwind" fn( + estate: *mut PLpgSQL_execstate, + datum: *mut PLpgSQL_datum, + typeId: *mut Oid, + typetypmod: *mut int32, + value: *mut Datum, + isnull: *mut bool, + ), + >, + pub cast_value: ::core::option::Option< + unsafe extern "C-unwind" fn( + estate: *mut PLpgSQL_execstate, + value: Datum, + isnull: *mut bool, + valtype: Oid, + valtypmod: int32, + reqtype: Oid, + reqtypmod: int32, + ) -> Datum, + >, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLword { + pub ident: *mut ::core::ffi::c_char, + pub quoted: bool, +} +impl Default for PLword { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLcword { + pub idents: *mut List, +} +impl Default for PLcword { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PLwdatum { + pub datum: *mut PLpgSQL_datum, + pub ident: *mut ::core::ffi::c_char, + pub quoted: bool, + pub idents: *mut List, +} +impl Default for PLwdatum { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod IdentifierLookup { + #[doc = " Global variable declarations"] + pub type Type = ::core::ffi::c_uint; + pub const IDENTIFIER_LOOKUP_NORMAL: Type = 0; + pub const IDENTIFIER_LOOKUP_DECLARE: Type = 1; + pub const IDENTIFIER_LOOKUP_EXPR: Type = 2; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct YYSTYPE { + _unused: [u8; 0], +} +pub type yyscan_t = *mut ::core::ffi::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PMChild { + pub pid: pid_t, + pub child_slot: ::core::ffi::c_int, + pub bkend_type: BackendType::Type, + pub rw: *mut RegisteredBgWorker, + pub bgworker_notify: bool, + pub elem: dlist_node, +} +impl Default for PMChild { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ClientSocket { + _unused: [u8; 0], +} +pub mod DispatchOption { + pub type Type = ::core::ffi::c_uint; + pub const DISPATCH_CHECK: Type = 0; + pub const DISPATCH_BOOT: Type = 1; + pub const DISPATCH_FORKCHILD: Type = 2; + pub const DISPATCH_DESCRIBE_CONFIG: Type = 3; + pub const DISPATCH_SINGLE: Type = 4; + pub const DISPATCH_POSTMASTER: Type = 5; +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct PipeProtoHeader { + pub nuls: [::core::ffi::c_char; 2usize], + pub len: uint16, + pub pid: int32, + pub flags: bits8, + pub data: __IncompleteArrayField<::core::ffi::c_char>, +} +#[repr(C)] +pub union PipeProtoChunk { + pub proto: ::core::mem::ManuallyDrop, + pub filler: ::core::mem::ManuallyDrop<[::core::ffi::c_char; 4096usize]>, +} +impl Default for PipeProtoChunk { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod DebugLogicalRepStreamingMode { + pub type Type = ::core::ffi::c_uint; + pub const DEBUG_LOGICAL_REP_STREAMING_BUFFERED: Type = 0; + pub const DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE: Type = 1; +} +pub mod ReorderBufferChangeType { + pub type Type = ::core::ffi::c_uint; + pub const REORDER_BUFFER_CHANGE_INSERT: Type = 0; + pub const REORDER_BUFFER_CHANGE_UPDATE: Type = 1; + pub const REORDER_BUFFER_CHANGE_DELETE: Type = 2; + pub const REORDER_BUFFER_CHANGE_MESSAGE: Type = 3; + pub const REORDER_BUFFER_CHANGE_INVALIDATION: Type = 4; + pub const REORDER_BUFFER_CHANGE_INTERNAL_SNAPSHOT: Type = 5; + pub const REORDER_BUFFER_CHANGE_INTERNAL_COMMAND_ID: Type = 6; + pub const REORDER_BUFFER_CHANGE_INTERNAL_TUPLECID: Type = 7; + pub const REORDER_BUFFER_CHANGE_INTERNAL_SPEC_INSERT: Type = 8; + pub const REORDER_BUFFER_CHANGE_INTERNAL_SPEC_CONFIRM: Type = 9; + pub const REORDER_BUFFER_CHANGE_INTERNAL_SPEC_ABORT: Type = 10; + pub const REORDER_BUFFER_CHANGE_TRUNCATE: Type = 11; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ReorderBufferChange { + pub lsn: XLogRecPtr, + pub action: ReorderBufferChangeType::Type, + pub txn: *mut ReorderBufferTXN, + pub origin_id: RepOriginId, + pub data: ReorderBufferChange__bindgen_ty_1, + pub node: dlist_node, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ReorderBufferChange__bindgen_ty_1 { + pub tp: ReorderBufferChange__bindgen_ty_1__bindgen_ty_1, + pub truncate: ReorderBufferChange__bindgen_ty_1__bindgen_ty_2, + pub msg: ReorderBufferChange__bindgen_ty_1__bindgen_ty_3, + pub snapshot: Snapshot, + pub command_id: CommandId, + pub tuplecid: ReorderBufferChange__bindgen_ty_1__bindgen_ty_4, + pub inval: ReorderBufferChange__bindgen_ty_1__bindgen_ty_5, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReorderBufferChange__bindgen_ty_1__bindgen_ty_1 { + pub rlocator: RelFileLocator, + pub clear_toast_afterwards: bool, + pub oldtuple: HeapTuple, + pub newtuple: HeapTuple, +} +impl Default for ReorderBufferChange__bindgen_ty_1__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReorderBufferChange__bindgen_ty_1__bindgen_ty_2 { + pub nrelids: Size, + pub cascade: bool, + pub restart_seqs: bool, + pub relids: *mut Oid, +} +impl Default for ReorderBufferChange__bindgen_ty_1__bindgen_ty_2 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReorderBufferChange__bindgen_ty_1__bindgen_ty_3 { + pub prefix: *mut ::core::ffi::c_char, + pub message_size: Size, + pub message: *mut ::core::ffi::c_char, +} +impl Default for ReorderBufferChange__bindgen_ty_1__bindgen_ty_3 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReorderBufferChange__bindgen_ty_1__bindgen_ty_4 { + pub locator: RelFileLocator, + pub tid: ItemPointerData, + pub cmin: CommandId, + pub cmax: CommandId, + pub combocid: CommandId, +} +impl Default for ReorderBufferChange__bindgen_ty_1__bindgen_ty_4 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReorderBufferChange__bindgen_ty_1__bindgen_ty_5 { + pub ninvalidations: uint32, + pub invalidations: *mut SharedInvalidationMessage, +} +impl Default for ReorderBufferChange__bindgen_ty_1__bindgen_ty_5 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for ReorderBufferChange__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for ReorderBufferChange { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ReorderBufferTXN { + pub txn_flags: bits32, + pub xid: TransactionId, + pub toplevel_xid: TransactionId, + pub gid: *mut ::core::ffi::c_char, + pub first_lsn: XLogRecPtr, + pub final_lsn: XLogRecPtr, + pub end_lsn: XLogRecPtr, + pub toptxn: *mut ReorderBufferTXN, + pub restart_decoding_lsn: XLogRecPtr, + pub origin_id: RepOriginId, + pub origin_lsn: XLogRecPtr, + pub xact_time: ReorderBufferTXN__bindgen_ty_1, + pub base_snapshot: Snapshot, + pub base_snapshot_lsn: XLogRecPtr, + pub base_snapshot_node: dlist_node, + pub snapshot_now: Snapshot, + pub command_id: CommandId, + pub nentries: uint64, + pub nentries_mem: uint64, + pub changes: dlist_head, + pub tuplecids: dlist_head, + pub ntuplecids: uint64, + pub tuplecid_hash: *mut HTAB, + pub toast_hash: *mut HTAB, + pub subtxns: dlist_head, + pub nsubtxns: uint32, + pub ninvalidations: uint32, + pub invalidations: *mut SharedInvalidationMessage, + pub node: dlist_node, + pub catchange_node: dlist_node, + pub txn_node: pairingheap_node, + pub size: Size, + pub total_size: Size, + pub output_plugin_private: *mut ::core::ffi::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ReorderBufferTXN__bindgen_ty_1 { + pub commit_time: TimestampTz, + pub prepare_time: TimestampTz, + pub abort_time: TimestampTz, +} +impl Default for ReorderBufferTXN__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for ReorderBufferTXN { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ReorderBufferApplyChangeCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + relation: Relation, + change: *mut ReorderBufferChange, + ), +>; +pub type ReorderBufferApplyTruncateCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + nrelations: ::core::ffi::c_int, + relations: *mut Relation, + change: *mut ReorderBufferChange, + ), +>; +pub type ReorderBufferBeginCB = ::core::option::Option< + unsafe extern "C-unwind" fn(rb: *mut ReorderBuffer, txn: *mut ReorderBufferTXN), +>; +pub type ReorderBufferCommitCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + commit_lsn: XLogRecPtr, + ), +>; +pub type ReorderBufferMessageCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + message_lsn: XLogRecPtr, + transactional: bool, + prefix: *const ::core::ffi::c_char, + sz: Size, + message: *const ::core::ffi::c_char, + ), +>; +pub type ReorderBufferBeginPrepareCB = ::core::option::Option< + unsafe extern "C-unwind" fn(rb: *mut ReorderBuffer, txn: *mut ReorderBufferTXN), +>; +pub type ReorderBufferPrepareCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + prepare_lsn: XLogRecPtr, + ), +>; +pub type ReorderBufferCommitPreparedCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + commit_lsn: XLogRecPtr, + ), +>; +pub type ReorderBufferRollbackPreparedCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + prepare_end_lsn: XLogRecPtr, + prepare_time: TimestampTz, + ), +>; +pub type ReorderBufferStreamStartCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + first_lsn: XLogRecPtr, + ), +>; +pub type ReorderBufferStreamStopCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + last_lsn: XLogRecPtr, + ), +>; +pub type ReorderBufferStreamAbortCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + abort_lsn: XLogRecPtr, + ), +>; +pub type ReorderBufferStreamPrepareCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + prepare_lsn: XLogRecPtr, + ), +>; +pub type ReorderBufferStreamCommitCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + commit_lsn: XLogRecPtr, + ), +>; +pub type ReorderBufferStreamChangeCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + relation: Relation, + change: *mut ReorderBufferChange, + ), +>; +pub type ReorderBufferStreamMessageCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + message_lsn: XLogRecPtr, + transactional: bool, + prefix: *const ::core::ffi::c_char, + sz: Size, + message: *const ::core::ffi::c_char, + ), +>; +pub type ReorderBufferStreamTruncateCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + nrelations: ::core::ffi::c_int, + relations: *mut Relation, + change: *mut ReorderBufferChange, + ), +>; +pub type ReorderBufferUpdateProgressTxnCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + rb: *mut ReorderBuffer, + txn: *mut ReorderBufferTXN, + lsn: XLogRecPtr, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReorderBuffer { + pub by_txn: *mut HTAB, + pub toplevel_by_lsn: dlist_head, + pub txns_by_base_snapshot_lsn: dlist_head, + pub catchange_txns: dclist_head, + pub by_txn_last_xid: TransactionId, + pub by_txn_last_txn: *mut ReorderBufferTXN, + pub begin: ReorderBufferBeginCB, + pub apply_change: ReorderBufferApplyChangeCB, + pub apply_truncate: ReorderBufferApplyTruncateCB, + pub commit: ReorderBufferCommitCB, + pub message: ReorderBufferMessageCB, + pub begin_prepare: ReorderBufferBeginCB, + pub prepare: ReorderBufferPrepareCB, + pub commit_prepared: ReorderBufferCommitPreparedCB, + pub rollback_prepared: ReorderBufferRollbackPreparedCB, + pub stream_start: ReorderBufferStreamStartCB, + pub stream_stop: ReorderBufferStreamStopCB, + pub stream_abort: ReorderBufferStreamAbortCB, + pub stream_prepare: ReorderBufferStreamPrepareCB, + pub stream_commit: ReorderBufferStreamCommitCB, + pub stream_change: ReorderBufferStreamChangeCB, + pub stream_message: ReorderBufferStreamMessageCB, + pub stream_truncate: ReorderBufferStreamTruncateCB, + pub update_progress_txn: ReorderBufferUpdateProgressTxnCB, + pub private_data: *mut ::core::ffi::c_void, + pub output_rewrites: bool, + pub context: MemoryContext, + pub change_context: MemoryContext, + pub txn_context: MemoryContext, + pub tup_context: MemoryContext, + pub current_restart_decoding_lsn: XLogRecPtr, + pub outbuf: *mut ::core::ffi::c_char, + pub outbufsize: Size, + pub size: Size, + pub txn_heap: *mut pairingheap, + pub spillTxns: int64, + pub spillCount: int64, + pub spillBytes: int64, + pub streamTxns: int64, + pub streamCount: int64, + pub streamBytes: int64, + pub totalTxns: int64, + pub totalBytes: int64, +} +impl Default for ReorderBuffer { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod OutputPluginOutputType { + pub type Type = ::core::ffi::c_uint; + pub const OUTPUT_PLUGIN_BINARY_OUTPUT: Type = 0; + pub const OUTPUT_PLUGIN_TEXTUAL_OUTPUT: Type = 1; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OutputPluginOptions { + pub output_type: OutputPluginOutputType::Type, + pub receive_rewrites: bool, +} +impl Default for OutputPluginOptions { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type LogicalOutputPluginInit = + ::core::option::Option; +pub type LogicalDecodeStartupCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + options: *mut OutputPluginOptions, + is_init: bool, + ), +>; +pub type LogicalDecodeBeginCB = ::core::option::Option< + unsafe extern "C-unwind" fn(ctx: *mut LogicalDecodingContext, txn: *mut ReorderBufferTXN), +>; +pub type LogicalDecodeChangeCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + relation: Relation, + change: *mut ReorderBufferChange, + ), +>; +pub type LogicalDecodeTruncateCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + nrelations: ::core::ffi::c_int, + relations: *mut Relation, + change: *mut ReorderBufferChange, + ), +>; +pub type LogicalDecodeCommitCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + commit_lsn: XLogRecPtr, + ), +>; +pub type LogicalDecodeMessageCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + message_lsn: XLogRecPtr, + transactional: bool, + prefix: *const ::core::ffi::c_char, + message_size: Size, + message: *const ::core::ffi::c_char, + ), +>; +pub type LogicalDecodeFilterByOriginCB = ::core::option::Option< + unsafe extern "C-unwind" fn(ctx: *mut LogicalDecodingContext, origin_id: RepOriginId) -> bool, +>; +pub type LogicalDecodeShutdownCB = + ::core::option::Option; +pub type LogicalDecodeFilterPrepareCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + xid: TransactionId, + gid: *const ::core::ffi::c_char, + ) -> bool, +>; +pub type LogicalDecodeBeginPrepareCB = ::core::option::Option< + unsafe extern "C-unwind" fn(ctx: *mut LogicalDecodingContext, txn: *mut ReorderBufferTXN), +>; +pub type LogicalDecodePrepareCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + prepare_lsn: XLogRecPtr, + ), +>; +pub type LogicalDecodeCommitPreparedCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + commit_lsn: XLogRecPtr, + ), +>; +pub type LogicalDecodeRollbackPreparedCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + prepare_end_lsn: XLogRecPtr, + prepare_time: TimestampTz, + ), +>; +pub type LogicalDecodeStreamStartCB = ::core::option::Option< + unsafe extern "C-unwind" fn(ctx: *mut LogicalDecodingContext, txn: *mut ReorderBufferTXN), +>; +pub type LogicalDecodeStreamStopCB = ::core::option::Option< + unsafe extern "C-unwind" fn(ctx: *mut LogicalDecodingContext, txn: *mut ReorderBufferTXN), +>; +pub type LogicalDecodeStreamAbortCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + abort_lsn: XLogRecPtr, + ), +>; +pub type LogicalDecodeStreamPrepareCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + prepare_lsn: XLogRecPtr, + ), +>; +pub type LogicalDecodeStreamCommitCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + commit_lsn: XLogRecPtr, + ), +>; +pub type LogicalDecodeStreamChangeCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + relation: Relation, + change: *mut ReorderBufferChange, + ), +>; +pub type LogicalDecodeStreamMessageCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + message_lsn: XLogRecPtr, + transactional: bool, + prefix: *const ::core::ffi::c_char, + message_size: Size, + message: *const ::core::ffi::c_char, + ), +>; +pub type LogicalDecodeStreamTruncateCB = ::core::option::Option< + unsafe extern "C-unwind" fn( + ctx: *mut LogicalDecodingContext, + txn: *mut ReorderBufferTXN, + nrelations: ::core::ffi::c_int, + relations: *mut Relation, + change: *mut ReorderBufferChange, + ), +>; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct OutputPluginCallbacks { + pub startup_cb: LogicalDecodeStartupCB, + pub begin_cb: LogicalDecodeBeginCB, + pub change_cb: LogicalDecodeChangeCB, + pub truncate_cb: LogicalDecodeTruncateCB, + pub commit_cb: LogicalDecodeCommitCB, + pub message_cb: LogicalDecodeMessageCB, + pub filter_by_origin_cb: LogicalDecodeFilterByOriginCB, + pub shutdown_cb: LogicalDecodeShutdownCB, + pub filter_prepare_cb: LogicalDecodeFilterPrepareCB, + pub begin_prepare_cb: LogicalDecodeBeginPrepareCB, + pub prepare_cb: LogicalDecodePrepareCB, + pub commit_prepared_cb: LogicalDecodeCommitPreparedCB, + pub rollback_prepared_cb: LogicalDecodeRollbackPreparedCB, + pub stream_start_cb: LogicalDecodeStreamStartCB, + pub stream_stop_cb: LogicalDecodeStreamStopCB, + pub stream_abort_cb: LogicalDecodeStreamAbortCB, + pub stream_prepare_cb: LogicalDecodeStreamPrepareCB, + pub stream_commit_cb: LogicalDecodeStreamCommitCB, + pub stream_change_cb: LogicalDecodeStreamChangeCB, + pub stream_message_cb: LogicalDecodeStreamMessageCB, + pub stream_truncate_cb: LogicalDecodeStreamTruncateCB, +} +pub mod LogicalRepMsgType { + pub type Type = ::core::ffi::c_uint; + pub const LOGICAL_REP_MSG_BEGIN: Type = 66; + pub const LOGICAL_REP_MSG_COMMIT: Type = 67; + pub const LOGICAL_REP_MSG_ORIGIN: Type = 79; + pub const LOGICAL_REP_MSG_INSERT: Type = 73; + pub const LOGICAL_REP_MSG_UPDATE: Type = 85; + pub const LOGICAL_REP_MSG_DELETE: Type = 68; + pub const LOGICAL_REP_MSG_TRUNCATE: Type = 84; + pub const LOGICAL_REP_MSG_RELATION: Type = 82; + pub const LOGICAL_REP_MSG_TYPE: Type = 89; + pub const LOGICAL_REP_MSG_MESSAGE: Type = 77; + pub const LOGICAL_REP_MSG_BEGIN_PREPARE: Type = 98; + pub const LOGICAL_REP_MSG_PREPARE: Type = 80; + pub const LOGICAL_REP_MSG_COMMIT_PREPARED: Type = 75; + pub const LOGICAL_REP_MSG_ROLLBACK_PREPARED: Type = 114; + pub const LOGICAL_REP_MSG_STREAM_START: Type = 83; + pub const LOGICAL_REP_MSG_STREAM_STOP: Type = 69; + pub const LOGICAL_REP_MSG_STREAM_COMMIT: Type = 99; + pub const LOGICAL_REP_MSG_STREAM_ABORT: Type = 65; + pub const LOGICAL_REP_MSG_STREAM_PREPARE: Type = 112; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LogicalRepTupleData { + pub colvalues: *mut StringInfoData, + pub colstatus: *mut ::core::ffi::c_char, + pub ncols: ::core::ffi::c_int, +} +impl Default for LogicalRepTupleData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type LogicalRepRelId = uint32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LogicalRepRelation { + pub remoteid: LogicalRepRelId, + pub nspname: *mut ::core::ffi::c_char, + pub relname: *mut ::core::ffi::c_char, + pub natts: ::core::ffi::c_int, + pub attnames: *mut *mut ::core::ffi::c_char, + pub atttyps: *mut Oid, + pub replident: ::core::ffi::c_char, + pub relkind: ::core::ffi::c_char, + pub attkeys: *mut Bitmapset, +} +impl Default for LogicalRepRelation { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LogicalRepTyp { + pub remoteid: Oid, + pub nspname: *mut ::core::ffi::c_char, + pub typname: *mut ::core::ffi::c_char, +} +impl Default for LogicalRepTyp { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LogicalRepBeginData { + pub final_lsn: XLogRecPtr, + pub committime: TimestampTz, + pub xid: TransactionId, +} +impl Default for LogicalRepBeginData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct LogicalRepCommitData { + pub commit_lsn: XLogRecPtr, + pub end_lsn: XLogRecPtr, + pub committime: TimestampTz, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LogicalRepPreparedTxnData { + pub prepare_lsn: XLogRecPtr, + pub end_lsn: XLogRecPtr, + pub prepare_time: TimestampTz, + pub xid: TransactionId, + pub gid: [::core::ffi::c_char; 200usize], +} +impl Default for LogicalRepPreparedTxnData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LogicalRepCommitPreparedTxnData { + pub commit_lsn: XLogRecPtr, + pub end_lsn: XLogRecPtr, + pub commit_time: TimestampTz, + pub xid: TransactionId, + pub gid: [::core::ffi::c_char; 200usize], +} +impl Default for LogicalRepCommitPreparedTxnData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LogicalRepRollbackPreparedTxnData { + pub prepare_end_lsn: XLogRecPtr, + pub rollback_end_lsn: XLogRecPtr, + pub prepare_time: TimestampTz, + pub rollback_time: TimestampTz, + pub xid: TransactionId, + pub gid: [::core::ffi::c_char; 200usize], +} +impl Default for LogicalRepRollbackPreparedTxnData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LogicalRepStreamAbortData { + pub xid: TransactionId, + pub subxid: TransactionId, + pub abort_lsn: XLogRecPtr, + pub abort_time: TimestampTz, +} +impl Default for LogicalRepStreamAbortData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod CRSSnapshotAction { + pub type Type = ::core::ffi::c_uint; + pub const CRS_EXPORT_SNAPSHOT: Type = 0; + pub const CRS_NOEXPORT_SNAPSHOT: Type = 1; + pub const CRS_USE_SNAPSHOT: Type = 2; +} +pub mod WalRcvState { + pub type Type = ::core::ffi::c_uint; + pub const WALRCV_STOPPED: Type = 0; + pub const WALRCV_STARTING: Type = 1; + pub const WALRCV_STREAMING: Type = 2; + pub const WALRCV_WAITING: Type = 3; + pub const WALRCV_RESTARTING: Type = 4; + pub const WALRCV_STOPPING: Type = 5; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WalRcvData { + pub procno: ProcNumber, + pub pid: pid_t, + pub walRcvState: WalRcvState::Type, + pub walRcvStoppedCV: ConditionVariable, + pub startTime: pg_time_t, + pub receiveStart: XLogRecPtr, + pub receiveStartTLI: TimeLineID, + pub flushedUpto: XLogRecPtr, + pub receivedTLI: TimeLineID, + pub latestChunkStart: XLogRecPtr, + pub lastMsgSendTime: TimestampTz, + pub lastMsgReceiptTime: TimestampTz, + pub latestWalEnd: XLogRecPtr, + pub latestWalEndTime: TimestampTz, + pub conninfo: [::core::ffi::c_char; 1024usize], + pub sender_host: [::core::ffi::c_char; 1025usize], + pub sender_port: ::core::ffi::c_int, + pub slotname: [::core::ffi::c_char; 64usize], + pub is_temp_slot: bool, + pub ready_to_display: bool, + pub mutex: slock_t, + pub writtenUpto: pg_atomic_uint64, + pub force_reply: sig_atomic_t, +} +impl Default for WalRcvData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct WalRcvStreamOptions { + pub logical: bool, + pub slotname: *mut ::core::ffi::c_char, + pub startpoint: XLogRecPtr, + pub proto: WalRcvStreamOptions__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union WalRcvStreamOptions__bindgen_ty_1 { + pub physical: WalRcvStreamOptions__bindgen_ty_1__bindgen_ty_1, + pub logical: WalRcvStreamOptions__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct WalRcvStreamOptions__bindgen_ty_1__bindgen_ty_1 { + pub startpointTLI: TimeLineID, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WalRcvStreamOptions__bindgen_ty_1__bindgen_ty_2 { + pub proto_version: uint32, + pub publication_names: *mut List, + pub binary: bool, + pub streaming_str: *mut ::core::ffi::c_char, + pub twophase: bool, + pub origin: *mut ::core::ffi::c_char, +} +impl Default for WalRcvStreamOptions__bindgen_ty_1__bindgen_ty_2 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for WalRcvStreamOptions__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for WalRcvStreamOptions { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WalReceiverConn { + _unused: [u8; 0], +} +pub mod WalRcvExecStatus { + pub type Type = ::core::ffi::c_uint; + pub const WALRCV_ERROR: Type = 0; + pub const WALRCV_OK_COMMAND: Type = 1; + pub const WALRCV_OK_TUPLES: Type = 2; + pub const WALRCV_OK_COPY_IN: Type = 3; + pub const WALRCV_OK_COPY_OUT: Type = 4; + pub const WALRCV_OK_COPY_BOTH: Type = 5; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WalRcvExecResult { + pub status: WalRcvExecStatus::Type, + pub sqlstate: ::core::ffi::c_int, + pub err: *mut ::core::ffi::c_char, + pub tuplestore: *mut Tuplestorestate, + pub tupledesc: TupleDesc, +} +impl Default for WalRcvExecResult { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type walrcv_connect_fn = ::core::option::Option< + unsafe extern "C-unwind" fn( + conninfo: *const ::core::ffi::c_char, + replication: bool, + logical: bool, + must_use_password: bool, + appname: *const ::core::ffi::c_char, + err: *mut *mut ::core::ffi::c_char, + ) -> *mut WalReceiverConn, +>; +pub type walrcv_check_conninfo_fn = ::core::option::Option< + unsafe extern "C-unwind" fn(conninfo: *const ::core::ffi::c_char, must_use_password: bool), +>; +pub type walrcv_get_conninfo_fn = ::core::option::Option< + unsafe extern "C-unwind" fn(conn: *mut WalReceiverConn) -> *mut ::core::ffi::c_char, +>; +pub type walrcv_get_senderinfo_fn = ::core::option::Option< + unsafe extern "C-unwind" fn( + conn: *mut WalReceiverConn, + sender_host: *mut *mut ::core::ffi::c_char, + sender_port: *mut ::core::ffi::c_int, + ), +>; +pub type walrcv_identify_system_fn = ::core::option::Option< + unsafe extern "C-unwind" fn( + conn: *mut WalReceiverConn, + primary_tli: *mut TimeLineID, + ) -> *mut ::core::ffi::c_char, +>; +pub type walrcv_get_dbname_from_conninfo_fn = ::core::option::Option< + unsafe extern "C-unwind" fn(conninfo: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char, +>; +pub type walrcv_server_version_fn = ::core::option::Option< + unsafe extern "C-unwind" fn(conn: *mut WalReceiverConn) -> ::core::ffi::c_int, +>; +pub type walrcv_readtimelinehistoryfile_fn = ::core::option::Option< + unsafe extern "C-unwind" fn( + conn: *mut WalReceiverConn, + tli: TimeLineID, + filename: *mut *mut ::core::ffi::c_char, + content: *mut *mut ::core::ffi::c_char, + size: *mut ::core::ffi::c_int, + ), +>; +pub type walrcv_startstreaming_fn = ::core::option::Option< + unsafe extern "C-unwind" fn( + conn: *mut WalReceiverConn, + options: *const WalRcvStreamOptions, + ) -> bool, +>; +pub type walrcv_endstreaming_fn = ::core::option::Option< + unsafe extern "C-unwind" fn(conn: *mut WalReceiverConn, next_tli: *mut TimeLineID), +>; +pub type walrcv_receive_fn = ::core::option::Option< + unsafe extern "C-unwind" fn( + conn: *mut WalReceiverConn, + buffer: *mut *mut ::core::ffi::c_char, + wait_fd: *mut pgsocket, + ) -> ::core::ffi::c_int, +>; +pub type walrcv_send_fn = ::core::option::Option< + unsafe extern "C-unwind" fn( + conn: *mut WalReceiverConn, + buffer: *const ::core::ffi::c_char, + nbytes: ::core::ffi::c_int, + ), +>; +pub type walrcv_create_slot_fn = ::core::option::Option< + unsafe extern "C-unwind" fn( + conn: *mut WalReceiverConn, + slotname: *const ::core::ffi::c_char, + temporary: bool, + two_phase: bool, + failover: bool, + snapshot_action: CRSSnapshotAction::Type, + lsn: *mut XLogRecPtr, + ) -> *mut ::core::ffi::c_char, +>; +pub type walrcv_alter_slot_fn = ::core::option::Option< + unsafe extern "C-unwind" fn( + conn: *mut WalReceiverConn, + slotname: *const ::core::ffi::c_char, + failover: *const bool, + two_phase: *const bool, + ), +>; +pub type walrcv_get_backend_pid_fn = + ::core::option::Option pid_t>; +pub type walrcv_exec_fn = ::core::option::Option< + unsafe extern "C-unwind" fn( + conn: *mut WalReceiverConn, + query: *const ::core::ffi::c_char, + nRetTypes: ::core::ffi::c_int, + retTypes: *const Oid, + ) -> *mut WalRcvExecResult, +>; +pub type walrcv_disconnect_fn = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct WalReceiverFunctionsType { + pub walrcv_connect: walrcv_connect_fn, + pub walrcv_check_conninfo: walrcv_check_conninfo_fn, + pub walrcv_get_conninfo: walrcv_get_conninfo_fn, + pub walrcv_get_senderinfo: walrcv_get_senderinfo_fn, + pub walrcv_identify_system: walrcv_identify_system_fn, + pub walrcv_get_dbname_from_conninfo: walrcv_get_dbname_from_conninfo_fn, + pub walrcv_server_version: walrcv_server_version_fn, + pub walrcv_readtimelinehistoryfile: walrcv_readtimelinehistoryfile_fn, + pub walrcv_startstreaming: walrcv_startstreaming_fn, + pub walrcv_endstreaming: walrcv_endstreaming_fn, + pub walrcv_receive: walrcv_receive_fn, + pub walrcv_send: walrcv_send_fn, + pub walrcv_create_slot: walrcv_create_slot_fn, + pub walrcv_alter_slot: walrcv_alter_slot_fn, + pub walrcv_get_backend_pid: walrcv_get_backend_pid_fn, + pub walrcv_exec: walrcv_exec_fn, + pub walrcv_disconnect: walrcv_disconnect_fn, +} +pub mod ReplicationSlotPersistency { + pub type Type = ::core::ffi::c_uint; + pub const RS_PERSISTENT: Type = 0; + pub const RS_EPHEMERAL: Type = 1; + pub const RS_TEMPORARY: Type = 2; +} +pub mod ReplicationSlotInvalidationCause { + pub type Type = ::core::ffi::c_uint; + pub const RS_INVAL_NONE: Type = 0; + pub const RS_INVAL_WAL_REMOVED: Type = 1; + pub const RS_INVAL_HORIZON: Type = 2; + pub const RS_INVAL_WAL_LEVEL: Type = 4; + pub const RS_INVAL_IDLE_TIMEOUT: Type = 8; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReplicationSlotPersistentData { + pub name: NameData, + pub database: Oid, + pub persistency: ReplicationSlotPersistency::Type, + pub xmin: TransactionId, + pub catalog_xmin: TransactionId, + pub restart_lsn: XLogRecPtr, + pub invalidated: ReplicationSlotInvalidationCause::Type, + pub confirmed_flush: XLogRecPtr, + pub two_phase_at: XLogRecPtr, + pub two_phase: bool, + pub plugin: NameData, + pub synced: ::core::ffi::c_char, + pub failover: bool, +} +impl Default for ReplicationSlotPersistentData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReplicationSlot { + pub mutex: slock_t, + pub in_use: bool, + pub active_pid: pid_t, + pub just_dirtied: bool, + pub dirty: bool, + pub effective_xmin: TransactionId, + pub effective_catalog_xmin: TransactionId, + pub data: ReplicationSlotPersistentData, + pub io_in_progress_lock: LWLock, + pub active_cv: ConditionVariable, + pub candidate_catalog_xmin: TransactionId, + pub candidate_xmin_lsn: XLogRecPtr, + pub candidate_restart_valid: XLogRecPtr, + pub candidate_restart_lsn: XLogRecPtr, + pub last_saved_confirmed_flush: XLogRecPtr, + pub inactive_since: TimestampTz, +} +impl Default for ReplicationSlot { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ReplicationSlotCtlData { + pub replication_slots: [ReplicationSlot; 1usize], +} +impl Default for ReplicationSlotCtlData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type LogicalOutputPluginWriterWrite = ::core::option::Option< + unsafe extern "C-unwind" fn( + lr: *mut LogicalDecodingContext, + Ptr: XLogRecPtr, + xid: TransactionId, + last_write: bool, + ), +>; +pub type LogicalOutputPluginWriterPrepareWrite = LogicalOutputPluginWriterWrite; +pub type LogicalOutputPluginWriterUpdateProgress = ::core::option::Option< + unsafe extern "C-unwind" fn( + lr: *mut LogicalDecodingContext, + Ptr: XLogRecPtr, + xid: TransactionId, + skipped_xact: bool, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LogicalDecodingContext { + pub context: MemoryContext, + pub slot: *mut ReplicationSlot, + pub reader: *mut XLogReaderState, + pub reorder: *mut ReorderBuffer, + pub snapshot_builder: *mut SnapBuild, + pub fast_forward: bool, + pub callbacks: OutputPluginCallbacks, + pub options: OutputPluginOptions, + pub output_plugin_options: *mut List, + pub prepare_write: LogicalOutputPluginWriterPrepareWrite, + pub write: LogicalOutputPluginWriterWrite, + pub update_progress: LogicalOutputPluginWriterUpdateProgress, + pub out: StringInfo, + pub output_plugin_private: *mut ::core::ffi::c_void, + pub output_writer_private: *mut ::core::ffi::c_void, + pub streaming: bool, + pub twophase: bool, + pub twophase_opt_given: bool, + pub accept_writes: bool, + pub prepared_write: bool, + pub write_location: XLogRecPtr, + pub write_xid: TransactionId, + pub end_xact: bool, + pub processing_required: bool, +} +impl Default for LogicalDecodingContext { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RowSecurityPolicy { + pub policy_name: *mut ::core::ffi::c_char, + pub polcmd: ::core::ffi::c_char, + pub roles: *mut ArrayType, + pub permissive: bool, + pub qual: *mut Expr, + pub with_check_qual: *mut Expr, + pub hassublinks: bool, +} +impl Default for RowSecurityPolicy { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RowSecurityDesc { + pub rscxt: MemoryContext, + pub policies: *mut List, +} +impl Default for RowSecurityDesc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type row_security_policy_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn(cmdtype: CmdType::Type, relation: Relation) -> *mut List, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct buftag { + pub spcOid: Oid, + pub dbOid: Oid, + pub relNumber: RelFileNumber, + pub forkNum: ForkNumber::Type, + pub blockNum: BlockNumber, +} +impl Default for buftag { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type BufferTag = buftag; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BufferDesc { + pub tag: BufferTag, + pub buf_id: ::core::ffi::c_int, + pub state: pg_atomic_uint32, + pub wait_backend_pgprocno: ::core::ffi::c_int, + pub freeNext: ::core::ffi::c_int, + pub io_wref: PgAioWaitRef, + pub content_lock: LWLock, +} +impl Default for BufferDesc { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union BufferDescPadded { + pub bufferdesc: BufferDesc, + pub pad: [::core::ffi::c_char; 64usize], +} +impl Default for BufferDescPadded { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PendingWriteback { + pub tag: BufferTag, +} +impl Default for PendingWriteback { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WritebackContext { + pub max_pending: *mut ::core::ffi::c_int, + pub nr_pending: ::core::ffi::c_int, + pub pending_writebacks: [PendingWriteback; 256usize], +} +impl Default for WritebackContext { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CkptSortItem { + pub tsId: Oid, + pub relNumber: RelFileNumber, + pub forkNum: ForkNumber::Type, + pub blockNum: BlockNumber, + pub buf_id: ::core::ffi::c_int, +} +impl Default for CkptSortItem { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BufFile { + _unused: [u8; 0], +} +pub type pg_on_exit_callback = + ::core::option::Option; +pub type shmem_startup_hook_type = ::core::option::Option; +pub mod ProcSignalReason { + pub type Type = ::core::ffi::c_uint; + pub const PROCSIG_CATCHUP_INTERRUPT: Type = 0; + pub const PROCSIG_NOTIFY_INTERRUPT: Type = 1; + pub const PROCSIG_PARALLEL_MESSAGE: Type = 2; + pub const PROCSIG_WALSND_INIT_STOPPING: Type = 3; + pub const PROCSIG_BARRIER: Type = 4; + pub const PROCSIG_LOG_MEMORY_CONTEXT: Type = 5; + pub const PROCSIG_GET_MEMORY_CONTEXT: Type = 6; + pub const PROCSIG_PARALLEL_APPLY_MESSAGE: Type = 7; + pub const PROCSIG_RECOVERY_CONFLICT_FIRST: Type = 8; + pub const PROCSIG_RECOVERY_CONFLICT_DATABASE: Type = 8; + pub const PROCSIG_RECOVERY_CONFLICT_TABLESPACE: Type = 9; + pub const PROCSIG_RECOVERY_CONFLICT_LOCK: Type = 10; + pub const PROCSIG_RECOVERY_CONFLICT_SNAPSHOT: Type = 11; + pub const PROCSIG_RECOVERY_CONFLICT_LOGICALSLOT: Type = 12; + pub const PROCSIG_RECOVERY_CONFLICT_BUFFERPIN: Type = 13; + pub const PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK: Type = 14; + pub const PROCSIG_RECOVERY_CONFLICT_LAST: Type = 14; +} +pub mod ProcSignalBarrierType { + pub type Type = ::core::ffi::c_uint; + pub const PROCSIGNAL_BARRIER_SMGRRELEASE: Type = 0; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ProcSignalHeader { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug)] +pub struct xl_standby_locks { + pub nlocks: ::core::ffi::c_int, + pub locks: __IncompleteArrayField, +} +impl Default for xl_standby_locks { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug)] +pub struct xl_running_xacts { + pub xcnt: ::core::ffi::c_int, + pub subxcnt: ::core::ffi::c_int, + pub subxid_overflow: bool, + pub nextXid: TransactionId, + pub oldestRunningXid: TransactionId, + pub latestCompletedXid: TransactionId, + pub xids: __IncompleteArrayField, +} +impl Default for xl_running_xacts { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +pub struct xl_invalidations { + pub dbId: Oid, + pub tsId: Oid, + pub relcacheInitFileInval: bool, + pub nmsgs: ::core::ffi::c_int, + pub msgs: __IncompleteArrayField, +} +impl Default for xl_invalidations { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod subxids_array_status { + pub type Type = ::core::ffi::c_uint; + pub const SUBXIDS_IN_ARRAY: Type = 0; + pub const SUBXIDS_MISSING: Type = 1; + pub const SUBXIDS_IN_SUBTRANS: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RunningTransactionsData { + pub xcnt: ::core::ffi::c_int, + pub subxcnt: ::core::ffi::c_int, + pub subxid_status: subxids_array_status::Type, + pub nextXid: TransactionId, + pub oldestRunningXid: TransactionId, + pub oldestDatabaseRunningXid: TransactionId, + pub latestCompletedXid: TransactionId, + pub xids: *mut TransactionId, +} +impl Default for RunningTransactionsData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type RunningTransactions = *mut RunningTransactionsData; +pub mod LogStmtLevel { + pub type Type = ::core::ffi::c_uint; + pub const LOGSTMT_NONE: Type = 0; + pub const LOGSTMT_DDL: Type = 1; + pub const LOGSTMT_MOD: Type = 2; + pub const LOGSTMT_ALL: Type = 3; +} +pub mod ProcessUtilityContext { + pub type Type = ::core::ffi::c_uint; + pub const PROCESS_UTILITY_TOPLEVEL: Type = 0; + pub const PROCESS_UTILITY_QUERY: Type = 1; + pub const PROCESS_UTILITY_QUERY_NONATOMIC: Type = 2; + pub const PROCESS_UTILITY_SUBCOMMAND: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AlterTableUtilityContext { + pub pstmt: *mut PlannedStmt, + pub queryString: *const ::core::ffi::c_char, + pub relid: Oid, + pub params: ParamListInfo, + pub queryEnv: *mut QueryEnvironment, +} +impl Default for AlterTableUtilityContext { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type ProcessUtility_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + pstmt: *mut PlannedStmt, + queryString: *const ::core::ffi::c_char, + readOnlyTree: bool, + context: ProcessUtilityContext::Type, + params: ParamListInfo, + queryEnv: *mut QueryEnvironment, + dest: *mut DestReceiver, + qc: *mut QueryCompletion, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TSAnyCacheEntry { + pub objId: Oid, + pub isvalid: bool, +} +impl Default for TSAnyCacheEntry { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TSParserCacheEntry { + pub prsId: Oid, + pub isvalid: bool, + pub startOid: Oid, + pub tokenOid: Oid, + pub endOid: Oid, + pub headlineOid: Oid, + pub lextypeOid: Oid, + pub prsstart: FmgrInfo, + pub prstoken: FmgrInfo, + pub prsend: FmgrInfo, + pub prsheadline: FmgrInfo, +} +impl Default for TSParserCacheEntry { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TSDictionaryCacheEntry { + pub dictId: Oid, + pub isvalid: bool, + pub lexizeOid: Oid, + pub lexize: FmgrInfo, + pub dictCtx: MemoryContext, + pub dictData: *mut ::core::ffi::c_void, +} +impl Default for TSDictionaryCacheEntry { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ListDictionary { + pub len: ::core::ffi::c_int, + pub dictIds: *mut Oid, +} +impl Default for ListDictionary { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TSConfigCacheEntry { + pub cfgId: Oid, + pub isvalid: bool, + pub prsId: Oid, + pub lenmap: ::core::ffi::c_int, + pub map: *mut ListDictionary, +} +impl Default for TSConfigCacheEntry { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct WordEntry { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +impl WordEntry { + #[inline] + pub fn haspos(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_haspos(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn haspos_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_haspos_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn len(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 11u8) as u32) } + } + #[inline] + pub fn set_len(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 11u8, val as u64) + } + } + #[inline] + pub unsafe fn len_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 11u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_len_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 11u8, + val as u64, + ) + } + } + #[inline] + pub fn pos(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 20u8) as u32) } + } + #[inline] + pub fn set_pos(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 20u8, val as u64) + } + } + #[inline] + pub unsafe fn pos_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 12usize, + 20u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_pos_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 12usize, + 20u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + haspos: uint32, + len: uint32, + pos: uint32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let haspos: u32 = unsafe { ::core::mem::transmute(haspos) }; + haspos as u64 + }); + __bindgen_bitfield_unit.set(1usize, 11u8, { + let len: u32 = unsafe { ::core::mem::transmute(len) }; + len as u64 + }); + __bindgen_bitfield_unit.set(12usize, 20u8, { + let pos: u32 = unsafe { ::core::mem::transmute(pos) }; + pos as u64 + }); + __bindgen_bitfield_unit + } +} +pub type WordEntryPos = uint16; +#[repr(C)] +#[derive(Debug, Default)] +pub struct WordEntryPosVector { + pub npos: uint16, + pub pos: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct WordEntryPosVector1 { + pub npos: uint16, + pub pos: [WordEntryPos; 1usize], +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct TSVectorData { + pub vl_len_: int32, + pub size: int32, + pub entries: __IncompleteArrayField, +} +pub type TSVector = *mut TSVectorData; +pub type QueryItemType = int8; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct QueryOperand { + pub type_: QueryItemType, + pub weight: uint8, + pub prefix: bool, + pub valcrc: int32, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +impl QueryOperand { + #[inline] + pub fn length(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 12u8) as u32) } + } + #[inline] + pub fn set_length(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 12u8, val as u64) + } + } + #[inline] + pub unsafe fn length_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 12u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_length_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 12u8, + val as u64, + ) + } + } + #[inline] + pub fn distance(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 20u8) as u32) } + } + #[inline] + pub fn set_distance(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 20u8, val as u64) + } + } + #[inline] + pub unsafe fn distance_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 12usize, + 20u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_distance_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 12usize, + 20u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(length: uint32, distance: uint32) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 12u8, { + let length: u32 = unsafe { ::core::mem::transmute(length) }; + length as u64 + }); + __bindgen_bitfield_unit.set(12usize, 20u8, { + let distance: u32 = unsafe { ::core::mem::transmute(distance) }; + distance as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct QueryOperator { + pub type_: QueryItemType, + pub oper: int8, + pub distance: int16, + pub left: uint32, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union QueryItem { + pub type_: QueryItemType, + pub qoperator: QueryOperator, + pub qoperand: QueryOperand, +} +impl Default for QueryItem { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct TSQueryData { + pub vl_len_: int32, + pub size: int32, + pub data: __IncompleteArrayField<::core::ffi::c_char>, +} +pub type TSQuery = *mut TSQueryData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LexDescr { + pub lexid: ::core::ffi::c_int, + pub alias: *mut ::core::ffi::c_char, + pub descr: *mut ::core::ffi::c_char, +} +impl Default for LexDescr { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HeadlineWordEntry { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub pos: WordEntryPos, + pub word: *mut ::core::ffi::c_char, + pub item: *mut QueryOperand, +} +impl Default for HeadlineWordEntry { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl HeadlineWordEntry { + #[inline] + pub fn selected(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_selected(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn selected_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_selected_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn in_(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_in(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn in__raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_in_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn replace(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_replace(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn replace_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_replace_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn repeated(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_repeated(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn repeated_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_repeated_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn skip(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_skip(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn skip_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_skip_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn unused(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 3u8) as u32) } + } + #[inline] + pub fn set_unused(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn unused_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 3u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_unused_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn type_(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_type(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn type__raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_type_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn len(&self) -> uint32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_len(&mut self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub unsafe fn len_raw(this: *const Self) -> uint32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 16usize, + 16u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_len_raw(this: *mut Self, val: uint32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 16usize, + 16u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + selected: uint32, + in_: uint32, + replace: uint32, + repeated: uint32, + skip: uint32, + unused: uint32, + type_: uint32, + len: uint32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let selected: u32 = unsafe { ::core::mem::transmute(selected) }; + selected as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let in_: u32 = unsafe { ::core::mem::transmute(in_) }; + in_ as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let replace: u32 = unsafe { ::core::mem::transmute(replace) }; + replace as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let repeated: u32 = unsafe { ::core::mem::transmute(repeated) }; + repeated as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let skip: u32 = unsafe { ::core::mem::transmute(skip) }; + skip as u64 + }); + __bindgen_bitfield_unit.set(5usize, 3u8, { + let unused: u32 = unsafe { ::core::mem::transmute(unused) }; + unused as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let type_: u32 = unsafe { ::core::mem::transmute(type_) }; + type_ as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let len: u32 = unsafe { ::core::mem::transmute(len) }; + len as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HeadlineParsedText { + pub words: *mut HeadlineWordEntry, + pub lenwords: int32, + pub curwords: int32, + pub vectorpos: int32, + pub startsel: *mut ::core::ffi::c_char, + pub stopsel: *mut ::core::ffi::c_char, + pub fragdelim: *mut ::core::ffi::c_char, + pub startsellen: int16, + pub stopsellen: int16, + pub fragdelimlen: int16, +} +impl Default for HeadlineParsedText { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct StopList { + pub len: ::core::ffi::c_int, + pub stop: *mut *mut ::core::ffi::c_char, +} +impl Default for StopList { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TSLexeme { + pub nvariant: uint16, + pub flags: uint16, + pub lexeme: *mut ::core::ffi::c_char, +} +impl Default for TSLexeme { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DictSubState { + pub isend: bool, + pub getnext: bool, + pub private_state: *mut ::core::ffi::c_void, +} +impl Default for DictSubState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TSVectorParseStateData { + _unused: [u8; 0], +} +pub type TSVectorParseState = *mut TSVectorParseStateData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct TSQueryParserStateData { + _unused: [u8; 0], +} +pub type TSQueryParserState = *mut TSQueryParserStateData; +pub type PushFunction = ::core::option::Option< + unsafe extern "C-unwind" fn( + opaque: Datum, + state: TSQueryParserState, + token: *mut ::core::ffi::c_char, + tokenlen: ::core::ffi::c_int, + tokenweights: int16, + prefix: bool, + ), +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ParsedWord { + pub flags: uint16, + pub len: uint16, + pub nvariant: uint16, + pub alen: uint16, + pub pos: ParsedWord__bindgen_ty_1, + pub word: *mut ::core::ffi::c_char, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ParsedWord__bindgen_ty_1 { + pub pos: uint16, + pub apos: *mut uint16, +} +impl Default for ParsedWord__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for ParsedWord { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ParsedText { + pub words: *mut ParsedWord, + pub lenwords: int32, + pub curwords: int32, + pub pos: int32, +} +impl Default for ParsedText { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod TSTernaryValue { + pub type Type = ::core::ffi::c_uint; + pub const TS_NO: Type = 0; + pub const TS_YES: Type = 1; + pub const TS_MAYBE: Type = 2; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ExecPhraseData { + pub npos: ::core::ffi::c_int, + pub allocated: bool, + pub negate: bool, + pub pos: *mut WordEntryPos, + pub width: ::core::ffi::c_int, +} +impl Default for ExecPhraseData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type TSExecuteCallback = ::core::option::Option< + unsafe extern "C-unwind" fn( + arg: *mut ::core::ffi::c_void, + val: *mut QueryOperand, + data: *mut ExecPhraseData, + ) -> TSTernaryValue::Type, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct QTNode { + pub valnode: *mut QueryItem, + pub flags: uint32, + pub nchild: int32, + pub word: *mut ::core::ffi::c_char, + pub sign: uint32, + pub child: *mut *mut QTNode, +} +impl Default for QTNode { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type TSQuerySign = uint64; +pub type DateADT = int32; +pub type TimeADT = int64; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct TimeTzADT { + pub time: TimeADT, + pub zone: int32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tzEntry { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct datetkn { + pub token: [::core::ffi::c_char; 11usize], + pub type_: ::core::ffi::c_char, + pub value: int32, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct TimeZoneAbbrevTable { + pub tblsize: Size, + pub numabbrevs: ::core::ffi::c_int, + pub abbrevs: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug)] +pub struct DynamicZoneAbbrev { + pub tz: *mut pg_tz, + pub zone: __IncompleteArrayField<::core::ffi::c_char>, +} +impl Default for DynamicZoneAbbrev { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DateTimeErrorExtra { + pub dtee_timezone: *const ::core::ffi::c_char, + pub dtee_abbrev: *const ::core::ffi::c_char, +} +impl Default for DateTimeErrorExtra { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct Point { + pub x: float8, + pub y: float8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct LSEG { + pub p: [Point; 2usize], +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct PATH { + pub vl_len_: int32, + pub npts: int32, + pub closed: int32, + pub dummy: int32, + pub p: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct LINE { + pub A: float8, + pub B: float8, + pub C: float8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct BOX { + pub high: Point, + pub low: Point, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct POLYGON { + pub vl_len_: int32, + pub npts: int32, + pub boundbox: BOX, + pub p: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct CIRCLE { + pub center: Point, + pub radius: float8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct pg_prng_state { + pub s0: uint64, + pub s1: uint64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NumericData { + _unused: [u8; 0], +} +pub type Numeric = *mut NumericData; +pub mod JsonbIteratorToken { + pub type Type = ::core::ffi::c_uint; + pub const WJB_DONE: Type = 0; + pub const WJB_KEY: Type = 1; + pub const WJB_VALUE: Type = 2; + pub const WJB_ELEM: Type = 3; + pub const WJB_BEGIN_ARRAY: Type = 4; + pub const WJB_END_ARRAY: Type = 5; + pub const WJB_BEGIN_OBJECT: Type = 6; + pub const WJB_END_OBJECT: Type = 7; +} +pub type JEntry = uint32; +#[repr(C)] +#[derive(Debug, Default)] +pub struct JsonbContainer { + pub header: uint32, + pub children: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Default)] +pub struct Jsonb { + pub vl_len_: int32, + pub root: JsonbContainer, +} +pub mod jbvType { + pub type Type = ::core::ffi::c_uint; + pub const jbvNull: Type = 0; + pub const jbvString: Type = 1; + pub const jbvNumeric: Type = 2; + pub const jbvBool: Type = 3; + pub const jbvArray: Type = 16; + pub const jbvObject: Type = 17; + pub const jbvBinary: Type = 18; + pub const jbvDatetime: Type = 32; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct JsonbValue { + pub type_: jbvType::Type, + pub val: JsonbValue__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JsonbValue__bindgen_ty_1 { + pub numeric: Numeric, + pub boolean: bool, + pub string: JsonbValue__bindgen_ty_1__bindgen_ty_1, + pub array: JsonbValue__bindgen_ty_1__bindgen_ty_2, + pub object: JsonbValue__bindgen_ty_1__bindgen_ty_3, + pub binary: JsonbValue__bindgen_ty_1__bindgen_ty_4, + pub datetime: JsonbValue__bindgen_ty_1__bindgen_ty_5, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonbValue__bindgen_ty_1__bindgen_ty_1 { + pub len: ::core::ffi::c_int, + pub val: *mut ::core::ffi::c_char, +} +impl Default for JsonbValue__bindgen_ty_1__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonbValue__bindgen_ty_1__bindgen_ty_2 { + pub nElems: ::core::ffi::c_int, + pub elems: *mut JsonbValue, + pub rawScalar: bool, +} +impl Default for JsonbValue__bindgen_ty_1__bindgen_ty_2 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonbValue__bindgen_ty_1__bindgen_ty_3 { + pub nPairs: ::core::ffi::c_int, + pub pairs: *mut JsonbPair, +} +impl Default for JsonbValue__bindgen_ty_1__bindgen_ty_3 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonbValue__bindgen_ty_1__bindgen_ty_4 { + pub len: ::core::ffi::c_int, + pub data: *mut JsonbContainer, +} +impl Default for JsonbValue__bindgen_ty_1__bindgen_ty_4 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonbValue__bindgen_ty_1__bindgen_ty_5 { + pub value: Datum, + pub typid: Oid, + pub typmod: int32, + pub tz: ::core::ffi::c_int, +} +impl Default for JsonbValue__bindgen_ty_1__bindgen_ty_5 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for JsonbValue__bindgen_ty_1 { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +impl Default for JsonbValue { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct JsonbPair { + pub key: JsonbValue, + pub value: JsonbValue, + pub order: uint32, +} +impl Default for JsonbPair { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct JsonbParseState { + pub contVal: JsonbValue, + pub size: Size, + pub next: *mut JsonbParseState, + pub unique_keys: bool, + pub skip_nulls: bool, +} +impl Default for JsonbParseState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod JsonbIterState { + pub type Type = ::core::ffi::c_uint; + pub const JBI_ARRAY_START: Type = 0; + pub const JBI_ARRAY_ELEM: Type = 1; + pub const JBI_OBJECT_START: Type = 2; + pub const JBI_OBJECT_KEY: Type = 3; + pub const JBI_OBJECT_VALUE: Type = 4; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JsonbIterator { + pub container: *mut JsonbContainer, + pub nElems: uint32, + pub isScalar: bool, + pub children: *mut JEntry, + pub dataProper: *mut ::core::ffi::c_char, + pub curIndex: ::core::ffi::c_int, + pub curDataOffset: uint32, + pub curValueOffset: uint32, + pub state: JsonbIterState::Type, + pub parent: *mut JsonbIterator, +} +impl Default for JsonbIterator { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OpIndexInterpretation { + pub opfamily_id: Oid, + pub cmptype: CompareType::Type, + pub oplefttype: Oid, + pub oprighttype: Oid, +} +impl Default for OpIndexInterpretation { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub mod IOFuncSelector { + pub type Type = ::core::ffi::c_uint; + pub const IOFunc_input: Type = 0; + pub const IOFunc_output: Type = 1; + pub const IOFunc_receive: Type = 2; + pub const IOFunc_send: Type = 3; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AttStatsSlot { + pub staop: Oid, + pub stacoll: Oid, + pub valuetype: Oid, + pub values: *mut Datum, + pub nvalues: ::core::ffi::c_int, + pub numbers: *mut float4, + pub nnumbers: ::core::ffi::c_int, + pub values_arr: *mut ::core::ffi::c_void, + pub numbers_arr: *mut ::core::ffi::c_void, +} +impl Default for AttStatsSlot { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type get_attavgwidth_hook_type = + ::core::option::Option int32>; +pub mod CheckEnableRlsResult { + pub type Type = ::core::ffi::c_uint; + pub const RLS_NONE: Type = 0; + pub const RLS_NONE_ENV: Type = 1; + pub const RLS_ENABLED: Type = 2; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct BlockSamplerData { + pub N: BlockNumber, + pub n: ::core::ffi::c_int, + pub t: BlockNumber, + pub m: ::core::ffi::c_int, + pub randstate: pg_prng_state, +} +pub type BlockSampler = *mut BlockSamplerData; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ReservoirStateData { + pub W: f64, + pub randstate: pg_prng_state, +} +pub type ReservoirState = *mut ReservoirStateData; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct EstimationInfo { + pub flags: uint32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct VariableStatData { + pub var: *mut Node, + pub rel: *mut RelOptInfo, + pub statsTuple: HeapTuple, + pub freefunc: ::core::option::Option, + pub vartype: Oid, + pub atttype: Oid, + pub atttypmod: int32, + pub isunique: bool, + pub acl_ok: bool, +} +impl Default for VariableStatData { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct GenericCosts { + pub indexStartupCost: Cost, + pub indexTotalCost: Cost, + pub indexSelectivity: Selectivity, + pub indexCorrelation: f64, + pub numIndexPages: f64, + pub numIndexTuples: f64, + pub spc_random_page_cost: f64, + pub num_sa_scans: f64, +} +pub type get_relation_stats_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + rte: *mut RangeTblEntry, + attnum: AttrNumber, + vardata: *mut VariableStatData, + ) -> bool, +>; +pub type get_index_stats_hook_type = ::core::option::Option< + unsafe extern "C-unwind" fn( + root: *mut PlannerInfo, + indexOid: Oid, + indexattnum: AttrNumber, + vardata: *mut VariableStatData, + ) -> bool, +>; +pub type CCHashFN = ::core::option::Option uint32>; +pub type CCFastEqualFN = + ::core::option::Option bool>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catcache { + pub id: ::core::ffi::c_int, + pub cc_nbuckets: ::core::ffi::c_int, + pub cc_tupdesc: TupleDesc, + pub cc_bucket: *mut dlist_head, + pub cc_hashfunc: [CCHashFN; 4usize], + pub cc_fastequal: [CCFastEqualFN; 4usize], + pub cc_keyno: [::core::ffi::c_int; 4usize], + pub cc_nkeys: ::core::ffi::c_int, + pub cc_ntup: ::core::ffi::c_int, + pub cc_nlist: ::core::ffi::c_int, + pub cc_nlbuckets: ::core::ffi::c_int, + pub cc_lbucket: *mut dlist_head, + pub cc_relname: *const ::core::ffi::c_char, + pub cc_reloid: Oid, + pub cc_indexoid: Oid, + pub cc_relisshared: bool, + pub cc_next: slist_node, + pub cc_skey: [ScanKeyData; 4usize], +} +impl Default for catcache { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCache = catcache; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catctup { + pub ct_magic: ::core::ffi::c_int, + pub hash_value: uint32, + pub keys: [Datum; 4usize], + pub cache_elem: dlist_node, + pub refcount: ::core::ffi::c_int, + pub dead: bool, + pub negative: bool, + pub tuple: HeapTupleData, + pub c_list: *mut catclist, + pub my_cache: *mut CatCache, +} +impl Default for catctup { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCTup = catctup; +#[repr(C)] +#[derive(Debug)] +pub struct catclist { + pub cl_magic: ::core::ffi::c_int, + pub hash_value: uint32, + pub cache_elem: dlist_node, + pub keys: [Datum; 4usize], + pub refcount: ::core::ffi::c_int, + pub dead: bool, + pub ordered: bool, + pub nkeys: ::core::ffi::c_short, + pub n_members: ::core::ffi::c_int, + pub my_cache: *mut CatCache, + pub members: __IncompleteArrayField<*mut CatCTup>, +} +impl Default for catclist { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCList = catclist; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catcacheheader { + pub ch_caches: slist_head, + pub ch_ntup: ::core::ffi::c_int, +} +impl Default for catcacheheader { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCacheHeader = catcacheheader; +pub mod SysCacheIdentifier { + pub type Type = ::core::ffi::c_uint; + pub const AGGFNOID: Type = 0; + pub const AMNAME: Type = 1; + pub const AMOID: Type = 2; + pub const AMOPOPID: Type = 3; + pub const AMOPSTRATEGY: Type = 4; + pub const AMPROCNUM: Type = 5; + pub const ATTNAME: Type = 6; + pub const ATTNUM: Type = 7; + pub const AUTHMEMMEMROLE: Type = 8; + pub const AUTHMEMROLEMEM: Type = 9; + pub const AUTHNAME: Type = 10; + pub const AUTHOID: Type = 11; + pub const CASTSOURCETARGET: Type = 12; + pub const CLAAMNAMENSP: Type = 13; + pub const CLAOID: Type = 14; + pub const COLLNAMEENCNSP: Type = 15; + pub const COLLOID: Type = 16; + pub const CONDEFAULT: Type = 17; + pub const CONNAMENSP: Type = 18; + pub const CONSTROID: Type = 19; + pub const CONVOID: Type = 20; + pub const DATABASEOID: Type = 21; + pub const DEFACLROLENSPOBJ: Type = 22; + pub const ENUMOID: Type = 23; + pub const ENUMTYPOIDNAME: Type = 24; + pub const EVENTTRIGGERNAME: Type = 25; + pub const EVENTTRIGGEROID: Type = 26; + pub const EXTENSIONNAME: Type = 27; + pub const EXTENSIONOID: Type = 28; + pub const FOREIGNDATAWRAPPERNAME: Type = 29; + pub const FOREIGNDATAWRAPPEROID: Type = 30; + pub const FOREIGNSERVERNAME: Type = 31; + pub const FOREIGNSERVEROID: Type = 32; + pub const FOREIGNTABLEREL: Type = 33; + pub const INDEXRELID: Type = 34; + pub const LANGNAME: Type = 35; + pub const LANGOID: Type = 36; + pub const NAMESPACENAME: Type = 37; + pub const NAMESPACEOID: Type = 38; + pub const OPERNAMENSP: Type = 39; + pub const OPEROID: Type = 40; + pub const OPFAMILYAMNAMENSP: Type = 41; + pub const OPFAMILYOID: Type = 42; + pub const PARAMETERACLNAME: Type = 43; + pub const PARAMETERACLOID: Type = 44; + pub const PARTRELID: Type = 45; + pub const PROCNAMEARGSNSP: Type = 46; + pub const PROCOID: Type = 47; + pub const PUBLICATIONNAME: Type = 48; + pub const PUBLICATIONNAMESPACE: Type = 49; + pub const PUBLICATIONNAMESPACEMAP: Type = 50; + pub const PUBLICATIONOID: Type = 51; + pub const PUBLICATIONREL: Type = 52; + pub const PUBLICATIONRELMAP: Type = 53; + pub const RANGEMULTIRANGE: Type = 54; + pub const RANGETYPE: Type = 55; + pub const RELNAMENSP: Type = 56; + pub const RELOID: Type = 57; + pub const REPLORIGIDENT: Type = 58; + pub const REPLORIGNAME: Type = 59; + pub const RULERELNAME: Type = 60; + pub const SEQRELID: Type = 61; + pub const STATEXTDATASTXOID: Type = 62; + pub const STATEXTNAMENSP: Type = 63; + pub const STATEXTOID: Type = 64; + pub const STATRELATTINH: Type = 65; + pub const SUBSCRIPTIONNAME: Type = 66; + pub const SUBSCRIPTIONOID: Type = 67; + pub const SUBSCRIPTIONRELMAP: Type = 68; + pub const TABLESPACEOID: Type = 69; + pub const TRFOID: Type = 70; + pub const TRFTYPELANG: Type = 71; + pub const TSCONFIGMAP: Type = 72; + pub const TSCONFIGNAMENSP: Type = 73; + pub const TSCONFIGOID: Type = 74; + pub const TSDICTNAMENSP: Type = 75; + pub const TSDICTOID: Type = 76; + pub const TSPARSERNAMENSP: Type = 77; + pub const TSPARSEROID: Type = 78; + pub const TSTEMPLATENAMENSP: Type = 79; + pub const TSTEMPLATEOID: Type = 80; + pub const TYPENAMENSP: Type = 81; + pub const TYPEOID: Type = 82; + pub const USERMAPPINGOID: Type = 83; + pub const USERMAPPINGUSERSERVER: Type = 84; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RangeType { + pub vl_len_: int32, + pub rangetypid: Oid, +} +impl Default for RangeType { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RangeBound { + pub val: Datum, + pub infinite: bool, + pub inclusive: bool, + pub lower: bool, +} +impl Default for RangeBound { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ClosestMatchState { + pub source: *const ::core::ffi::c_char, + pub min_d: ::core::ffi::c_int, + pub max_d: ::core::ffi::c_int, + pub match_: *const ::core::ffi::c_char, +} +impl Default for ClosestMatchState { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type __builtin_va_list = [__va_list_tag; 1usize]; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __va_list_tag { + pub gp_offset: ::core::ffi::c_uint, + pub fp_offset: ::core::ffi::c_uint, + pub overflow_arg_area: *mut ::core::ffi::c_void, + pub reg_save_area: *mut ::core::ffi::c_void, +} +impl Default for __va_list_tag { + fn default() -> Self { + let mut s = ::core::mem::MaybeUninit::::uninit(); + unsafe { + ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct AttrMissing { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct PartitionTupleRouting { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct WaitEventSet { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct binaryheap { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct TsmRoutine { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct TableFuncRoutine { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct memoize_hash { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct HashAggSpill { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct WindowObjectData { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ParallelExecutorInfo { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct TupleQueueReader { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct _MdfdVec { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct derives_hash { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct RegisteredBgWorker { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct SnapBuild { + pub _address: u8, +} +#[pgrx_macros::pg_guard] +unsafe extern "C-unwind" { + pub fn ExceptionalCondition( + conditionName: *const ::core::ffi::c_char, + fileName: *const ::core::ffi::c_char, + lineNumber: ::core::ffi::c_int, + ); + pub fn pg_set_noblock(sock: pgsocket) -> bool; + pub fn pg_set_block(sock: pgsocket) -> bool; + pub fn has_drive_prefix(path: *const ::core::ffi::c_char) -> bool; + pub fn first_dir_separator(filename: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char; + pub fn last_dir_separator(filename: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char; + pub fn first_path_var_separator( + pathlist: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn join_path_components( + ret_path: *mut ::core::ffi::c_char, + head: *const ::core::ffi::c_char, + tail: *const ::core::ffi::c_char, + ); + pub fn canonicalize_path(path: *mut ::core::ffi::c_char); + pub fn canonicalize_path_enc(path: *mut ::core::ffi::c_char, encoding: ::core::ffi::c_int); + pub fn make_native_path(filename: *mut ::core::ffi::c_char); + pub fn cleanup_path(path: *mut ::core::ffi::c_char); + pub fn path_contains_parent_reference(path: *const ::core::ffi::c_char) -> bool; + pub fn path_is_relative_and_below_cwd(path: *const ::core::ffi::c_char) -> bool; + pub fn path_is_prefix_of_path( + path1: *const ::core::ffi::c_char, + path2: *const ::core::ffi::c_char, + ) -> bool; + pub fn make_absolute_path(path: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char; + pub fn get_progname(argv0: *const ::core::ffi::c_char) -> *const ::core::ffi::c_char; + pub fn get_share_path( + my_exec_path: *const ::core::ffi::c_char, + ret_path: *mut ::core::ffi::c_char, + ); + pub fn get_etc_path( + my_exec_path: *const ::core::ffi::c_char, + ret_path: *mut ::core::ffi::c_char, + ); + pub fn get_include_path( + my_exec_path: *const ::core::ffi::c_char, + ret_path: *mut ::core::ffi::c_char, + ); + pub fn get_pkginclude_path( + my_exec_path: *const ::core::ffi::c_char, + ret_path: *mut ::core::ffi::c_char, + ); + pub fn get_includeserver_path( + my_exec_path: *const ::core::ffi::c_char, + ret_path: *mut ::core::ffi::c_char, + ); + pub fn get_lib_path( + my_exec_path: *const ::core::ffi::c_char, + ret_path: *mut ::core::ffi::c_char, + ); + pub fn get_pkglib_path( + my_exec_path: *const ::core::ffi::c_char, + ret_path: *mut ::core::ffi::c_char, + ); + pub fn get_locale_path( + my_exec_path: *const ::core::ffi::c_char, + ret_path: *mut ::core::ffi::c_char, + ); + pub fn get_doc_path( + my_exec_path: *const ::core::ffi::c_char, + ret_path: *mut ::core::ffi::c_char, + ); + pub fn get_html_path( + my_exec_path: *const ::core::ffi::c_char, + ret_path: *mut ::core::ffi::c_char, + ); + pub fn get_man_path( + my_exec_path: *const ::core::ffi::c_char, + ret_path: *mut ::core::ffi::c_char, + ); + pub fn get_home_path(ret_path: *mut ::core::ffi::c_char) -> bool; + pub fn get_parent_directory(path: *mut ::core::ffi::c_char); + pub fn pgfnames(path: *const ::core::ffi::c_char) -> *mut *mut ::core::ffi::c_char; + pub fn pgfnames_cleanup(filenames: *mut *mut ::core::ffi::c_char); + pub fn set_pglocale_pgservice( + argv0: *const ::core::ffi::c_char, + app: *const ::core::ffi::c_char, + ); + pub fn validate_exec(path: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn find_my_exec( + argv0: *const ::core::ffi::c_char, + retpath: *mut ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn find_other_exec( + argv0: *const ::core::ffi::c_char, + target: *const ::core::ffi::c_char, + versionstr: *const ::core::ffi::c_char, + retpath: *mut ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn pipe_read_line(cmd: *mut ::core::ffi::c_char) -> *mut ::core::ffi::c_char; + pub fn pg_usleep(microsec: ::core::ffi::c_long); + pub fn pg_strcasecmp( + s1: *const ::core::ffi::c_char, + s2: *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn pg_strncasecmp( + s1: *const ::core::ffi::c_char, + s2: *const ::core::ffi::c_char, + n: usize, + ) -> ::core::ffi::c_int; + pub fn pg_toupper(ch: ::core::ffi::c_uchar) -> ::core::ffi::c_uchar; + pub fn pg_tolower(ch: ::core::ffi::c_uchar) -> ::core::ffi::c_uchar; + pub fn pg_ascii_toupper(ch: ::core::ffi::c_uchar) -> ::core::ffi::c_uchar; + pub fn pg_ascii_tolower(ch: ::core::ffi::c_uchar) -> ::core::ffi::c_uchar; + pub fn pg_vsnprintf( + str_: *mut ::core::ffi::c_char, + count: usize, + fmt: *const ::core::ffi::c_char, + args: *mut __va_list_tag, + ) -> ::core::ffi::c_int; + pub fn pg_snprintf( + str_: *mut ::core::ffi::c_char, + count: usize, + fmt: *const ::core::ffi::c_char, + ... + ) -> ::core::ffi::c_int; + pub fn pg_vsprintf( + str_: *mut ::core::ffi::c_char, + fmt: *const ::core::ffi::c_char, + args: *mut __va_list_tag, + ) -> ::core::ffi::c_int; + pub fn pg_sprintf( + str_: *mut ::core::ffi::c_char, + fmt: *const ::core::ffi::c_char, + ... + ) -> ::core::ffi::c_int; + pub fn pg_vfprintf( + stream: *mut FILE, + fmt: *const ::core::ffi::c_char, + args: *mut __va_list_tag, + ) -> ::core::ffi::c_int; + pub fn pg_fprintf( + stream: *mut FILE, + fmt: *const ::core::ffi::c_char, + ... + ) -> ::core::ffi::c_int; + pub fn pg_vprintf( + fmt: *const ::core::ffi::c_char, + args: *mut __va_list_tag, + ) -> ::core::ffi::c_int; + pub fn pg_printf(fmt: *const ::core::ffi::c_char, ...) -> ::core::ffi::c_int; + pub fn pg_strfromd( + str_: *mut ::core::ffi::c_char, + count: usize, + precision: ::core::ffi::c_int, + value: f64, + ) -> ::core::ffi::c_int; + pub fn pg_strerror(errnum: ::core::ffi::c_int) -> *mut ::core::ffi::c_char; + pub fn pg_strerror_r( + errnum: ::core::ffi::c_int, + buf: *mut ::core::ffi::c_char, + buflen: usize, + ) -> *mut ::core::ffi::c_char; + pub fn pg_strsignal(signum: ::core::ffi::c_int) -> *const ::core::ffi::c_char; + pub fn pclose_check(stream: *mut FILE) -> ::core::ffi::c_int; + pub fn rmtree(path: *const ::core::ffi::c_char, rmtopdir: bool) -> bool; + pub fn getpeereid( + sock: ::core::ffi::c_int, + uid: *mut uid_t, + gid: *mut gid_t, + ) -> ::core::ffi::c_int; + pub fn timingsafe_bcmp( + b1: *const ::core::ffi::c_void, + b2: *const ::core::ffi::c_void, + len: usize, + ) -> ::core::ffi::c_int; + pub fn pg_qsort( + base: *mut ::core::ffi::c_void, + nel: usize, + elsize: usize, + cmp: ::core::option::Option< + unsafe extern "C-unwind" fn( + arg1: *const ::core::ffi::c_void, + arg2: *const ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + ); + pub fn pg_qsort_strcmp( + a: *const ::core::ffi::c_void, + b: *const ::core::ffi::c_void, + ) -> ::core::ffi::c_int; + pub fn qsort_arg( + base: *mut ::core::ffi::c_void, + nel: usize, + elsize: usize, + cmp: qsort_arg_comparator, + arg: *mut ::core::ffi::c_void, + ); + pub fn qsort_interruptible( + base: *mut ::core::ffi::c_void, + nel: usize, + elsize: usize, + cmp: qsort_arg_comparator, + arg: *mut ::core::ffi::c_void, + ); + pub fn bsearch_arg( + key: *const ::core::ffi::c_void, + base0: *const ::core::ffi::c_void, + nmemb: usize, + size: usize, + compar: ::core::option::Option< + unsafe extern "C-unwind" fn( + arg1: *const ::core::ffi::c_void, + arg2: *const ::core::ffi::c_void, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + arg: *mut ::core::ffi::c_void, + ) -> *mut ::core::ffi::c_void; + pub fn pg_localeconv_r( + lc_monetary: *const ::core::ffi::c_char, + lc_numeric: *const ::core::ffi::c_char, + output: *mut lconv, + ) -> ::core::ffi::c_int; + pub fn pg_localeconv_free(lconv: *mut lconv); + pub fn pg_get_encoding_from_locale( + ctype: *const ::core::ffi::c_char, + write_message: bool, + ) -> ::core::ffi::c_int; + pub fn pg_inet_net_ntop( + af: ::core::ffi::c_int, + src: *const ::core::ffi::c_void, + bits: ::core::ffi::c_int, + dst: *mut ::core::ffi::c_char, + size: usize, + ) -> *mut ::core::ffi::c_char; + pub fn pg_strong_random_init(); + pub fn pg_strong_random(buf: *mut ::core::ffi::c_void, len: usize) -> bool; + pub fn pg_check_dir(dir: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_mkdir_p( + path: *mut ::core::ffi::c_char, + omode: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn pqsignal_be(signo: ::core::ffi::c_int, func: pqsigfunc); + pub fn escape_single_quotes_ascii(src: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char; + pub fn wait_result_to_str(exitstatus: ::core::ffi::c_int) -> *mut ::core::ffi::c_char; + pub fn wait_result_is_signal( + exit_status: ::core::ffi::c_int, + signum: ::core::ffi::c_int, + ) -> bool; + pub fn wait_result_is_any_signal( + exit_status: ::core::ffi::c_int, + include_command_not_found: bool, + ) -> bool; + pub fn wait_result_to_exit_code(exit_status: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn makeStringInfo() -> StringInfo; + pub fn makeStringInfoExt(initsize: ::core::ffi::c_int) -> StringInfo; + pub fn initStringInfo(str_: StringInfo); + pub fn initStringInfoExt(str_: StringInfo, initsize: ::core::ffi::c_int); + pub fn resetStringInfo(str_: StringInfo); + pub fn appendStringInfo(str_: StringInfo, fmt: *const ::core::ffi::c_char, ...); + pub fn appendStringInfoVA( + str_: StringInfo, + fmt: *const ::core::ffi::c_char, + args: *mut __va_list_tag, + ) -> ::core::ffi::c_int; + pub fn appendStringInfoString(str_: StringInfo, s: *const ::core::ffi::c_char); + pub fn appendStringInfoChar(str_: StringInfo, ch: ::core::ffi::c_char); + pub fn appendStringInfoSpaces(str_: StringInfo, count: ::core::ffi::c_int); + pub fn appendBinaryStringInfo( + str_: StringInfo, + data: *const ::core::ffi::c_void, + datalen: ::core::ffi::c_int, + ); + pub fn appendBinaryStringInfoNT( + str_: StringInfo, + data: *const ::core::ffi::c_void, + datalen: ::core::ffi::c_int, + ); + pub fn enlargeStringInfo(str_: StringInfo, needed: ::core::ffi::c_int); + pub fn destroyStringInfo(str_: StringInfo); + pub fn message_level_is_interesting(elevel: ::core::ffi::c_int) -> bool; + pub fn errstart_cold(elevel: ::core::ffi::c_int, domain: *const ::core::ffi::c_char) -> bool; + pub fn errcode_for_file_access() -> ::core::ffi::c_int; + pub fn errcode_for_socket_access() -> ::core::ffi::c_int; + pub fn errmsg_internal(fmt: *const ::core::ffi::c_char, ...) -> ::core::ffi::c_int; + pub fn errmsg_plural( + fmt_singular: *const ::core::ffi::c_char, + fmt_plural: *const ::core::ffi::c_char, + n: ::core::ffi::c_ulong, + ... + ) -> ::core::ffi::c_int; + pub fn errdetail_internal(fmt: *const ::core::ffi::c_char, ...) -> ::core::ffi::c_int; + pub fn errdetail_log(fmt: *const ::core::ffi::c_char, ...) -> ::core::ffi::c_int; + pub fn errdetail_log_plural( + fmt_singular: *const ::core::ffi::c_char, + fmt_plural: *const ::core::ffi::c_char, + n: ::core::ffi::c_ulong, + ... + ) -> ::core::ffi::c_int; + pub fn errdetail_plural( + fmt_singular: *const ::core::ffi::c_char, + fmt_plural: *const ::core::ffi::c_char, + n: ::core::ffi::c_ulong, + ... + ) -> ::core::ffi::c_int; + pub fn errhint_internal(fmt: *const ::core::ffi::c_char, ...) -> ::core::ffi::c_int; + pub fn errhint_plural( + fmt_singular: *const ::core::ffi::c_char, + fmt_plural: *const ::core::ffi::c_char, + n: ::core::ffi::c_ulong, + ... + ) -> ::core::ffi::c_int; + pub fn set_errcontext_domain(domain: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn errhidestmt(hide_stmt: bool) -> ::core::ffi::c_int; + pub fn errhidecontext(hide_ctx: bool) -> ::core::ffi::c_int; + pub fn errbacktrace() -> ::core::ffi::c_int; + pub fn errposition(cursorpos: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn internalerrposition(cursorpos: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn internalerrquery(query: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn err_generic_string( + field: ::core::ffi::c_int, + str_: *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn geterrcode() -> ::core::ffi::c_int; + pub fn geterrposition() -> ::core::ffi::c_int; + pub fn getinternalerrposition() -> ::core::ffi::c_int; + pub fn errsave_start(context: *mut Node, domain: *const ::core::ffi::c_char) -> bool; + pub fn errsave_finish( + context: *mut Node, + filename: *const ::core::ffi::c_char, + lineno: ::core::ffi::c_int, + funcname: *const ::core::ffi::c_char, + ); + pub fn pre_format_elog_string( + errnumber: ::core::ffi::c_int, + domain: *const ::core::ffi::c_char, + ); + pub fn format_elog_string(fmt: *const ::core::ffi::c_char, ...) -> *mut ::core::ffi::c_char; + pub static mut error_context_stack: *mut ErrorContextCallback; + pub static mut PG_exception_stack: *mut sigjmp_buf; + pub fn EmitErrorReport(); + pub fn CopyErrorData() -> *mut ErrorData; + pub fn FreeErrorData(edata: *mut ErrorData); + pub fn FlushErrorState(); + pub fn ReThrowError(edata: *mut ErrorData); + pub fn ThrowErrorData(edata: *mut ErrorData); + pub fn GetErrorContextStack() -> *mut ::core::ffi::c_char; + pub static mut emit_log_hook: emit_log_hook_type; + pub static mut Log_error_verbosity: ::core::ffi::c_int; + pub static mut Log_line_prefix: *mut ::core::ffi::c_char; + pub static mut Log_destination: ::core::ffi::c_int; + pub static mut Log_destination_string: *mut ::core::ffi::c_char; + pub static mut syslog_sequence_numbers: bool; + pub static mut syslog_split_messages: bool; + pub fn log_status_format( + buf: StringInfo, + format: *const ::core::ffi::c_char, + edata: *mut ErrorData, + ); + pub fn DebugFileOpen(); + pub fn unpack_sql_state(sql_state: ::core::ffi::c_int) -> *mut ::core::ffi::c_char; + pub fn in_error_recursion_trouble() -> bool; + pub fn reset_formatted_start_time(); + pub fn get_formatted_start_time() -> *mut ::core::ffi::c_char; + pub fn get_formatted_log_time() -> *mut ::core::ffi::c_char; + pub fn get_backend_type_for_log() -> *const ::core::ffi::c_char; + pub fn check_log_of_query(edata: *mut ErrorData) -> bool; + pub fn error_severity(elevel: ::core::ffi::c_int) -> *const ::core::ffi::c_char; + pub fn write_pipe_chunks( + data: *mut ::core::ffi::c_char, + len: ::core::ffi::c_int, + dest: ::core::ffi::c_int, + ); + pub fn write_csvlog(edata: *mut ErrorData); + pub fn write_jsonlog(edata: *mut ErrorData); + pub fn write_stderr(fmt: *const ::core::ffi::c_char, ...); + pub static mut CurrentMemoryContext: MemoryContext; + pub fn MemoryContextAlloc(context: MemoryContext, size: Size) -> *mut ::core::ffi::c_void; + pub fn MemoryContextAllocZero(context: MemoryContext, size: Size) -> *mut ::core::ffi::c_void; + pub fn MemoryContextAllocExtended( + context: MemoryContext, + size: Size, + flags: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void; + pub fn MemoryContextAllocAligned( + context: MemoryContext, + size: Size, + alignto: Size, + flags: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void; + pub fn palloc(size: Size) -> *mut ::core::ffi::c_void; + pub fn palloc0(size: Size) -> *mut ::core::ffi::c_void; + pub fn palloc_extended(size: Size, flags: ::core::ffi::c_int) -> *mut ::core::ffi::c_void; + pub fn palloc_aligned( + size: Size, + alignto: Size, + flags: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void; + pub fn repalloc(pointer: *mut ::core::ffi::c_void, size: Size) -> *mut ::core::ffi::c_void; + pub fn repalloc_extended( + pointer: *mut ::core::ffi::c_void, + size: Size, + flags: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void; + pub fn repalloc0( + pointer: *mut ::core::ffi::c_void, + oldsize: Size, + size: Size, + ) -> *mut ::core::ffi::c_void; + pub fn pfree(pointer: *mut ::core::ffi::c_void); + pub fn MemoryContextAllocHuge(context: MemoryContext, size: Size) -> *mut ::core::ffi::c_void; + pub fn repalloc_huge(pointer: *mut ::core::ffi::c_void, size: Size) + -> *mut ::core::ffi::c_void; + pub fn MemoryContextRegisterResetCallback( + context: MemoryContext, + cb: *mut MemoryContextCallback, + ); + pub fn MemoryContextStrdup( + context: MemoryContext, + string: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn pstrdup(in_: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char; + pub fn pnstrdup(in_: *const ::core::ffi::c_char, len: Size) -> *mut ::core::ffi::c_char; + pub fn pchomp(in_: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char; + pub fn psprintf(fmt: *const ::core::ffi::c_char, ...) -> *mut ::core::ffi::c_char; + pub fn pvsnprintf( + buf: *mut ::core::ffi::c_char, + len: usize, + fmt: *const ::core::ffi::c_char, + args: *mut __va_list_tag, + ) -> usize; + pub static mut no_such_variable: ::core::ffi::c_int; + pub fn outNode(str_: *mut StringInfoData, obj: *const ::core::ffi::c_void); + pub fn outToken(str_: *mut StringInfoData, s: *const ::core::ffi::c_char); + pub fn outBitmapset(str_: *mut StringInfoData, bms: *const Bitmapset); + pub fn outDatum( + str_: *mut StringInfoData, + value: usize, + typlen: ::core::ffi::c_int, + typbyval: bool, + ); + pub fn nodeToString(obj: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_char; + pub fn nodeToStringWithLocations(obj: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_char; + pub fn bmsToString(bms: *const Bitmapset) -> *mut ::core::ffi::c_char; + pub fn stringToNode(str_: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_void; + pub fn stringToNodeWithLocations(str_: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_void; + pub fn readBitmapset() -> *mut Bitmapset; + pub fn readDatum(typbyval: bool) -> usize; + pub fn readBoolCols(numCols: ::core::ffi::c_int) -> *mut bool; + pub fn readIntCols(numCols: ::core::ffi::c_int) -> *mut ::core::ffi::c_int; + pub fn readOidCols(numCols: ::core::ffi::c_int) -> *mut Oid; + pub fn readAttrNumberCols(numCols: ::core::ffi::c_int) -> *mut int16; + pub fn copyObjectImpl(from: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void; + pub fn equal(a: *const ::core::ffi::c_void, b: *const ::core::ffi::c_void) -> bool; + pub fn list_make1_impl(t: NodeTag, datum1: ListCell) -> *mut List; + pub fn list_make2_impl(t: NodeTag, datum1: ListCell, datum2: ListCell) -> *mut List; + pub fn list_make3_impl( + t: NodeTag, + datum1: ListCell, + datum2: ListCell, + datum3: ListCell, + ) -> *mut List; + pub fn list_make4_impl( + t: NodeTag, + datum1: ListCell, + datum2: ListCell, + datum3: ListCell, + datum4: ListCell, + ) -> *mut List; + pub fn list_make5_impl( + t: NodeTag, + datum1: ListCell, + datum2: ListCell, + datum3: ListCell, + datum4: ListCell, + datum5: ListCell, + ) -> *mut List; + pub fn lappend(list: *mut List, datum: *mut ::core::ffi::c_void) -> *mut List; + pub fn lappend_int(list: *mut List, datum: ::core::ffi::c_int) -> *mut List; + pub fn lappend_oid(list: *mut List, datum: Oid) -> *mut List; + pub fn lappend_xid(list: *mut List, datum: TransactionId) -> *mut List; + pub fn list_insert_nth( + list: *mut List, + pos: ::core::ffi::c_int, + datum: *mut ::core::ffi::c_void, + ) -> *mut List; + pub fn list_insert_nth_int( + list: *mut List, + pos: ::core::ffi::c_int, + datum: ::core::ffi::c_int, + ) -> *mut List; + pub fn list_insert_nth_oid(list: *mut List, pos: ::core::ffi::c_int, datum: Oid) -> *mut List; + pub fn lcons(datum: *mut ::core::ffi::c_void, list: *mut List) -> *mut List; + pub fn lcons_int(datum: ::core::ffi::c_int, list: *mut List) -> *mut List; + pub fn lcons_oid(datum: Oid, list: *mut List) -> *mut List; + pub fn list_concat(list1: *mut List, list2: *const List) -> *mut List; + pub fn list_concat_copy(list1: *const List, list2: *const List) -> *mut List; + pub fn list_truncate(list: *mut List, new_size: ::core::ffi::c_int) -> *mut List; + pub fn list_member(list: *const List, datum: *const ::core::ffi::c_void) -> bool; + pub fn list_member_ptr(list: *const List, datum: *const ::core::ffi::c_void) -> bool; + pub fn list_member_int(list: *const List, datum: ::core::ffi::c_int) -> bool; + pub fn list_member_oid(list: *const List, datum: Oid) -> bool; + pub fn list_member_xid(list: *const List, datum: TransactionId) -> bool; + pub fn list_delete(list: *mut List, datum: *mut ::core::ffi::c_void) -> *mut List; + pub fn list_delete_ptr(list: *mut List, datum: *mut ::core::ffi::c_void) -> *mut List; + pub fn list_delete_int(list: *mut List, datum: ::core::ffi::c_int) -> *mut List; + pub fn list_delete_oid(list: *mut List, datum: Oid) -> *mut List; + pub fn list_delete_first(list: *mut List) -> *mut List; + pub fn list_delete_last(list: *mut List) -> *mut List; + pub fn list_delete_first_n(list: *mut List, n: ::core::ffi::c_int) -> *mut List; + pub fn list_delete_nth_cell(list: *mut List, n: ::core::ffi::c_int) -> *mut List; + pub fn list_delete_cell(list: *mut List, cell: *mut ListCell) -> *mut List; + pub fn list_union(list1: *const List, list2: *const List) -> *mut List; + pub fn list_union_ptr(list1: *const List, list2: *const List) -> *mut List; + pub fn list_union_int(list1: *const List, list2: *const List) -> *mut List; + pub fn list_union_oid(list1: *const List, list2: *const List) -> *mut List; + pub fn list_intersection(list1: *const List, list2: *const List) -> *mut List; + pub fn list_intersection_int(list1: *const List, list2: *const List) -> *mut List; + pub fn list_difference(list1: *const List, list2: *const List) -> *mut List; + pub fn list_difference_ptr(list1: *const List, list2: *const List) -> *mut List; + pub fn list_difference_int(list1: *const List, list2: *const List) -> *mut List; + pub fn list_difference_oid(list1: *const List, list2: *const List) -> *mut List; + pub fn list_append_unique(list: *mut List, datum: *mut ::core::ffi::c_void) -> *mut List; + pub fn list_append_unique_ptr(list: *mut List, datum: *mut ::core::ffi::c_void) -> *mut List; + pub fn list_append_unique_int(list: *mut List, datum: ::core::ffi::c_int) -> *mut List; + pub fn list_append_unique_oid(list: *mut List, datum: Oid) -> *mut List; + pub fn list_concat_unique(list1: *mut List, list2: *const List) -> *mut List; + pub fn list_concat_unique_ptr(list1: *mut List, list2: *const List) -> *mut List; + pub fn list_concat_unique_int(list1: *mut List, list2: *const List) -> *mut List; + pub fn list_concat_unique_oid(list1: *mut List, list2: *const List) -> *mut List; + pub fn list_deduplicate_oid(list: *mut List); + pub fn list_free(list: *mut List); + pub fn list_free_deep(list: *mut List); + pub fn list_copy(oldlist: *const List) -> *mut List; + pub fn list_copy_head(oldlist: *const List, len: ::core::ffi::c_int) -> *mut List; + pub fn list_copy_tail(oldlist: *const List, nskip: ::core::ffi::c_int) -> *mut List; + pub fn list_copy_deep(oldlist: *const List) -> *mut List; + pub fn list_sort(list: *mut List, cmp: list_sort_comparator); + pub fn list_int_cmp(p1: *const ListCell, p2: *const ListCell) -> ::core::ffi::c_int; + pub fn list_oid_cmp(p1: *const ListCell, p2: *const ListCell) -> ::core::ffi::c_int; + pub fn populate_compact_attribute(tupdesc: TupleDesc, attnum: ::core::ffi::c_int); + pub fn verify_compact_attribute(arg1: TupleDesc, attnum: ::core::ffi::c_int); + pub fn CreateTemplateTupleDesc(natts: ::core::ffi::c_int) -> TupleDesc; + pub fn CreateTupleDesc(natts: ::core::ffi::c_int, attrs: *mut Form_pg_attribute) -> TupleDesc; + pub fn CreateTupleDescCopy(tupdesc: TupleDesc) -> TupleDesc; + pub fn CreateTupleDescTruncatedCopy(tupdesc: TupleDesc, natts: ::core::ffi::c_int) + -> TupleDesc; + pub fn CreateTupleDescCopyConstr(tupdesc: TupleDesc) -> TupleDesc; + pub fn TupleDescCopy(dst: TupleDesc, src: TupleDesc); + pub fn TupleDescCopyEntry( + dst: TupleDesc, + dstAttno: AttrNumber, + src: TupleDesc, + srcAttno: AttrNumber, + ); + pub fn FreeTupleDesc(tupdesc: TupleDesc); + pub fn IncrTupleDescRefCount(tupdesc: TupleDesc); + pub fn DecrTupleDescRefCount(tupdesc: TupleDesc); + pub fn equalTupleDescs(tupdesc1: TupleDesc, tupdesc2: TupleDesc) -> bool; + pub fn equalRowTypes(tupdesc1: TupleDesc, tupdesc2: TupleDesc) -> bool; + pub fn hashRowType(desc: TupleDesc) -> uint32; + pub fn TupleDescInitEntry( + desc: TupleDesc, + attributeNumber: AttrNumber, + attributeName: *const ::core::ffi::c_char, + oidtypeid: Oid, + typmod: int32, + attdim: ::core::ffi::c_int, + ); + pub fn TupleDescInitBuiltinEntry( + desc: TupleDesc, + attributeNumber: AttrNumber, + attributeName: *const ::core::ffi::c_char, + oidtypeid: Oid, + typmod: int32, + attdim: ::core::ffi::c_int, + ); + pub fn TupleDescInitEntryCollation( + desc: TupleDesc, + attributeNumber: AttrNumber, + collationid: Oid, + ); + pub fn BuildDescFromLists( + names: *const List, + types: *const List, + typmods: *const List, + collations: *const List, + ) -> TupleDesc; + pub fn TupleDescGetDefault(tupdesc: TupleDesc, attnum: AttrNumber) -> *mut Node; + pub fn make_attrmap(maplen: ::core::ffi::c_int) -> *mut AttrMap; + pub fn free_attrmap(map: *mut AttrMap); + pub fn build_attrmap_by_name( + indesc: TupleDesc, + outdesc: TupleDesc, + missing_ok: bool, + ) -> *mut AttrMap; + pub fn build_attrmap_by_name_if_req( + indesc: TupleDesc, + outdesc: TupleDesc, + missing_ok: bool, + ) -> *mut AttrMap; + pub fn build_attrmap_by_position( + indesc: TupleDesc, + outdesc: TupleDesc, + msg: *const ::core::ffi::c_char, + ) -> *mut AttrMap; + pub fn ItemPointerEquals(pointer1: ItemPointer, pointer2: ItemPointer) -> bool; + pub fn ItemPointerCompare(arg1: ItemPointer, arg2: ItemPointer) -> int32; + pub fn ItemPointerInc(pointer: ItemPointer); + pub fn ItemPointerDec(pointer: ItemPointer); + pub fn HeapTupleHeaderGetCmin(tup: *const HeapTupleHeaderData) -> CommandId; + pub fn HeapTupleHeaderGetCmax(tup: *const HeapTupleHeaderData) -> CommandId; + pub fn HeapTupleHeaderAdjustCmax( + tup: *const HeapTupleHeaderData, + cmax: *mut CommandId, + iscombo: *mut bool, + ); + pub fn HeapTupleGetUpdateXid(tup: *const HeapTupleHeaderData) -> TransactionId; + pub fn TransactionStartedDuringRecovery() -> bool; + pub static mut TransamVariables: *mut TransamVariablesData; + pub fn TransactionIdDidCommit(transactionId: TransactionId) -> bool; + pub fn TransactionIdDidAbort(transactionId: TransactionId) -> bool; + pub fn TransactionIdCommitTree( + xid: TransactionId, + nxids: ::core::ffi::c_int, + xids: *mut TransactionId, + ); + pub fn TransactionIdAsyncCommitTree( + xid: TransactionId, + nxids: ::core::ffi::c_int, + xids: *mut TransactionId, + lsn: XLogRecPtr, + ); + pub fn TransactionIdAbortTree( + xid: TransactionId, + nxids: ::core::ffi::c_int, + xids: *mut TransactionId, + ); + pub fn TransactionIdPrecedes(id1: TransactionId, id2: TransactionId) -> bool; + pub fn TransactionIdPrecedesOrEquals(id1: TransactionId, id2: TransactionId) -> bool; + pub fn TransactionIdFollows(id1: TransactionId, id2: TransactionId) -> bool; + pub fn TransactionIdFollowsOrEquals(id1: TransactionId, id2: TransactionId) -> bool; + pub fn TransactionIdLatest( + mainxid: TransactionId, + nxids: ::core::ffi::c_int, + xids: *const TransactionId, + ) -> TransactionId; + pub fn TransactionIdGetCommitLSN(xid: TransactionId) -> XLogRecPtr; + pub fn VarsupShmemSize() -> Size; + pub fn VarsupShmemInit(); + pub fn GetNewTransactionId(isSubXact: bool) -> FullTransactionId; + pub fn AdvanceNextFullTransactionIdPastXid(xid: TransactionId); + pub fn ReadNextFullTransactionId() -> FullTransactionId; + pub fn SetTransactionIdLimit(oldest_datfrozenxid: TransactionId, oldest_datoid: Oid); + pub fn AdvanceOldestClogXid(oldest_datfrozenxid: TransactionId); + pub fn ForceTransactionIdLimitUpdate() -> bool; + pub fn GetNewObjectId() -> Oid; + pub fn StopGeneratingPinnedObjectIds(); + pub fn AssertTransactionIdInAllowableRange(xid: TransactionId); + pub static mut ignore_checksum_failure: bool; + pub fn PageInit(page: Page, pageSize: Size, specialSize: Size); + pub fn PageIsVerified( + page: *mut PageData, + blkno: BlockNumber, + flags: ::core::ffi::c_int, + checksum_failure_p: *mut bool, + ) -> bool; + pub fn PageAddItemExtended( + page: Page, + item: Item, + size: Size, + offsetNumber: OffsetNumber, + flags: ::core::ffi::c_int, + ) -> OffsetNumber; + pub fn PageGetTempPage(page: *const PageData) -> Page; + pub fn PageGetTempPageCopy(page: *const PageData) -> Page; + pub fn PageGetTempPageCopySpecial(page: *const PageData) -> Page; + pub fn PageRestoreTempPage(tempPage: Page, oldPage: Page); + pub fn PageRepairFragmentation(page: Page); + pub fn PageTruncateLinePointerArray(page: Page); + pub fn PageGetFreeSpace(page: *const PageData) -> Size; + pub fn PageGetFreeSpaceForMultipleTuples( + page: *const PageData, + ntups: ::core::ffi::c_int, + ) -> Size; + pub fn PageGetExactFreeSpace(page: *const PageData) -> Size; + pub fn PageGetHeapFreeSpace(page: *const PageData) -> Size; + pub fn PageIndexTupleDelete(page: Page, offnum: OffsetNumber); + pub fn PageIndexMultiDelete(page: Page, itemnos: *mut OffsetNumber, nitems: ::core::ffi::c_int); + pub fn PageIndexTupleDeleteNoCompact(page: Page, offnum: OffsetNumber); + pub fn PageIndexTupleOverwrite( + page: Page, + offnum: OffsetNumber, + newtup: Item, + newsize: Size, + ) -> bool; + pub fn PageSetChecksumCopy(page: Page, blkno: BlockNumber) -> *mut ::core::ffi::c_char; + pub fn PageSetChecksumInplace(page: Page, blkno: BlockNumber); + pub fn heap_compute_data_size( + tupleDesc: TupleDesc, + values: *const Datum, + isnull: *const bool, + ) -> Size; + pub fn heap_fill_tuple( + tupleDesc: TupleDesc, + values: *const Datum, + isnull: *const bool, + data: *mut ::core::ffi::c_char, + data_size: Size, + infomask: *mut uint16, + bit: *mut bits8, + ); + pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) + -> bool; + pub fn nocachegetattr( + tup: HeapTuple, + attnum: ::core::ffi::c_int, + tupleDesc: TupleDesc, + ) -> Datum; + pub fn heap_getsysattr( + tup: HeapTuple, + attnum: ::core::ffi::c_int, + tupleDesc: TupleDesc, + isnull: *mut bool, + ) -> Datum; + pub fn getmissingattr( + tupleDesc: TupleDesc, + attnum: ::core::ffi::c_int, + isnull: *mut bool, + ) -> Datum; + pub fn heap_copytuple(tuple: HeapTuple) -> HeapTuple; + pub fn heap_copytuple_with_tuple(src: HeapTuple, dest: HeapTuple); + pub fn heap_copy_tuple_as_datum(tuple: HeapTuple, tupleDesc: TupleDesc) -> Datum; + pub fn heap_form_tuple( + tupleDescriptor: TupleDesc, + values: *const Datum, + isnull: *const bool, + ) -> HeapTuple; + pub fn heap_modify_tuple( + tuple: HeapTuple, + tupleDesc: TupleDesc, + replValues: *const Datum, + replIsnull: *const bool, + doReplace: *const bool, + ) -> HeapTuple; + pub fn heap_modify_tuple_by_cols( + tuple: HeapTuple, + tupleDesc: TupleDesc, + nCols: ::core::ffi::c_int, + replCols: *const ::core::ffi::c_int, + replValues: *const Datum, + replIsnull: *const bool, + ) -> HeapTuple; + pub fn heap_deform_tuple( + tuple: HeapTuple, + tupleDesc: TupleDesc, + values: *mut Datum, + isnull: *mut bool, + ); + pub fn heap_freetuple(htup: HeapTuple); + pub fn heap_form_minimal_tuple( + tupleDescriptor: TupleDesc, + values: *const Datum, + isnull: *const bool, + extra: Size, + ) -> MinimalTuple; + pub fn heap_free_minimal_tuple(mtup: MinimalTuple); + pub fn heap_copy_minimal_tuple(mtup: MinimalTuple, extra: Size) -> MinimalTuple; + pub fn heap_tuple_from_minimal_tuple(mtup: MinimalTuple) -> HeapTuple; + pub fn minimal_tuple_from_heap_tuple(htup: HeapTuple, extra: Size) -> MinimalTuple; + pub fn heap_expand_tuple(sourceTuple: HeapTuple, tupleDesc: TupleDesc) -> HeapTuple; + pub fn minimal_expand_tuple(sourceTuple: HeapTuple, tupleDesc: TupleDesc) -> MinimalTuple; + pub static TTSOpsVirtual: TupleTableSlotOps; + pub static TTSOpsHeapTuple: TupleTableSlotOps; + pub static TTSOpsMinimalTuple: TupleTableSlotOps; + pub static TTSOpsBufferHeapTuple: TupleTableSlotOps; + pub fn MakeTupleTableSlot( + tupleDesc: TupleDesc, + tts_ops: *const TupleTableSlotOps, + ) -> *mut TupleTableSlot; + pub fn ExecAllocTableSlot( + tupleTable: *mut *mut List, + desc: TupleDesc, + tts_ops: *const TupleTableSlotOps, + ) -> *mut TupleTableSlot; + pub fn ExecResetTupleTable(tupleTable: *mut List, shouldFree: bool); + pub fn MakeSingleTupleTableSlot( + tupdesc: TupleDesc, + tts_ops: *const TupleTableSlotOps, + ) -> *mut TupleTableSlot; + pub fn ExecDropSingleTupleTableSlot(slot: *mut TupleTableSlot); + pub fn ExecSetSlotDescriptor(slot: *mut TupleTableSlot, tupdesc: TupleDesc); + pub fn ExecStoreHeapTuple( + tuple: HeapTuple, + slot: *mut TupleTableSlot, + shouldFree: bool, + ) -> *mut TupleTableSlot; + pub fn ExecForceStoreHeapTuple(tuple: HeapTuple, slot: *mut TupleTableSlot, shouldFree: bool); + pub fn ExecStoreBufferHeapTuple( + tuple: HeapTuple, + slot: *mut TupleTableSlot, + buffer: Buffer, + ) -> *mut TupleTableSlot; + pub fn ExecStorePinnedBufferHeapTuple( + tuple: HeapTuple, + slot: *mut TupleTableSlot, + buffer: Buffer, + ) -> *mut TupleTableSlot; + pub fn ExecStoreMinimalTuple( + mtup: MinimalTuple, + slot: *mut TupleTableSlot, + shouldFree: bool, + ) -> *mut TupleTableSlot; + pub fn ExecForceStoreMinimalTuple( + mtup: MinimalTuple, + slot: *mut TupleTableSlot, + shouldFree: bool, + ); + pub fn ExecStoreVirtualTuple(slot: *mut TupleTableSlot) -> *mut TupleTableSlot; + pub fn ExecStoreAllNullTuple(slot: *mut TupleTableSlot) -> *mut TupleTableSlot; + pub fn ExecStoreHeapTupleDatum(data: Datum, slot: *mut TupleTableSlot); + pub fn ExecFetchSlotHeapTuple( + slot: *mut TupleTableSlot, + materialize: bool, + shouldFree: *mut bool, + ) -> HeapTuple; + pub fn ExecFetchSlotMinimalTuple( + slot: *mut TupleTableSlot, + shouldFree: *mut bool, + ) -> MinimalTuple; + pub fn ExecFetchSlotHeapTupleDatum(slot: *mut TupleTableSlot) -> Datum; + pub fn slot_getmissingattrs( + slot: *mut TupleTableSlot, + startAttNum: ::core::ffi::c_int, + lastAttNum: ::core::ffi::c_int, + ); + pub fn slot_getsomeattrs_int(slot: *mut TupleTableSlot, attnum: ::core::ffi::c_int); + pub fn bms_copy(a: *const Bitmapset) -> *mut Bitmapset; + pub fn bms_equal(a: *const Bitmapset, b: *const Bitmapset) -> bool; + pub fn bms_compare(a: *const Bitmapset, b: *const Bitmapset) -> ::core::ffi::c_int; + pub fn bms_make_singleton(x: ::core::ffi::c_int) -> *mut Bitmapset; + pub fn bms_free(a: *mut Bitmapset); + pub fn bms_union(a: *const Bitmapset, b: *const Bitmapset) -> *mut Bitmapset; + pub fn bms_intersect(a: *const Bitmapset, b: *const Bitmapset) -> *mut Bitmapset; + pub fn bms_difference(a: *const Bitmapset, b: *const Bitmapset) -> *mut Bitmapset; + pub fn bms_is_subset(a: *const Bitmapset, b: *const Bitmapset) -> bool; + pub fn bms_subset_compare(a: *const Bitmapset, b: *const Bitmapset) -> BMS_Comparison::Type; + pub fn bms_is_member(x: ::core::ffi::c_int, a: *const Bitmapset) -> bool; + pub fn bms_member_index(a: *mut Bitmapset, x: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn bms_overlap(a: *const Bitmapset, b: *const Bitmapset) -> bool; + pub fn bms_overlap_list(a: *const Bitmapset, b: *const List) -> bool; + pub fn bms_nonempty_difference(a: *const Bitmapset, b: *const Bitmapset) -> bool; + pub fn bms_singleton_member(a: *const Bitmapset) -> ::core::ffi::c_int; + pub fn bms_get_singleton_member(a: *const Bitmapset, member: *mut ::core::ffi::c_int) -> bool; + pub fn bms_num_members(a: *const Bitmapset) -> ::core::ffi::c_int; + pub fn bms_membership(a: *const Bitmapset) -> BMS_Membership::Type; + pub fn bms_add_member(a: *mut Bitmapset, x: ::core::ffi::c_int) -> *mut Bitmapset; + pub fn bms_del_member(a: *mut Bitmapset, x: ::core::ffi::c_int) -> *mut Bitmapset; + pub fn bms_add_members(a: *mut Bitmapset, b: *const Bitmapset) -> *mut Bitmapset; + pub fn bms_replace_members(a: *mut Bitmapset, b: *const Bitmapset) -> *mut Bitmapset; + pub fn bms_add_range( + a: *mut Bitmapset, + lower: ::core::ffi::c_int, + upper: ::core::ffi::c_int, + ) -> *mut Bitmapset; + pub fn bms_int_members(a: *mut Bitmapset, b: *const Bitmapset) -> *mut Bitmapset; + pub fn bms_del_members(a: *mut Bitmapset, b: *const Bitmapset) -> *mut Bitmapset; + pub fn bms_join(a: *mut Bitmapset, b: *mut Bitmapset) -> *mut Bitmapset; + pub fn bms_next_member(a: *const Bitmapset, prevbit: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn bms_prev_member(a: *const Bitmapset, prevbit: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn bms_hash_value(a: *const Bitmapset) -> uint32; + pub fn bitmap_hash(key: *const ::core::ffi::c_void, keysize: Size) -> uint32; + pub fn bitmap_match( + key1: *const ::core::ffi::c_void, + key2: *const ::core::ffi::c_void, + keysize: Size, + ) -> ::core::ffi::c_int; + pub fn convert_tuples_by_position( + indesc: TupleDesc, + outdesc: TupleDesc, + msg: *const ::core::ffi::c_char, + ) -> *mut TupleConversionMap; + pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) + -> *mut TupleConversionMap; + pub fn convert_tuples_by_name_attrmap( + indesc: TupleDesc, + outdesc: TupleDesc, + attrMap: *mut AttrMap, + ) -> *mut TupleConversionMap; + pub fn execute_attr_map_tuple(tuple: HeapTuple, map: *mut TupleConversionMap) -> HeapTuple; + pub fn execute_attr_map_slot( + attrMap: *mut AttrMap, + in_slot: *mut TupleTableSlot, + out_slot: *mut TupleTableSlot, + ) -> *mut TupleTableSlot; + pub fn execute_attr_map_cols(attrMap: *mut AttrMap, in_cols: *mut Bitmapset) -> *mut Bitmapset; + pub fn free_conversion_map(map: *mut TupleConversionMap); + pub static mut pgBufferUsage: BufferUsage; + pub static mut pgWalUsage: WalUsage; + pub fn InstrAlloc( + n: ::core::ffi::c_int, + instrument_options: ::core::ffi::c_int, + async_mode: bool, + ) -> *mut Instrumentation; + pub fn InstrInit(instr: *mut Instrumentation, instrument_options: ::core::ffi::c_int); + pub fn InstrStartNode(instr: *mut Instrumentation); + pub fn InstrStopNode(instr: *mut Instrumentation, nTuples: f64); + pub fn InstrUpdateTupleCount(instr: *mut Instrumentation, nTuples: f64); + pub fn InstrEndLoop(instr: *mut Instrumentation); + pub fn InstrAggNode(dst: *mut Instrumentation, add: *mut Instrumentation); + pub fn InstrStartParallelQuery(); + pub fn InstrEndParallelQuery(bufusage: *mut BufferUsage, walusage: *mut WalUsage); + pub fn InstrAccumParallelQuery(bufusage: *mut BufferUsage, walusage: *mut WalUsage); + pub fn BufferUsageAccumDiff( + dst: *mut BufferUsage, + add: *const BufferUsage, + sub: *const BufferUsage, + ); + pub fn WalUsageAccumDiff(dst: *mut WalUsage, add: *const WalUsage, sub: *const WalUsage); + pub fn fmgr_info(functionId: Oid, finfo: *mut FmgrInfo); + pub fn fmgr_info_cxt(functionId: Oid, finfo: *mut FmgrInfo, mcxt: MemoryContext); + pub fn fmgr_info_copy(dstinfo: *mut FmgrInfo, srcinfo: *mut FmgrInfo, destcxt: MemoryContext); + pub fn fmgr_symbol( + functionId: Oid, + mod_: *mut *mut ::core::ffi::c_char, + fn_: *mut *mut ::core::ffi::c_char, + ); + pub fn pg_detoast_datum(datum: *mut varlena) -> *mut varlena; + pub fn pg_detoast_datum_copy(datum: *mut varlena) -> *mut varlena; + pub fn pg_detoast_datum_slice(datum: *mut varlena, first: int32, count: int32) -> *mut varlena; + pub fn pg_detoast_datum_packed(datum: *mut varlena) -> *mut varlena; + pub fn _PG_init(); + pub fn DirectFunctionCall1Coll(func: PGFunction, collation: Oid, arg1: Datum) -> Datum; + pub fn DirectFunctionCall2Coll( + func: PGFunction, + collation: Oid, + arg1: Datum, + arg2: Datum, + ) -> Datum; + pub fn DirectFunctionCall3Coll( + func: PGFunction, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + ) -> Datum; + pub fn DirectFunctionCall4Coll( + func: PGFunction, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + ) -> Datum; + pub fn DirectFunctionCall5Coll( + func: PGFunction, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + ) -> Datum; + pub fn DirectFunctionCall6Coll( + func: PGFunction, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + arg6: Datum, + ) -> Datum; + pub fn DirectFunctionCall7Coll( + func: PGFunction, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + arg6: Datum, + arg7: Datum, + ) -> Datum; + pub fn DirectFunctionCall8Coll( + func: PGFunction, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + arg6: Datum, + arg7: Datum, + arg8: Datum, + ) -> Datum; + pub fn DirectFunctionCall9Coll( + func: PGFunction, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + arg6: Datum, + arg7: Datum, + arg8: Datum, + arg9: Datum, + ) -> Datum; + pub fn CallerFInfoFunctionCall1( + func: PGFunction, + flinfo: *mut FmgrInfo, + collation: Oid, + arg1: Datum, + ) -> Datum; + pub fn CallerFInfoFunctionCall2( + func: PGFunction, + flinfo: *mut FmgrInfo, + collation: Oid, + arg1: Datum, + arg2: Datum, + ) -> Datum; + pub fn FunctionCall0Coll(flinfo: *mut FmgrInfo, collation: Oid) -> Datum; + pub fn FunctionCall1Coll(flinfo: *mut FmgrInfo, collation: Oid, arg1: Datum) -> Datum; + pub fn FunctionCall2Coll( + flinfo: *mut FmgrInfo, + collation: Oid, + arg1: Datum, + arg2: Datum, + ) -> Datum; + pub fn FunctionCall3Coll( + flinfo: *mut FmgrInfo, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + ) -> Datum; + pub fn FunctionCall4Coll( + flinfo: *mut FmgrInfo, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + ) -> Datum; + pub fn FunctionCall5Coll( + flinfo: *mut FmgrInfo, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + ) -> Datum; + pub fn FunctionCall6Coll( + flinfo: *mut FmgrInfo, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + arg6: Datum, + ) -> Datum; + pub fn FunctionCall7Coll( + flinfo: *mut FmgrInfo, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + arg6: Datum, + arg7: Datum, + ) -> Datum; + pub fn FunctionCall8Coll( + flinfo: *mut FmgrInfo, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + arg6: Datum, + arg7: Datum, + arg8: Datum, + ) -> Datum; + pub fn FunctionCall9Coll( + flinfo: *mut FmgrInfo, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + arg6: Datum, + arg7: Datum, + arg8: Datum, + arg9: Datum, + ) -> Datum; + pub fn OidFunctionCall0Coll(functionId: Oid, collation: Oid) -> Datum; + pub fn OidFunctionCall1Coll(functionId: Oid, collation: Oid, arg1: Datum) -> Datum; + pub fn OidFunctionCall2Coll(functionId: Oid, collation: Oid, arg1: Datum, arg2: Datum) + -> Datum; + pub fn OidFunctionCall3Coll( + functionId: Oid, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + ) -> Datum; + pub fn OidFunctionCall4Coll( + functionId: Oid, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + ) -> Datum; + pub fn OidFunctionCall5Coll( + functionId: Oid, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + ) -> Datum; + pub fn OidFunctionCall6Coll( + functionId: Oid, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + arg6: Datum, + ) -> Datum; + pub fn OidFunctionCall7Coll( + functionId: Oid, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + arg6: Datum, + arg7: Datum, + ) -> Datum; + pub fn OidFunctionCall8Coll( + functionId: Oid, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + arg6: Datum, + arg7: Datum, + arg8: Datum, + ) -> Datum; + pub fn OidFunctionCall9Coll( + functionId: Oid, + collation: Oid, + arg1: Datum, + arg2: Datum, + arg3: Datum, + arg4: Datum, + arg5: Datum, + arg6: Datum, + arg7: Datum, + arg8: Datum, + arg9: Datum, + ) -> Datum; + pub fn InputFunctionCall( + flinfo: *mut FmgrInfo, + str_: *mut ::core::ffi::c_char, + typioparam: Oid, + typmod: int32, + ) -> Datum; + pub fn InputFunctionCallSafe( + flinfo: *mut FmgrInfo, + str_: *mut ::core::ffi::c_char, + typioparam: Oid, + typmod: int32, + escontext: fmNodePtr, + result: *mut Datum, + ) -> bool; + pub fn DirectInputFunctionCallSafe( + func: PGFunction, + str_: *mut ::core::ffi::c_char, + typioparam: Oid, + typmod: int32, + escontext: fmNodePtr, + result: *mut Datum, + ) -> bool; + pub fn OidInputFunctionCall( + functionId: Oid, + str_: *mut ::core::ffi::c_char, + typioparam: Oid, + typmod: int32, + ) -> Datum; + pub fn OutputFunctionCall(flinfo: *mut FmgrInfo, val: Datum) -> *mut ::core::ffi::c_char; + pub fn OidOutputFunctionCall(functionId: Oid, val: Datum) -> *mut ::core::ffi::c_char; + pub fn ReceiveFunctionCall( + flinfo: *mut FmgrInfo, + buf: fmStringInfo, + typioparam: Oid, + typmod: int32, + ) -> Datum; + pub fn OidReceiveFunctionCall( + functionId: Oid, + buf: fmStringInfo, + typioparam: Oid, + typmod: int32, + ) -> Datum; + pub fn SendFunctionCall(flinfo: *mut FmgrInfo, val: Datum) -> *mut bytea; + pub fn OidSendFunctionCall(functionId: Oid, val: Datum) -> *mut bytea; + pub fn fetch_finfo_record( + filehandle: *mut ::core::ffi::c_void, + funcname: *const ::core::ffi::c_char, + ) -> *const Pg_finfo_record; + pub fn fmgr_internal_function(proname: *const ::core::ffi::c_char) -> Oid; + pub fn get_fn_expr_rettype(flinfo: *mut FmgrInfo) -> Oid; + pub fn get_fn_expr_argtype(flinfo: *mut FmgrInfo, argnum: ::core::ffi::c_int) -> Oid; + pub fn get_call_expr_argtype(expr: fmNodePtr, argnum: ::core::ffi::c_int) -> Oid; + pub fn get_fn_expr_arg_stable(flinfo: *mut FmgrInfo, argnum: ::core::ffi::c_int) -> bool; + pub fn get_call_expr_arg_stable(expr: fmNodePtr, argnum: ::core::ffi::c_int) -> bool; + pub fn get_fn_expr_variadic(flinfo: *mut FmgrInfo) -> bool; + pub fn get_fn_opclass_options(flinfo: *mut FmgrInfo) -> *mut bytea; + pub fn has_fn_opclass_options(flinfo: *mut FmgrInfo) -> bool; + pub fn set_fn_opclass_options(flinfo: *mut FmgrInfo, options: *mut bytea); + pub fn CheckFunctionValidatorAccess(validatorOid: Oid, functionOid: Oid) -> bool; + pub static mut Dynamic_library_path: *mut ::core::ffi::c_char; + pub fn substitute_path_macro( + str_: *const ::core::ffi::c_char, + macro_: *const ::core::ffi::c_char, + value: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn find_in_path( + basename: *const ::core::ffi::c_char, + path: *const ::core::ffi::c_char, + path_param: *const ::core::ffi::c_char, + macro_: *const ::core::ffi::c_char, + macro_val: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn load_external_function( + filename: *const ::core::ffi::c_char, + funcname: *const ::core::ffi::c_char, + signalNotFound: bool, + filehandle: *mut *mut ::core::ffi::c_void, + ) -> *mut ::core::ffi::c_void; + pub fn lookup_external_function( + filehandle: *mut ::core::ffi::c_void, + funcname: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_void; + pub fn load_file(filename: *const ::core::ffi::c_char, restricted: bool); + pub fn get_first_loaded_module() -> *mut DynamicFileList; + pub fn get_next_loaded_module(dfptr: *mut DynamicFileList) -> *mut DynamicFileList; + pub fn get_loaded_module_details( + dfptr: *mut DynamicFileList, + library_path: *mut *const ::core::ffi::c_char, + module_name: *mut *const ::core::ffi::c_char, + module_version: *mut *const ::core::ffi::c_char, + ); + pub fn find_rendezvous_variable( + varName: *const ::core::ffi::c_char, + ) -> *mut *mut ::core::ffi::c_void; + pub fn EstimateLibraryStateSpace() -> Size; + pub fn SerializeLibraryState(maxsize: Size, start_address: *mut ::core::ffi::c_char); + pub fn RestoreLibraryState(start_address: *mut ::core::ffi::c_char); + pub fn AggCheckCallContext( + fcinfo: FunctionCallInfo, + aggcontext: *mut MemoryContext, + ) -> ::core::ffi::c_int; + pub fn AggGetAggref(fcinfo: FunctionCallInfo) -> fmAggrefPtr; + pub fn AggGetTempMemoryContext(fcinfo: FunctionCallInfo) -> MemoryContext; + pub fn AggStateIsShared(fcinfo: FunctionCallInfo) -> bool; + pub fn AggRegisterCallback( + fcinfo: FunctionCallInfo, + func: fmExprContextCallbackFunction, + arg: Datum, + ); + pub static mut needs_fmgr_hook: needs_fmgr_hook_type; + pub static mut fmgr_hook: fmgr_hook_type; + pub fn slist_delete(head: *mut slist_head, node: *const slist_node); + pub fn pairingheap_allocate( + compare: pairingheap_comparator, + arg: *mut ::core::ffi::c_void, + ) -> *mut pairingheap; + pub fn pairingheap_free(heap: *mut pairingheap); + pub fn pairingheap_add(heap: *mut pairingheap, node: *mut pairingheap_node); + pub fn pairingheap_first(heap: *mut pairingheap) -> *mut pairingheap_node; + pub fn pairingheap_remove_first(heap: *mut pairingheap) -> *mut pairingheap_node; + pub fn pairingheap_remove(heap: *mut pairingheap, node: *mut pairingheap_node); + pub fn makeParamList(numParams: ::core::ffi::c_int) -> ParamListInfo; + pub fn copyParamList(from: ParamListInfo) -> ParamListInfo; + pub fn EstimateParamListSpace(paramLI: ParamListInfo) -> Size; + pub fn SerializeParamList(paramLI: ParamListInfo, start_address: *mut *mut ::core::ffi::c_char); + pub fn RestoreParamList(start_address: *mut *mut ::core::ffi::c_char) -> ParamListInfo; + pub fn BuildParamLogString( + params: ParamListInfo, + knownTextValues: *mut *mut ::core::ffi::c_char, + maxlen: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn ParamsErrorCallback(arg: *mut ::core::ffi::c_void); + pub static forkNames: [*const ::core::ffi::c_char; 0usize]; + pub fn forkname_to_number(forkName: *const ::core::ffi::c_char) -> ForkNumber::Type; + pub fn forkname_chars( + str_: *const ::core::ffi::c_char, + fork: *mut ForkNumber::Type, + ) -> ::core::ffi::c_int; + pub fn GetDatabasePath(dbOid: Oid, spcOid: Oid) -> *mut ::core::ffi::c_char; + pub fn GetRelationPath( + dbOid: Oid, + spcOid: Oid, + relNumber: RelFileNumber, + procNumber: ::core::ffi::c_int, + forkNumber: ForkNumber::Type, + ) -> RelPathStr; + pub static mut dynamic_shared_memory_type: ::core::ffi::c_int; + pub static mut min_dynamic_shared_memory: ::core::ffi::c_int; + pub fn dsm_impl_op( + op: dsm_op::Type, + handle: dsm_handle, + request_size: Size, + impl_private: *mut *mut ::core::ffi::c_void, + mapped_address: *mut *mut ::core::ffi::c_void, + mapped_size: *mut Size, + elevel: ::core::ffi::c_int, + ) -> bool; + pub fn dsm_impl_pin_segment( + handle: dsm_handle, + impl_private: *mut ::core::ffi::c_void, + impl_private_pm_handle: *mut *mut ::core::ffi::c_void, + ); + pub fn dsm_impl_unpin_segment(handle: dsm_handle, impl_private: *mut *mut ::core::ffi::c_void); + pub fn dsm_cleanup_using_control_segment(old_control_handle: dsm_handle); + pub fn dsm_postmaster_startup(arg1: *mut PGShmemHeader); + pub fn dsm_backend_shutdown(); + pub fn dsm_detach_all(); + pub fn dsm_estimate_size() -> usize; + pub fn dsm_shmem_init(); + pub fn dsm_create(size: Size, flags: ::core::ffi::c_int) -> *mut dsm_segment; + pub fn dsm_attach(h: dsm_handle) -> *mut dsm_segment; + pub fn dsm_detach(seg: *mut dsm_segment); + pub fn dsm_pin_mapping(seg: *mut dsm_segment); + pub fn dsm_unpin_mapping(seg: *mut dsm_segment); + pub fn dsm_pin_segment(seg: *mut dsm_segment); + pub fn dsm_unpin_segment(handle: dsm_handle); + pub fn dsm_find_mapping(handle: dsm_handle) -> *mut dsm_segment; + pub fn dsm_segment_address(seg: *mut dsm_segment) -> *mut ::core::ffi::c_void; + pub fn dsm_segment_map_length(seg: *mut dsm_segment) -> Size; + pub fn dsm_segment_handle(seg: *mut dsm_segment) -> dsm_handle; + pub fn on_dsm_detach(seg: *mut dsm_segment, function: on_dsm_detach_callback, arg: Datum); + pub fn cancel_on_dsm_detach( + seg: *mut dsm_segment, + function: on_dsm_detach_callback, + arg: Datum, + ); + pub fn reset_on_dsm_detach(); + pub fn dsa_create_ext( + tranche_id: ::core::ffi::c_int, + init_segment_size: usize, + max_segment_size: usize, + ) -> *mut dsa_area; + pub fn dsa_create_in_place_ext( + place: *mut ::core::ffi::c_void, + size: usize, + tranche_id: ::core::ffi::c_int, + segment: *mut dsm_segment, + init_segment_size: usize, + max_segment_size: usize, + ) -> *mut dsa_area; + pub fn dsa_attach(handle: dsa_handle) -> *mut dsa_area; + pub fn dsa_attach_in_place( + place: *mut ::core::ffi::c_void, + segment: *mut dsm_segment, + ) -> *mut dsa_area; + pub fn dsa_release_in_place(place: *mut ::core::ffi::c_void); + pub fn dsa_on_dsm_detach_release_in_place(arg1: *mut dsm_segment, arg2: Datum); + pub fn dsa_on_shmem_exit_release_in_place(arg1: ::core::ffi::c_int, arg2: Datum); + pub fn dsa_pin_mapping(area: *mut dsa_area); + pub fn dsa_detach(area: *mut dsa_area); + pub fn dsa_pin(area: *mut dsa_area); + pub fn dsa_unpin(area: *mut dsa_area); + pub fn dsa_set_size_limit(area: *mut dsa_area, limit: usize); + pub fn dsa_minimum_size() -> usize; + pub fn dsa_get_handle(area: *mut dsa_area) -> dsa_handle; + pub fn dsa_allocate_extended( + area: *mut dsa_area, + size: usize, + flags: ::core::ffi::c_int, + ) -> dsa_pointer; + pub fn dsa_free(area: *mut dsa_area, dp: dsa_pointer); + pub fn dsa_get_address(area: *mut dsa_area, dp: dsa_pointer) -> *mut ::core::ffi::c_void; + pub fn dsa_get_total_size(area: *mut dsa_area) -> usize; + pub fn dsa_trim(area: *mut dsa_area); + pub fn dsa_dump(area: *mut dsa_area); + pub fn tbm_create(maxbytes: Size, dsa: *mut dsa_area) -> *mut TIDBitmap; + pub fn tbm_free(tbm: *mut TIDBitmap); + pub fn tbm_free_shared_area(dsa: *mut dsa_area, dp: dsa_pointer); + pub fn tbm_add_tuples( + tbm: *mut TIDBitmap, + tids: ItemPointer, + ntids: ::core::ffi::c_int, + recheck: bool, + ); + pub fn tbm_add_page(tbm: *mut TIDBitmap, pageno: BlockNumber); + pub fn tbm_union(a: *mut TIDBitmap, b: *const TIDBitmap); + pub fn tbm_intersect(a: *mut TIDBitmap, b: *const TIDBitmap); + pub fn tbm_extract_page_tuple( + iteritem: *mut TBMIterateResult, + offsets: *mut OffsetNumber, + max_offsets: uint32, + ) -> ::core::ffi::c_int; + pub fn tbm_is_empty(tbm: *const TIDBitmap) -> bool; + pub fn tbm_begin_private_iterate(tbm: *mut TIDBitmap) -> *mut TBMPrivateIterator; + pub fn tbm_prepare_shared_iterate(tbm: *mut TIDBitmap) -> dsa_pointer; + pub fn tbm_private_iterate( + iterator: *mut TBMPrivateIterator, + tbmres: *mut TBMIterateResult, + ) -> bool; + pub fn tbm_shared_iterate( + iterator: *mut TBMSharedIterator, + tbmres: *mut TBMIterateResult, + ) -> bool; + pub fn tbm_end_private_iterate(iterator: *mut TBMPrivateIterator); + pub fn tbm_end_shared_iterate(iterator: *mut TBMSharedIterator); + pub fn tbm_attach_shared_iterate(dsa: *mut dsa_area, dp: dsa_pointer) + -> *mut TBMSharedIterator; + pub fn tbm_calculate_entries(maxbytes: Size) -> ::core::ffi::c_int; + pub fn tbm_begin_iterate( + tbm: *mut TIDBitmap, + dsa: *mut dsa_area, + dsp: dsa_pointer, + ) -> TBMIterator; + pub fn tbm_end_iterate(iterator: *mut TBMIterator); + pub fn tbm_iterate(iterator: *mut TBMIterator, tbmres: *mut TBMIterateResult) -> bool; + pub static mut MyProcNumber: ProcNumber; + pub static mut ParallelLeaderProcNumber: ProcNumber; + pub fn s_lock( + lock: *mut slock_t, + file: *const ::core::ffi::c_char, + line: ::core::ffi::c_int, + func: *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn set_spins_per_delay(shared_spins_per_delay: ::core::ffi::c_int); + pub fn update_spins_per_delay(shared_spins_per_delay: ::core::ffi::c_int) + -> ::core::ffi::c_int; + pub fn perform_spin_delay(status: *mut SpinDelayStatus); + pub fn finish_spin_delay(status: *mut SpinDelayStatus); + pub fn ConditionVariableInit(cv: *mut ConditionVariable); + pub fn ConditionVariableSleep(cv: *mut ConditionVariable, wait_event_info: uint32); + pub fn ConditionVariableTimedSleep( + cv: *mut ConditionVariable, + timeout: ::core::ffi::c_long, + wait_event_info: uint32, + ) -> bool; + pub fn ConditionVariableCancelSleep() -> bool; + pub fn ConditionVariablePrepareToSleep(cv: *mut ConditionVariable); + pub fn ConditionVariableSignal(cv: *mut ConditionVariable); + pub fn ConditionVariableBroadcast(cv: *mut ConditionVariable); + pub fn hash_create( + tabname: *const ::core::ffi::c_char, + nelem: ::core::ffi::c_long, + info: *const HASHCTL, + flags: ::core::ffi::c_int, + ) -> *mut HTAB; + pub fn hash_destroy(hashp: *mut HTAB); + pub fn hash_stats(where_: *const ::core::ffi::c_char, hashp: *mut HTAB); + pub fn hash_search( + hashp: *mut HTAB, + keyPtr: *const ::core::ffi::c_void, + action: HASHACTION::Type, + foundPtr: *mut bool, + ) -> *mut ::core::ffi::c_void; + pub fn get_hash_value(hashp: *mut HTAB, keyPtr: *const ::core::ffi::c_void) -> uint32; + pub fn hash_search_with_hash_value( + hashp: *mut HTAB, + keyPtr: *const ::core::ffi::c_void, + hashvalue: uint32, + action: HASHACTION::Type, + foundPtr: *mut bool, + ) -> *mut ::core::ffi::c_void; + pub fn hash_update_hash_key( + hashp: *mut HTAB, + existingEntry: *mut ::core::ffi::c_void, + newKeyPtr: *const ::core::ffi::c_void, + ) -> bool; + pub fn hash_get_num_entries(hashp: *mut HTAB) -> ::core::ffi::c_long; + pub fn hash_seq_init(status: *mut HASH_SEQ_STATUS, hashp: *mut HTAB); + pub fn hash_seq_init_with_hash_value( + status: *mut HASH_SEQ_STATUS, + hashp: *mut HTAB, + hashvalue: uint32, + ); + pub fn hash_seq_search(status: *mut HASH_SEQ_STATUS) -> *mut ::core::ffi::c_void; + pub fn hash_seq_term(status: *mut HASH_SEQ_STATUS); + pub fn hash_freeze(hashp: *mut HTAB); + pub fn hash_estimate_size(num_entries: ::core::ffi::c_long, entrysize: Size) -> Size; + pub fn hash_select_dirsize(num_entries: ::core::ffi::c_long) -> ::core::ffi::c_long; + pub fn hash_get_shared_size(info: *mut HASHCTL, flags: ::core::ffi::c_int) -> Size; + pub fn AtEOXact_HashTables(isCommit: bool); + pub fn AtEOSubXact_HashTables(isCommit: bool, nestDepth: ::core::ffi::c_int); + pub fn create_queryEnv() -> *mut QueryEnvironment; + pub fn get_visible_ENR_metadata( + queryEnv: *mut QueryEnvironment, + refname: *const ::core::ffi::c_char, + ) -> EphemeralNamedRelationMetadata; + pub fn register_ENR(queryEnv: *mut QueryEnvironment, enr: EphemeralNamedRelation); + pub fn unregister_ENR(queryEnv: *mut QueryEnvironment, name: *const ::core::ffi::c_char); + pub fn get_ENR( + queryEnv: *mut QueryEnvironment, + name: *const ::core::ffi::c_char, + ) -> EphemeralNamedRelation; + pub fn ENRMetadataGetTupDesc(enrmd: EphemeralNamedRelationMetadata) -> TupleDesc; + pub fn makeInteger(i: ::core::ffi::c_int) -> *mut Integer; + pub fn makeFloat(numericStr: *mut ::core::ffi::c_char) -> *mut Float; + pub fn makeBoolean(val: bool) -> *mut Boolean; + pub fn makeString(str_: *mut ::core::ffi::c_char) -> *mut String; + pub fn makeBitString(str_: *mut ::core::ffi::c_char) -> *mut BitString; + pub fn InitializeQueryCompletion(qc: *mut QueryCompletion); + pub fn GetCommandTagName(commandTag: CommandTag::Type) -> *const ::core::ffi::c_char; + pub fn GetCommandTagNameAndLen( + commandTag: CommandTag::Type, + len: *mut Size, + ) -> *const ::core::ffi::c_char; + pub fn command_tag_display_rowcount(commandTag: CommandTag::Type) -> bool; + pub fn command_tag_event_trigger_ok(commandTag: CommandTag::Type) -> bool; + pub fn command_tag_table_rewrite_ok(commandTag: CommandTag::Type) -> bool; + pub fn GetCommandTagEnum(commandname: *const ::core::ffi::c_char) -> CommandTag::Type; + pub fn BuildQueryCompletionString( + buff: *mut ::core::ffi::c_char, + qc: *const QueryCompletion, + nameonly: bool, + ) -> Size; + pub static mut CurrentResourceOwner: ResourceOwner; + pub static mut CurTransactionResourceOwner: ResourceOwner; + pub static mut TopTransactionResourceOwner: ResourceOwner; + pub static mut AuxProcessResourceOwner: ResourceOwner; + pub fn ResourceOwnerCreate( + parent: ResourceOwner, + name: *const ::core::ffi::c_char, + ) -> ResourceOwner; + pub fn ResourceOwnerRelease( + owner: ResourceOwner, + phase: ResourceReleasePhase::Type, + isCommit: bool, + isTopLevel: bool, + ); + pub fn ResourceOwnerDelete(owner: ResourceOwner); + pub fn ResourceOwnerGetParent(owner: ResourceOwner) -> ResourceOwner; + pub fn ResourceOwnerNewParent(owner: ResourceOwner, newparent: ResourceOwner); + pub fn ResourceOwnerEnlarge(owner: ResourceOwner); + pub fn ResourceOwnerRemember( + owner: ResourceOwner, + value: Datum, + kind: *const ResourceOwnerDesc, + ); + pub fn ResourceOwnerForget(owner: ResourceOwner, value: Datum, kind: *const ResourceOwnerDesc); + pub fn ResourceOwnerReleaseAllOfKind(owner: ResourceOwner, kind: *const ResourceOwnerDesc); + pub fn RegisterResourceReleaseCallback( + callback: ResourceReleaseCallback, + arg: *mut ::core::ffi::c_void, + ); + pub fn UnregisterResourceReleaseCallback( + callback: ResourceReleaseCallback, + arg: *mut ::core::ffi::c_void, + ); + pub fn CreateAuxProcessResourceOwner(); + pub fn ReleaseAuxProcessResources(isCommit: bool); + pub fn ResourceOwnerRememberLock(owner: ResourceOwner, locallock: *mut LOCALLOCK); + pub fn ResourceOwnerForgetLock(owner: ResourceOwner, locallock: *mut LOCALLOCK); + pub fn ResourceOwnerRememberAioHandle(owner: ResourceOwner, ioh_node: *mut dlist_node); + pub fn ResourceOwnerForgetAioHandle(owner: ResourceOwner, ioh_node: *mut dlist_node); + pub static mut plan_cache_mode: ::core::ffi::c_int; + pub fn InitPlanCache(); + pub fn ResetPlanCache(); + pub fn ReleaseAllPlanCacheRefsInOwner(owner: ResourceOwner); + pub fn CreateCachedPlan( + raw_parse_tree: *mut RawStmt, + query_string: *const ::core::ffi::c_char, + commandTag: CommandTag::Type, + ) -> *mut CachedPlanSource; + pub fn CreateCachedPlanForQuery( + analyzed_parse_tree: *mut Query, + query_string: *const ::core::ffi::c_char, + commandTag: CommandTag::Type, + ) -> *mut CachedPlanSource; + pub fn CreateOneShotCachedPlan( + raw_parse_tree: *mut RawStmt, + query_string: *const ::core::ffi::c_char, + commandTag: CommandTag::Type, + ) -> *mut CachedPlanSource; + pub fn CompleteCachedPlan( + plansource: *mut CachedPlanSource, + querytree_list: *mut List, + querytree_context: MemoryContext, + param_types: *mut Oid, + num_params: ::core::ffi::c_int, + parserSetup: ParserSetupHook, + parserSetupArg: *mut ::core::ffi::c_void, + cursor_options: ::core::ffi::c_int, + fixed_result: bool, + ); + pub fn SetPostRewriteHook( + plansource: *mut CachedPlanSource, + postRewrite: PostRewriteHook, + postRewriteArg: *mut ::core::ffi::c_void, + ); + pub fn SaveCachedPlan(plansource: *mut CachedPlanSource); + pub fn DropCachedPlan(plansource: *mut CachedPlanSource); + pub fn CachedPlanSetParentContext(plansource: *mut CachedPlanSource, newcontext: MemoryContext); + pub fn CopyCachedPlan(plansource: *mut CachedPlanSource) -> *mut CachedPlanSource; + pub fn CachedPlanIsValid(plansource: *mut CachedPlanSource) -> bool; + pub fn CachedPlanGetTargetList( + plansource: *mut CachedPlanSource, + queryEnv: *mut QueryEnvironment, + ) -> *mut List; + pub fn GetCachedPlan( + plansource: *mut CachedPlanSource, + boundParams: ParamListInfo, + owner: ResourceOwner, + queryEnv: *mut QueryEnvironment, + ) -> *mut CachedPlan; + pub fn UpdateCachedPlan( + plansource: *mut CachedPlanSource, + query_index: ::core::ffi::c_int, + queryEnv: *mut QueryEnvironment, + ) -> *mut PlannedStmt; + pub fn ReleaseCachedPlan(plan: *mut CachedPlan, owner: ResourceOwner); + pub fn CachedPlanAllowsSimpleValidityCheck( + plansource: *mut CachedPlanSource, + plan: *mut CachedPlan, + owner: ResourceOwner, + ) -> bool; + pub fn CachedPlanIsSimplyValid( + plansource: *mut CachedPlanSource, + plan: *mut CachedPlan, + owner: ResourceOwner, + ) -> bool; + pub fn GetCachedExpression(expr: *mut Node) -> *mut CachedExpression; + pub fn FreeCachedExpression(cexpr: *mut CachedExpression); + pub static mut max_files_per_process: ::core::ffi::c_int; + pub static mut data_sync_retry: bool; + pub static mut recovery_init_sync_method: ::core::ffi::c_int; + pub static mut io_direct_flags: ::core::ffi::c_int; + pub static mut max_safe_fds: ::core::ffi::c_int; + pub fn PathNameOpenFile( + fileName: *const ::core::ffi::c_char, + fileFlags: ::core::ffi::c_int, + ) -> File; + pub fn PathNameOpenFilePerm( + fileName: *const ::core::ffi::c_char, + fileFlags: ::core::ffi::c_int, + fileMode: mode_t, + ) -> File; + pub fn OpenTemporaryFile(interXact: bool) -> File; + pub fn FileClose(file: File); + pub fn FilePrefetch( + file: File, + offset: off_t, + amount: off_t, + wait_event_info: uint32, + ) -> ::core::ffi::c_int; + pub fn FileReadV( + file: File, + iov: *const iovec, + iovcnt: ::core::ffi::c_int, + offset: off_t, + wait_event_info: uint32, + ) -> isize; + pub fn FileWriteV( + file: File, + iov: *const iovec, + iovcnt: ::core::ffi::c_int, + offset: off_t, + wait_event_info: uint32, + ) -> isize; + pub fn FileStartReadV( + ioh: *mut PgAioHandle, + file: File, + iovcnt: ::core::ffi::c_int, + offset: off_t, + wait_event_info: uint32, + ) -> ::core::ffi::c_int; + pub fn FileSync(file: File, wait_event_info: uint32) -> ::core::ffi::c_int; + pub fn FileZero( + file: File, + offset: off_t, + amount: off_t, + wait_event_info: uint32, + ) -> ::core::ffi::c_int; + pub fn FileFallocate( + file: File, + offset: off_t, + amount: off_t, + wait_event_info: uint32, + ) -> ::core::ffi::c_int; + pub fn FileSize(file: File) -> off_t; + pub fn FileTruncate(file: File, offset: off_t, wait_event_info: uint32) -> ::core::ffi::c_int; + pub fn FileWriteback(file: File, offset: off_t, nbytes: off_t, wait_event_info: uint32); + pub fn FilePathName(file: File) -> *mut ::core::ffi::c_char; + pub fn FileGetRawDesc(file: File) -> ::core::ffi::c_int; + pub fn FileGetRawFlags(file: File) -> ::core::ffi::c_int; + pub fn FileGetRawMode(file: File) -> mode_t; + pub fn PathNameCreateTemporaryFile( + path: *const ::core::ffi::c_char, + error_on_failure: bool, + ) -> File; + pub fn PathNameOpenTemporaryFile( + path: *const ::core::ffi::c_char, + mode: ::core::ffi::c_int, + ) -> File; + pub fn PathNameDeleteTemporaryFile( + path: *const ::core::ffi::c_char, + error_on_failure: bool, + ) -> bool; + pub fn PathNameCreateTemporaryDir( + basedir: *const ::core::ffi::c_char, + directory: *const ::core::ffi::c_char, + ); + pub fn PathNameDeleteTemporaryDir(dirname: *const ::core::ffi::c_char); + pub fn TempTablespacePath(path: *mut ::core::ffi::c_char, tablespace: Oid); + pub fn AllocateFile( + name: *const ::core::ffi::c_char, + mode: *const ::core::ffi::c_char, + ) -> *mut FILE; + pub fn FreeFile(file: *mut FILE) -> ::core::ffi::c_int; + pub fn OpenPipeStream( + command: *const ::core::ffi::c_char, + mode: *const ::core::ffi::c_char, + ) -> *mut FILE; + pub fn ClosePipeStream(file: *mut FILE) -> ::core::ffi::c_int; + pub fn AllocateDir(dirname: *const ::core::ffi::c_char) -> *mut DIR; + pub fn ReadDir(dir: *mut DIR, dirname: *const ::core::ffi::c_char) -> *mut dirent; + pub fn ReadDirExtended( + dir: *mut DIR, + dirname: *const ::core::ffi::c_char, + elevel: ::core::ffi::c_int, + ) -> *mut dirent; + pub fn FreeDir(dir: *mut DIR) -> ::core::ffi::c_int; + pub fn OpenTransientFile( + fileName: *const ::core::ffi::c_char, + fileFlags: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn OpenTransientFilePerm( + fileName: *const ::core::ffi::c_char, + fileFlags: ::core::ffi::c_int, + fileMode: mode_t, + ) -> ::core::ffi::c_int; + pub fn CloseTransientFile(fd: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn BasicOpenFile( + fileName: *const ::core::ffi::c_char, + fileFlags: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn BasicOpenFilePerm( + fileName: *const ::core::ffi::c_char, + fileFlags: ::core::ffi::c_int, + fileMode: mode_t, + ) -> ::core::ffi::c_int; + pub fn AcquireExternalFD() -> bool; + pub fn ReserveExternalFD(); + pub fn ReleaseExternalFD(); + pub fn MakePGDirectory(directoryName: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn InitFileAccess(); + pub fn InitTemporaryFileAccess(); + pub fn set_max_safe_fds(); + pub fn closeAllVfds(); + pub fn SetTempTablespaces(tableSpaces: *mut Oid, numSpaces: ::core::ffi::c_int); + pub fn TempTablespacesAreSet() -> bool; + pub fn GetTempTablespaces( + tableSpaces: *mut Oid, + numSpaces: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn GetNextTempTableSpace() -> Oid; + pub fn AtEOXact_Files(isCommit: bool); + pub fn AtEOSubXact_Files( + isCommit: bool, + mySubid: SubTransactionId, + parentSubid: SubTransactionId, + ); + pub fn RemovePgTempFiles(); + pub fn RemovePgTempFilesInDir( + tmpdirname: *const ::core::ffi::c_char, + missing_ok: bool, + unlink_all: bool, + ); + pub fn looks_like_temp_rel_name(name: *const ::core::ffi::c_char) -> bool; + pub fn pg_fsync(fd: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn pg_fsync_no_writethrough(fd: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn pg_fsync_writethrough(fd: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn pg_fdatasync(fd: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn pg_file_exists(name: *const ::core::ffi::c_char) -> bool; + pub fn pg_flush_data(fd: ::core::ffi::c_int, offset: off_t, nbytes: off_t); + pub fn pg_truncate(path: *const ::core::ffi::c_char, length: off_t) -> ::core::ffi::c_int; + pub fn fsync_fname(fname: *const ::core::ffi::c_char, isdir: bool); + pub fn fsync_fname_ext( + fname: *const ::core::ffi::c_char, + isdir: bool, + ignore_perm: bool, + elevel: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn durable_rename( + oldfile: *const ::core::ffi::c_char, + newfile: *const ::core::ffi::c_char, + elevel: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn durable_unlink( + fname: *const ::core::ffi::c_char, + elevel: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn SyncDataDirectory(); + pub fn data_sync_elevel(elevel: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn FileSetInit(fileset: *mut FileSet); + pub fn FileSetCreate(fileset: *mut FileSet, name: *const ::core::ffi::c_char) -> File; + pub fn FileSetOpen( + fileset: *mut FileSet, + name: *const ::core::ffi::c_char, + mode: ::core::ffi::c_int, + ) -> File; + pub fn FileSetDelete( + fileset: *mut FileSet, + name: *const ::core::ffi::c_char, + error_on_failure: bool, + ) -> bool; + pub fn FileSetDeleteAll(fileset: *mut FileSet); + pub fn SharedFileSetInit(fileset: *mut SharedFileSet, seg: *mut dsm_segment); + pub fn SharedFileSetAttach(fileset: *mut SharedFileSet, seg: *mut dsm_segment); + pub fn SharedFileSetDeleteAll(fileset: *mut SharedFileSet); + pub fn sts_estimate(participants: ::core::ffi::c_int) -> usize; + pub fn sts_initialize( + sts: *mut SharedTuplestore, + participants: ::core::ffi::c_int, + my_participant_number: ::core::ffi::c_int, + meta_data_size: usize, + flags: ::core::ffi::c_int, + fileset: *mut SharedFileSet, + name: *const ::core::ffi::c_char, + ) -> *mut SharedTuplestoreAccessor; + pub fn sts_attach( + sts: *mut SharedTuplestore, + my_participant_number: ::core::ffi::c_int, + fileset: *mut SharedFileSet, + ) -> *mut SharedTuplestoreAccessor; + pub fn sts_end_write(accessor: *mut SharedTuplestoreAccessor); + pub fn sts_reinitialize(accessor: *mut SharedTuplestoreAccessor); + pub fn sts_begin_parallel_scan(accessor: *mut SharedTuplestoreAccessor); + pub fn sts_end_parallel_scan(accessor: *mut SharedTuplestoreAccessor); + pub fn sts_puttuple( + accessor: *mut SharedTuplestoreAccessor, + meta_data: *mut ::core::ffi::c_void, + tuple: MinimalTuple, + ); + pub fn sts_parallel_scan_next( + accessor: *mut SharedTuplestoreAccessor, + meta_data: *mut ::core::ffi::c_void, + ) -> MinimalTuple; + pub fn AssertCouldGetRelation(); + pub fn RelationIdGetRelation(relationId: Oid) -> Relation; + pub fn RelationClose(relation: Relation); + pub fn RelationGetFKeyList(relation: Relation) -> *mut List; + pub fn RelationGetIndexList(relation: Relation) -> *mut List; + pub fn RelationGetStatExtList(relation: Relation) -> *mut List; + pub fn RelationGetPrimaryKeyIndex(relation: Relation, deferrable_ok: bool) -> Oid; + pub fn RelationGetReplicaIndex(relation: Relation) -> Oid; + pub fn RelationGetIndexExpressions(relation: Relation) -> *mut List; + pub fn RelationGetDummyIndexExpressions(relation: Relation) -> *mut List; + pub fn RelationGetIndexPredicate(relation: Relation) -> *mut List; + pub fn RelationGetIndexAttOptions(relation: Relation, copy: bool) -> *mut *mut bytea; + pub fn RelationGetIndexAttrBitmap( + relation: Relation, + attrKind: IndexAttrBitmapKind::Type, + ) -> *mut Bitmapset; + pub fn RelationGetIdentityKeyBitmap(relation: Relation) -> *mut Bitmapset; + pub fn RelationGetExclusionInfo( + indexRelation: Relation, + operators: *mut *mut Oid, + procs: *mut *mut Oid, + strategies: *mut *mut uint16, + ); + pub fn RelationInitIndexAccessInfo(relation: Relation); + pub fn RelationBuildPublicationDesc(relation: Relation, pubdesc: *mut PublicationDesc); + pub fn RelationInitTableAccessMethod(relation: Relation); + pub fn errtable(rel: Relation) -> ::core::ffi::c_int; + pub fn errtablecol(rel: Relation, attnum: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn errtablecolname( + rel: Relation, + colname: *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn errtableconstraint( + rel: Relation, + conname: *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn RelationCacheInitialize(); + pub fn RelationCacheInitializePhase2(); + pub fn RelationCacheInitializePhase3(); + pub fn RelationBuildLocalRelation( + relname: *const ::core::ffi::c_char, + relnamespace: Oid, + tupDesc: TupleDesc, + relid: Oid, + accessmtd: Oid, + relfilenumber: RelFileNumber, + reltablespace: Oid, + shared_relation: bool, + mapped_relation: bool, + relpersistence: ::core::ffi::c_char, + relkind: ::core::ffi::c_char, + ) -> Relation; + pub fn RelationSetNewRelfilenumber(relation: Relation, persistence: ::core::ffi::c_char); + pub fn RelationAssumeNewRelfilelocator(relation: Relation); + pub fn RelationForgetRelation(rid: Oid); + pub fn RelationCacheInvalidateEntry(relationId: Oid); + pub fn RelationCacheInvalidate(debug_discard: bool); + pub fn AssertPendingSyncs_RelationCache(); + pub fn AtEOXact_RelationCache(isCommit: bool); + pub fn AtEOSubXact_RelationCache( + isCommit: bool, + mySubid: SubTransactionId, + parentSubid: SubTransactionId, + ); + pub fn RelationIdIsInInitFile(relationId: Oid) -> bool; + pub fn RelationCacheInitFilePreInvalidate(); + pub fn RelationCacheInitFilePostInvalidate(); + pub fn RelationCacheInitFileRemove(); + pub static mut criticalRelcachesBuilt: bool; + pub static mut criticalSharedRelcachesBuilt: bool; + pub fn ssup_datum_unsigned_cmp(x: Datum, y: Datum, ssup: SortSupport) -> ::core::ffi::c_int; + pub fn ssup_datum_signed_cmp(x: Datum, y: Datum, ssup: SortSupport) -> ::core::ffi::c_int; + pub fn ssup_datum_int32_cmp(x: Datum, y: Datum, ssup: SortSupport) -> ::core::ffi::c_int; + pub fn PrepareSortSupportComparisonShim(cmpFunc: Oid, ssup: SortSupport); + pub fn PrepareSortSupportFromOrderingOp(orderingOp: Oid, ssup: SortSupport); + pub fn PrepareSortSupportFromIndexRel(indexRel: Relation, reverse: bool, ssup: SortSupport); + pub fn PrepareSortSupportFromGistIndexRel(indexRel: Relation, ssup: SortSupport); + pub fn ScanKeyInit( + entry: ScanKey, + attributeNumber: AttrNumber, + strategy: StrategyNumber, + procedure: RegProcedure, + argument: Datum, + ); + pub fn ScanKeyEntryInitialize( + entry: ScanKey, + flags: ::core::ffi::c_int, + attributeNumber: AttrNumber, + strategy: StrategyNumber, + subtype: Oid, + collation: Oid, + procedure: RegProcedure, + argument: Datum, + ); + pub fn ScanKeyEntryInitializeWithInfo( + entry: ScanKey, + flags: ::core::ffi::c_int, + attributeNumber: AttrNumber, + strategy: StrategyNumber, + subtype: Oid, + collation: Oid, + finfo: *mut FmgrInfo, + argument: Datum, + ); + pub fn index_open(relationId: Oid, lockmode: LOCKMODE) -> Relation; + pub fn try_index_open(relationId: Oid, lockmode: LOCKMODE) -> Relation; + pub fn index_close(relation: Relation, lockmode: LOCKMODE); + pub fn index_insert( + indexRelation: Relation, + values: *mut Datum, + isnull: *mut bool, + heap_t_ctid: ItemPointer, + heapRelation: Relation, + checkUnique: IndexUniqueCheck::Type, + indexUnchanged: bool, + indexInfo: *mut IndexInfo, + ) -> bool; + pub fn index_insert_cleanup(indexRelation: Relation, indexInfo: *mut IndexInfo); + pub fn index_beginscan( + heapRelation: Relation, + indexRelation: Relation, + snapshot: Snapshot, + instrument: *mut IndexScanInstrumentation, + nkeys: ::core::ffi::c_int, + norderbys: ::core::ffi::c_int, + ) -> IndexScanDesc; + pub fn index_beginscan_bitmap( + indexRelation: Relation, + snapshot: Snapshot, + instrument: *mut IndexScanInstrumentation, + nkeys: ::core::ffi::c_int, + ) -> IndexScanDesc; + pub fn index_rescan( + scan: IndexScanDesc, + keys: ScanKey, + nkeys: ::core::ffi::c_int, + orderbys: ScanKey, + norderbys: ::core::ffi::c_int, + ); + pub fn index_endscan(scan: IndexScanDesc); + pub fn index_markpos(scan: IndexScanDesc); + pub fn index_restrpos(scan: IndexScanDesc); + pub fn index_parallelscan_estimate( + indexRelation: Relation, + nkeys: ::core::ffi::c_int, + norderbys: ::core::ffi::c_int, + snapshot: Snapshot, + instrument: bool, + parallel_aware: bool, + nworkers: ::core::ffi::c_int, + ) -> Size; + pub fn index_parallelscan_initialize( + heapRelation: Relation, + indexRelation: Relation, + snapshot: Snapshot, + instrument: bool, + parallel_aware: bool, + nworkers: ::core::ffi::c_int, + sharedinfo: *mut *mut SharedIndexScanInstrumentation, + target: ParallelIndexScanDesc, + ); + pub fn index_parallelrescan(scan: IndexScanDesc); + pub fn index_beginscan_parallel( + heaprel: Relation, + indexrel: Relation, + instrument: *mut IndexScanInstrumentation, + nkeys: ::core::ffi::c_int, + norderbys: ::core::ffi::c_int, + pscan: ParallelIndexScanDesc, + ) -> IndexScanDesc; + pub fn index_getnext_tid(scan: IndexScanDesc, direction: ScanDirection::Type) -> ItemPointer; + pub fn index_fetch_heap(scan: IndexScanDesc, slot: *mut TupleTableSlot) -> bool; + pub fn index_getnext_slot( + scan: IndexScanDesc, + direction: ScanDirection::Type, + slot: *mut TupleTableSlot, + ) -> bool; + pub fn index_getbitmap(scan: IndexScanDesc, bitmap: *mut TIDBitmap) -> int64; + pub fn index_bulk_delete( + info: *mut IndexVacuumInfo, + istat: *mut IndexBulkDeleteResult, + callback: IndexBulkDeleteCallback, + callback_state: *mut ::core::ffi::c_void, + ) -> *mut IndexBulkDeleteResult; + pub fn index_vacuum_cleanup( + info: *mut IndexVacuumInfo, + istat: *mut IndexBulkDeleteResult, + ) -> *mut IndexBulkDeleteResult; + pub fn index_can_return(indexRelation: Relation, attno: ::core::ffi::c_int) -> bool; + pub fn index_getprocid(irel: Relation, attnum: AttrNumber, procnum: uint16) -> RegProcedure; + pub fn index_getprocinfo(irel: Relation, attnum: AttrNumber, procnum: uint16) -> *mut FmgrInfo; + pub fn index_store_float8_orderby_distances( + scan: IndexScanDesc, + orderByTypes: *mut Oid, + distances: *mut IndexOrderByDistance, + recheckOrderBy: bool, + ); + pub fn index_opclass_options( + indrel: Relation, + attnum: AttrNumber, + attoptions: Datum, + validate: bool, + ) -> *mut bytea; + pub fn RelationGetIndexScan( + indexRelation: Relation, + nkeys: ::core::ffi::c_int, + norderbys: ::core::ffi::c_int, + ) -> IndexScanDesc; + pub fn IndexScanEnd(scan: IndexScanDesc); + pub fn BuildIndexValueDescription( + indexRelation: Relation, + values: *const Datum, + isnull: *const bool, + ) -> *mut ::core::ffi::c_char; + pub fn index_compute_xid_horizon_for_tuples( + irel: Relation, + hrel: Relation, + ibuf: Buffer, + itemnos: *mut OffsetNumber, + nitems: ::core::ffi::c_int, + ) -> TransactionId; + pub fn systable_beginscan( + heapRelation: Relation, + indexId: Oid, + indexOK: bool, + snapshot: Snapshot, + nkeys: ::core::ffi::c_int, + key: ScanKey, + ) -> SysScanDesc; + pub fn systable_getnext(sysscan: SysScanDesc) -> HeapTuple; + pub fn systable_recheck_tuple(sysscan: SysScanDesc, tup: HeapTuple) -> bool; + pub fn systable_endscan(sysscan: SysScanDesc); + pub fn systable_beginscan_ordered( + heapRelation: Relation, + indexRelation: Relation, + snapshot: Snapshot, + nkeys: ::core::ffi::c_int, + key: ScanKey, + ) -> SysScanDesc; + pub fn systable_getnext_ordered( + sysscan: SysScanDesc, + direction: ScanDirection::Type, + ) -> HeapTuple; + pub fn systable_endscan_ordered(sysscan: SysScanDesc); + pub fn systable_inplace_update_begin( + relation: Relation, + indexId: Oid, + indexOK: bool, + snapshot: Snapshot, + nkeys: ::core::ffi::c_int, + key: *const ScanKeyData, + oldtupcopy: *mut HeapTuple, + state: *mut *mut ::core::ffi::c_void, + ); + pub fn systable_inplace_update_finish(state: *mut ::core::ffi::c_void, tuple: HeapTuple); + pub fn systable_inplace_update_cancel(state: *mut ::core::ffi::c_void); + pub fn GetIndexAmRoutine(amhandler: Oid) -> *mut IndexAmRoutine; + pub fn GetIndexAmRoutineByAmId(amoid: Oid, noerror: bool) -> *mut IndexAmRoutine; + pub fn IndexAmTranslateStrategy( + strategy: StrategyNumber, + amoid: Oid, + opfamily: Oid, + missing_ok: bool, + ) -> CompareType::Type; + pub fn IndexAmTranslateCompareType( + cmptype: CompareType::Type, + amoid: Oid, + opfamily: Oid, + missing_ok: bool, + ) -> StrategyNumber; + pub fn lookup_type_cache(type_id: Oid, flags: ::core::ffi::c_int) -> *mut TypeCacheEntry; + pub fn InitDomainConstraintRef( + type_id: Oid, + ref_: *mut DomainConstraintRef, + refctx: MemoryContext, + need_exprstate: bool, + ); + pub fn UpdateDomainConstraintRef(ref_: *mut DomainConstraintRef); + pub fn DomainHasConstraints(type_id: Oid) -> bool; + pub fn lookup_rowtype_tupdesc(type_id: Oid, typmod: int32) -> TupleDesc; + pub fn lookup_rowtype_tupdesc_noerror(type_id: Oid, typmod: int32, noError: bool) -> TupleDesc; + pub fn lookup_rowtype_tupdesc_copy(type_id: Oid, typmod: int32) -> TupleDesc; + pub fn lookup_rowtype_tupdesc_domain(type_id: Oid, typmod: int32, noError: bool) -> TupleDesc; + pub fn assign_record_type_typmod(tupDesc: TupleDesc); + pub fn assign_record_type_identifier(type_id: Oid, typmod: int32) -> uint64; + pub fn compare_values_of_enum( + tcache: *mut TypeCacheEntry, + arg1: Oid, + arg2: Oid, + ) -> ::core::ffi::c_int; + pub fn SharedRecordTypmodRegistryEstimate() -> usize; + pub fn SharedRecordTypmodRegistryInit( + arg1: *mut SharedRecordTypmodRegistry, + segment: *mut dsm_segment, + area: *mut dsa_area, + ); + pub fn SharedRecordTypmodRegistryAttach(arg1: *mut SharedRecordTypmodRegistry); + pub fn AtEOXact_TypeCache(); + pub fn AtEOSubXact_TypeCache(); + pub fn brin_build_desc(rel: Relation) -> *mut BrinDesc; + pub fn brin_free_desc(bdesc: *mut BrinDesc); + pub fn brinbuild( + heap: Relation, + index: Relation, + indexInfo: *mut IndexInfo, + ) -> *mut IndexBuildResult; + pub fn brinbuildempty(index: Relation); + pub fn brininsert( + idxRel: Relation, + values: *mut Datum, + nulls: *mut bool, + heaptid: ItemPointer, + heapRel: Relation, + checkUnique: IndexUniqueCheck::Type, + indexUnchanged: bool, + indexInfo: *mut IndexInfo, + ) -> bool; + pub fn brininsertcleanup(index: Relation, indexInfo: *mut IndexInfo); + pub fn brinbeginscan( + r: Relation, + nkeys: ::core::ffi::c_int, + norderbys: ::core::ffi::c_int, + ) -> IndexScanDesc; + pub fn bringetbitmap(scan: IndexScanDesc, tbm: *mut TIDBitmap) -> int64; + pub fn brinrescan( + scan: IndexScanDesc, + scankey: ScanKey, + nscankeys: ::core::ffi::c_int, + orderbys: ScanKey, + norderbys: ::core::ffi::c_int, + ); + pub fn brinendscan(scan: IndexScanDesc); + pub fn brinbulkdelete( + info: *mut IndexVacuumInfo, + stats: *mut IndexBulkDeleteResult, + callback: IndexBulkDeleteCallback, + callback_state: *mut ::core::ffi::c_void, + ) -> *mut IndexBulkDeleteResult; + pub fn brinvacuumcleanup( + info: *mut IndexVacuumInfo, + stats: *mut IndexBulkDeleteResult, + ) -> *mut IndexBulkDeleteResult; + pub fn brinoptions(reloptions: Datum, validate: bool) -> *mut bytea; + pub fn brinvalidate(opclassoid: Oid) -> bool; + pub fn brin_form_tuple( + brdesc: *mut BrinDesc, + blkno: BlockNumber, + tuple: *mut BrinMemTuple, + size: *mut Size, + ) -> *mut BrinTuple; + pub fn brin_form_placeholder_tuple( + brdesc: *mut BrinDesc, + blkno: BlockNumber, + size: *mut Size, + ) -> *mut BrinTuple; + pub fn brin_free_tuple(tuple: *mut BrinTuple); + pub fn brin_copy_tuple( + tuple: *mut BrinTuple, + len: Size, + dest: *mut BrinTuple, + destsz: *mut Size, + ) -> *mut BrinTuple; + pub fn brin_tuples_equal( + a: *const BrinTuple, + alen: Size, + b: *const BrinTuple, + blen: Size, + ) -> bool; + pub fn brin_new_memtuple(brdesc: *mut BrinDesc) -> *mut BrinMemTuple; + pub fn brin_memtuple_initialize( + dtuple: *mut BrinMemTuple, + brdesc: *mut BrinDesc, + ) -> *mut BrinMemTuple; + pub fn brin_deform_tuple( + brdesc: *mut BrinDesc, + tuple: *mut BrinTuple, + dMemtuple: *mut BrinMemTuple, + ) -> *mut BrinMemTuple; + pub fn GinPageIsRecyclable(page: Page) -> bool; + pub fn _gin_compare_tuples( + a: *mut GinTuple, + b: *mut GinTuple, + ssup: SortSupport, + ) -> ::core::ffi::c_int; + pub fn index_form_tuple( + tupleDescriptor: TupleDesc, + values: *const Datum, + isnull: *const bool, + ) -> IndexTuple; + pub fn index_form_tuple_context( + tupleDescriptor: TupleDesc, + values: *const Datum, + isnull: *const bool, + context: MemoryContext, + ) -> IndexTuple; + pub fn nocache_index_getattr( + tup: IndexTuple, + attnum: ::core::ffi::c_int, + tupleDesc: TupleDesc, + ) -> Datum; + pub fn index_deform_tuple( + tup: IndexTuple, + tupleDescriptor: TupleDesc, + values: *mut Datum, + isnull: *mut bool, + ); + pub fn index_deform_tuple_internal( + tupleDescriptor: TupleDesc, + values: *mut Datum, + isnull: *mut bool, + tp: *mut ::core::ffi::c_char, + bp: *mut bits8, + hasnulls: ::core::ffi::c_int, + ); + pub fn CopyIndexTuple(source: IndexTuple) -> IndexTuple; + pub fn index_truncate_tuple( + sourceDescriptor: TupleDesc, + source: IndexTuple, + leavenatts: ::core::ffi::c_int, + ) -> IndexTuple; + pub fn LogicalTapeSetCreate( + preallocate: bool, + fileset: *mut SharedFileSet, + worker: ::core::ffi::c_int, + ) -> *mut LogicalTapeSet; + pub fn LogicalTapeClose(lt: *mut LogicalTape); + pub fn LogicalTapeSetClose(lts: *mut LogicalTapeSet); + pub fn LogicalTapeCreate(lts: *mut LogicalTapeSet) -> *mut LogicalTape; + pub fn LogicalTapeImport( + lts: *mut LogicalTapeSet, + worker: ::core::ffi::c_int, + shared: *mut TapeShare, + ) -> *mut LogicalTape; + pub fn LogicalTapeSetForgetFreeSpace(lts: *mut LogicalTapeSet); + pub fn LogicalTapeRead( + lt: *mut LogicalTape, + ptr: *mut ::core::ffi::c_void, + size: usize, + ) -> usize; + pub fn LogicalTapeWrite(lt: *mut LogicalTape, ptr: *const ::core::ffi::c_void, size: usize); + pub fn LogicalTapeRewindForRead(lt: *mut LogicalTape, buffer_size: usize); + pub fn LogicalTapeFreeze(lt: *mut LogicalTape, share: *mut TapeShare); + pub fn LogicalTapeBackspace(lt: *mut LogicalTape, size: usize) -> usize; + pub fn LogicalTapeSeek(lt: *mut LogicalTape, blocknum: int64, offset: ::core::ffi::c_int); + pub fn LogicalTapeTell( + lt: *mut LogicalTape, + blocknum: *mut int64, + offset: *mut ::core::ffi::c_int, + ); + pub fn LogicalTapeSetBlocks(lts: *mut LogicalTapeSet) -> int64; + pub fn tuplesort_begin_common( + workMem: ::core::ffi::c_int, + coordinate: SortCoordinate, + sortopt: ::core::ffi::c_int, + ) -> *mut Tuplesortstate; + pub fn tuplesort_set_bound(state: *mut Tuplesortstate, bound: int64); + pub fn tuplesort_used_bound(state: *mut Tuplesortstate) -> bool; + pub fn tuplesort_puttuple_common( + state: *mut Tuplesortstate, + tuple: *mut SortTuple, + useAbbrev: bool, + tuplen: Size, + ); + pub fn tuplesort_performsort(state: *mut Tuplesortstate); + pub fn tuplesort_gettuple_common( + state: *mut Tuplesortstate, + forward: bool, + stup: *mut SortTuple, + ) -> bool; + pub fn tuplesort_skiptuples(state: *mut Tuplesortstate, ntuples: int64, forward: bool) -> bool; + pub fn tuplesort_end(state: *mut Tuplesortstate); + pub fn tuplesort_reset(state: *mut Tuplesortstate); + pub fn tuplesort_get_stats(state: *mut Tuplesortstate, stats: *mut TuplesortInstrumentation); + pub fn tuplesort_method_name(m: TuplesortMethod::Type) -> *const ::core::ffi::c_char; + pub fn tuplesort_space_type_name(t: TuplesortSpaceType::Type) -> *const ::core::ffi::c_char; + pub fn tuplesort_merge_order(allowedMem: int64) -> ::core::ffi::c_int; + pub fn tuplesort_estimate_shared(nWorkers: ::core::ffi::c_int) -> Size; + pub fn tuplesort_initialize_shared( + shared: *mut Sharedsort, + nWorkers: ::core::ffi::c_int, + seg: *mut dsm_segment, + ); + pub fn tuplesort_attach_shared(shared: *mut Sharedsort, seg: *mut dsm_segment); + pub fn tuplesort_rescan(state: *mut Tuplesortstate); + pub fn tuplesort_markpos(state: *mut Tuplesortstate); + pub fn tuplesort_restorepos(state: *mut Tuplesortstate); + pub fn tuplesort_readtup_alloc( + state: *mut Tuplesortstate, + tuplen: Size, + ) -> *mut ::core::ffi::c_void; + pub fn tuplesort_begin_heap( + tupDesc: TupleDesc, + nkeys: ::core::ffi::c_int, + attNums: *mut AttrNumber, + sortOperators: *mut Oid, + sortCollations: *mut Oid, + nullsFirstFlags: *mut bool, + workMem: ::core::ffi::c_int, + coordinate: SortCoordinate, + sortopt: ::core::ffi::c_int, + ) -> *mut Tuplesortstate; + pub fn tuplesort_begin_cluster( + tupDesc: TupleDesc, + indexRel: Relation, + workMem: ::core::ffi::c_int, + coordinate: SortCoordinate, + sortopt: ::core::ffi::c_int, + ) -> *mut Tuplesortstate; + pub fn tuplesort_begin_index_btree( + heapRel: Relation, + indexRel: Relation, + enforceUnique: bool, + uniqueNullsNotDistinct: bool, + workMem: ::core::ffi::c_int, + coordinate: SortCoordinate, + sortopt: ::core::ffi::c_int, + ) -> *mut Tuplesortstate; + pub fn tuplesort_begin_index_hash( + heapRel: Relation, + indexRel: Relation, + high_mask: uint32, + low_mask: uint32, + max_buckets: uint32, + workMem: ::core::ffi::c_int, + coordinate: SortCoordinate, + sortopt: ::core::ffi::c_int, + ) -> *mut Tuplesortstate; + pub fn tuplesort_begin_index_gist( + heapRel: Relation, + indexRel: Relation, + workMem: ::core::ffi::c_int, + coordinate: SortCoordinate, + sortopt: ::core::ffi::c_int, + ) -> *mut Tuplesortstate; + pub fn tuplesort_begin_index_brin( + workMem: ::core::ffi::c_int, + coordinate: SortCoordinate, + sortopt: ::core::ffi::c_int, + ) -> *mut Tuplesortstate; + pub fn tuplesort_begin_index_gin( + heapRel: Relation, + indexRel: Relation, + workMem: ::core::ffi::c_int, + coordinate: SortCoordinate, + sortopt: ::core::ffi::c_int, + ) -> *mut Tuplesortstate; + pub fn tuplesort_begin_datum( + datumType: Oid, + sortOperator: Oid, + sortCollation: Oid, + nullsFirstFlag: bool, + workMem: ::core::ffi::c_int, + coordinate: SortCoordinate, + sortopt: ::core::ffi::c_int, + ) -> *mut Tuplesortstate; + pub fn tuplesort_puttupleslot(state: *mut Tuplesortstate, slot: *mut TupleTableSlot); + pub fn tuplesort_putheaptuple(state: *mut Tuplesortstate, tup: HeapTuple); + pub fn tuplesort_putindextuplevalues( + state: *mut Tuplesortstate, + rel: Relation, + self_: ItemPointer, + values: *const Datum, + isnull: *const bool, + ); + pub fn tuplesort_putbrintuple(state: *mut Tuplesortstate, tuple: *mut BrinTuple, size: Size); + pub fn tuplesort_putgintuple(state: *mut Tuplesortstate, tuple: *mut GinTuple, size: Size); + pub fn tuplesort_putdatum(state: *mut Tuplesortstate, val: Datum, isNull: bool); + pub fn tuplesort_gettupleslot( + state: *mut Tuplesortstate, + forward: bool, + copy: bool, + slot: *mut TupleTableSlot, + abbrev: *mut Datum, + ) -> bool; + pub fn tuplesort_getheaptuple(state: *mut Tuplesortstate, forward: bool) -> HeapTuple; + pub fn tuplesort_getindextuple(state: *mut Tuplesortstate, forward: bool) -> IndexTuple; + pub fn tuplesort_getbrintuple( + state: *mut Tuplesortstate, + len: *mut Size, + forward: bool, + ) -> *mut BrinTuple; + pub fn tuplesort_getgintuple( + state: *mut Tuplesortstate, + len: *mut Size, + forward: bool, + ) -> *mut GinTuple; + pub fn tuplesort_getdatum( + state: *mut Tuplesortstate, + forward: bool, + copy: bool, + val: *mut Datum, + isNull: *mut bool, + abbrev: *mut Datum, + ) -> bool; + pub fn tuplestore_begin_heap( + randomAccess: bool, + interXact: bool, + maxKBytes: ::core::ffi::c_int, + ) -> *mut Tuplestorestate; + pub fn tuplestore_set_eflags(state: *mut Tuplestorestate, eflags: ::core::ffi::c_int); + pub fn tuplestore_puttupleslot(state: *mut Tuplestorestate, slot: *mut TupleTableSlot); + pub fn tuplestore_puttuple(state: *mut Tuplestorestate, tuple: HeapTuple); + pub fn tuplestore_putvalues( + state: *mut Tuplestorestate, + tdesc: TupleDesc, + values: *const Datum, + isnull: *const bool, + ); + pub fn tuplestore_alloc_read_pointer( + state: *mut Tuplestorestate, + eflags: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn tuplestore_select_read_pointer(state: *mut Tuplestorestate, ptr: ::core::ffi::c_int); + pub fn tuplestore_copy_read_pointer( + state: *mut Tuplestorestate, + srcptr: ::core::ffi::c_int, + destptr: ::core::ffi::c_int, + ); + pub fn tuplestore_trim(state: *mut Tuplestorestate); + pub fn tuplestore_get_stats( + state: *mut Tuplestorestate, + max_storage_type: *mut *mut ::core::ffi::c_char, + max_space: *mut int64, + ); + pub fn tuplestore_in_memory(state: *mut Tuplestorestate) -> bool; + pub fn tuplestore_gettupleslot( + state: *mut Tuplestorestate, + forward: bool, + copy: bool, + slot: *mut TupleTableSlot, + ) -> bool; + pub fn tuplestore_advance(state: *mut Tuplestorestate, forward: bool) -> bool; + pub fn tuplestore_skiptuples( + state: *mut Tuplestorestate, + ntuples: int64, + forward: bool, + ) -> bool; + pub fn tuplestore_tuple_count(state: *mut Tuplestorestate) -> int64; + pub fn tuplestore_ateof(state: *mut Tuplestorestate) -> bool; + pub fn tuplestore_rescan(state: *mut Tuplestorestate); + pub fn tuplestore_clear(state: *mut Tuplestorestate); + pub fn tuplestore_end(state: *mut Tuplestorestate); + pub static pg_leftmost_one_pos: [uint8; 256usize]; + pub static pg_rightmost_one_pos: [uint8; 256usize]; + pub static pg_number_of_ones: [uint8; 256usize]; + pub static mut pg_popcount32: + ::core::option::Option ::core::ffi::c_int>; + pub static mut pg_popcount64: + ::core::option::Option ::core::ffi::c_int>; + pub static mut pg_popcount_optimized: ::core::option::Option< + unsafe extern "C-unwind" fn( + buf: *const ::core::ffi::c_char, + bytes: ::core::ffi::c_int, + ) -> uint64, + >; + pub static mut pg_popcount_masked_optimized: ::core::option::Option< + unsafe extern "C-unwind" fn( + buf: *const ::core::ffi::c_char, + bytes: ::core::ffi::c_int, + mask: bits8, + ) -> uint64, + >; + pub fn pg_popcount_avx512_available() -> bool; + pub fn pg_popcount_avx512(buf: *const ::core::ffi::c_char, bytes: ::core::ffi::c_int) + -> uint64; + pub fn pg_popcount_masked_avx512( + buf: *const ::core::ffi::c_char, + bytes: ::core::ffi::c_int, + mask: bits8, + ) -> uint64; + pub fn tuplehash_create( + ctx: MemoryContext, + nelements: uint32, + private_data: *mut ::core::ffi::c_void, + ) -> *mut tuplehash_hash; + pub fn tuplehash_destroy(tb: *mut tuplehash_hash); + pub fn tuplehash_reset(tb: *mut tuplehash_hash); + pub fn tuplehash_grow(tb: *mut tuplehash_hash, newsize: uint64); + pub fn tuplehash_insert( + tb: *mut tuplehash_hash, + key: MinimalTuple, + found: *mut bool, + ) -> *mut TupleHashEntryData; + pub fn tuplehash_insert_hash( + tb: *mut tuplehash_hash, + key: MinimalTuple, + hash: uint32, + found: *mut bool, + ) -> *mut TupleHashEntryData; + pub fn tuplehash_lookup(tb: *mut tuplehash_hash, key: MinimalTuple) -> *mut TupleHashEntryData; + pub fn tuplehash_lookup_hash( + tb: *mut tuplehash_hash, + key: MinimalTuple, + hash: uint32, + ) -> *mut TupleHashEntryData; + pub fn tuplehash_delete_item(tb: *mut tuplehash_hash, entry: *mut TupleHashEntryData); + pub fn tuplehash_delete(tb: *mut tuplehash_hash, key: MinimalTuple) -> bool; + pub fn tuplehash_start_iterate(tb: *mut tuplehash_hash, iter: *mut tuplehash_iterator); + pub fn tuplehash_start_iterate_at( + tb: *mut tuplehash_hash, + iter: *mut tuplehash_iterator, + at: uint32, + ); + pub fn tuplehash_iterate( + tb: *mut tuplehash_hash, + iter: *mut tuplehash_iterator, + ) -> *mut TupleHashEntryData; + pub fn tuplehash_stat(tb: *mut tuplehash_hash); + pub static mut None_Receiver: *mut DestReceiver; + pub fn BeginCommand(commandTag: CommandTag::Type, dest: CommandDest::Type); + pub fn CreateDestReceiver(dest: CommandDest::Type) -> *mut DestReceiver; + pub fn EndCommand( + qc: *const QueryCompletion, + dest: CommandDest::Type, + force_undecorated_output: bool, + ); + pub fn EndReplicationCommand(commandTag: *const ::core::ffi::c_char); + pub fn NullCommand(dest: CommandDest::Type); + pub fn ReadyForQuery(dest: CommandDest::Type); + pub fn CreateQueryDesc( + plannedstmt: *mut PlannedStmt, + cplan: *mut CachedPlan, + sourceText: *const ::core::ffi::c_char, + snapshot: Snapshot, + crosscheck_snapshot: Snapshot, + dest: *mut DestReceiver, + params: ParamListInfo, + queryEnv: *mut QueryEnvironment, + instrument_options: ::core::ffi::c_int, + ) -> *mut QueryDesc; + pub fn FreeQueryDesc(qdesc: *mut QueryDesc); + pub static mut MainLWLockArray: *mut LWLockPadded; + pub static mut NamedLWLockTrancheArray: *mut NamedLWLockTranche; + pub static mut NamedLWLockTrancheRequests: ::core::ffi::c_int; + pub fn LWLockAcquire(lock: *mut LWLock, mode: LWLockMode::Type) -> bool; + pub fn LWLockConditionalAcquire(lock: *mut LWLock, mode: LWLockMode::Type) -> bool; + pub fn LWLockAcquireOrWait(lock: *mut LWLock, mode: LWLockMode::Type) -> bool; + pub fn LWLockRelease(lock: *mut LWLock); + pub fn LWLockReleaseClearVar(lock: *mut LWLock, valptr: *mut pg_atomic_uint64, val: uint64); + pub fn LWLockReleaseAll(); + pub fn LWLockDisown(lock: *mut LWLock); + pub fn LWLockReleaseDisowned(lock: *mut LWLock, mode: LWLockMode::Type); + pub fn ForEachLWLockHeldByMe( + callback: ::core::option::Option< + unsafe extern "C-unwind" fn( + arg1: *mut LWLock, + arg2: LWLockMode::Type, + arg3: *mut ::core::ffi::c_void, + ), + >, + context: *mut ::core::ffi::c_void, + ); + pub fn LWLockHeldByMe(lock: *mut LWLock) -> bool; + pub fn LWLockAnyHeldByMe(lock: *mut LWLock, nlocks: ::core::ffi::c_int, stride: usize) -> bool; + pub fn LWLockHeldByMeInMode(lock: *mut LWLock, mode: LWLockMode::Type) -> bool; + pub fn LWLockWaitForVar( + lock: *mut LWLock, + valptr: *mut pg_atomic_uint64, + oldval: uint64, + newval: *mut uint64, + ) -> bool; + pub fn LWLockUpdateVar(lock: *mut LWLock, valptr: *mut pg_atomic_uint64, val: uint64); + pub fn LWLockShmemSize() -> Size; + pub fn CreateLWLocks(); + pub fn InitLWLockAccess(); + pub fn GetLWLockIdentifier(classId: uint32, eventId: uint16) -> *const ::core::ffi::c_char; + pub fn RequestNamedLWLockTranche( + tranche_name: *const ::core::ffi::c_char, + num_lwlocks: ::core::ffi::c_int, + ); + pub fn GetNamedLWLockTranche(tranche_name: *const ::core::ffi::c_char) -> *mut LWLockPadded; + pub fn LWLockNewTrancheId() -> ::core::ffi::c_int; + pub fn LWLockRegisterTranche( + tranche_id: ::core::ffi::c_int, + tranche_name: *const ::core::ffi::c_char, + ); + pub fn LWLockInitialize(lock: *mut LWLock, tranche_id: ::core::ffi::c_int); + pub static mut ShmemLock: *mut slock_t; + pub fn InitShmemAccess(seghdr: *mut PGShmemHeader); + pub fn InitShmemAllocation(); + pub fn ShmemAlloc(size: Size) -> *mut ::core::ffi::c_void; + pub fn ShmemAllocNoError(size: Size) -> *mut ::core::ffi::c_void; + pub fn ShmemAllocUnlocked(size: Size) -> *mut ::core::ffi::c_void; + pub fn ShmemAddrIsValid(addr: *const ::core::ffi::c_void) -> bool; + pub fn InitShmemIndex(); + pub fn ShmemInitHash( + name: *const ::core::ffi::c_char, + init_size: ::core::ffi::c_long, + max_size: ::core::ffi::c_long, + infoP: *mut HASHCTL, + hash_flags: ::core::ffi::c_int, + ) -> *mut HTAB; + pub fn ShmemInitStruct( + name: *const ::core::ffi::c_char, + size: Size, + foundPtr: *mut bool, + ) -> *mut ::core::ffi::c_void; + pub fn add_size(s1: Size, s2: Size) -> Size; + pub fn mul_size(s1: Size, s2: Size) -> Size; + pub fn pg_get_shmem_pagesize() -> Size; + pub fn RequestAddinShmemSpace(size: Size); + pub fn pg_localtime(timep: *const pg_time_t, tz: *const pg_tz) -> *mut pg_tm; + pub fn pg_gmtime(timep: *const pg_time_t) -> *mut pg_tm; + pub fn pg_next_dst_boundary( + timep: *const pg_time_t, + before_gmtoff: *mut ::core::ffi::c_long, + before_isdst: *mut ::core::ffi::c_int, + boundary: *mut pg_time_t, + after_gmtoff: *mut ::core::ffi::c_long, + after_isdst: *mut ::core::ffi::c_int, + tz: *const pg_tz, + ) -> ::core::ffi::c_int; + pub fn pg_interpret_timezone_abbrev( + abbrev: *const ::core::ffi::c_char, + timep: *const pg_time_t, + gmtoff: *mut ::core::ffi::c_long, + isdst: *mut ::core::ffi::c_int, + tz: *const pg_tz, + ) -> bool; + pub fn pg_timezone_abbrev_is_known( + abbrev: *const ::core::ffi::c_char, + isfixed: *mut bool, + gmtoff: *mut ::core::ffi::c_long, + isdst: *mut ::core::ffi::c_int, + tz: *const pg_tz, + ) -> bool; + pub fn pg_get_next_timezone_abbrev( + indx: *mut ::core::ffi::c_int, + tz: *const pg_tz, + ) -> *const ::core::ffi::c_char; + pub fn pg_get_timezone_offset(tz: *const pg_tz, gmtoff: *mut ::core::ffi::c_long) -> bool; + pub fn pg_get_timezone_name(tz: *mut pg_tz) -> *const ::core::ffi::c_char; + pub fn pg_tz_acceptable(tz: *mut pg_tz) -> bool; + pub fn pg_strftime( + s: *mut ::core::ffi::c_char, + maxsize: usize, + format: *const ::core::ffi::c_char, + t: *const pg_tm, + ) -> usize; + pub static mut session_timezone: *mut pg_tz; + pub static mut log_timezone: *mut pg_tz; + pub fn pg_timezone_initialize(); + pub fn pg_tzset(tzname: *const ::core::ffi::c_char) -> *mut pg_tz; + pub fn pg_tzset_offset(gmtoffset: ::core::ffi::c_long) -> *mut pg_tz; + pub fn pg_tzenumerate_start() -> *mut pg_tzenum; + pub fn pg_tzenumerate_next(dir: *mut pg_tzenum) -> *mut pg_tz; + pub fn pg_tzenumerate_end(dir: *mut pg_tzenum); + pub static mut PgStartTime: TimestampTz; + pub static mut PgReloadTime: TimestampTz; + pub fn anytimestamp_typmod_check(istz: bool, typmod: int32) -> int32; + pub fn GetCurrentTimestamp() -> TimestampTz; + pub fn GetSQLCurrentTimestamp(typmod: int32) -> TimestampTz; + pub fn GetSQLLocalTimestamp(typmod: int32) -> Timestamp; + pub fn TimestampDifference( + start_time: TimestampTz, + stop_time: TimestampTz, + secs: *mut ::core::ffi::c_long, + microsecs: *mut ::core::ffi::c_int, + ); + pub fn TimestampDifferenceMilliseconds( + start_time: TimestampTz, + stop_time: TimestampTz, + ) -> ::core::ffi::c_long; + pub fn TimestampDifferenceExceeds( + start_time: TimestampTz, + stop_time: TimestampTz, + msec: ::core::ffi::c_int, + ) -> bool; + pub fn TimestampDifferenceExceedsSeconds( + start_time: TimestampTz, + stop_time: TimestampTz, + threshold_sec: ::core::ffi::c_int, + ) -> bool; + pub fn time_t_to_timestamptz(tm: pg_time_t) -> TimestampTz; + pub fn timestamptz_to_time_t(t: TimestampTz) -> pg_time_t; + pub fn timestamptz_to_str(t: TimestampTz) -> *const ::core::ffi::c_char; + pub fn tm2timestamp( + tm: *mut pg_tm, + fsec: fsec_t, + tzp: *mut ::core::ffi::c_int, + result: *mut Timestamp, + ) -> ::core::ffi::c_int; + pub fn timestamp2tm( + dt: Timestamp, + tzp: *mut ::core::ffi::c_int, + tm: *mut pg_tm, + fsec: *mut fsec_t, + tzn: *mut *const ::core::ffi::c_char, + attimezone: *mut pg_tz, + ) -> ::core::ffi::c_int; + pub fn dt2time( + jd: Timestamp, + hour: *mut ::core::ffi::c_int, + min: *mut ::core::ffi::c_int, + sec: *mut ::core::ffi::c_int, + fsec: *mut fsec_t, + ); + pub fn interval2itm(span: Interval, itm: *mut pg_itm); + pub fn itm2interval(itm: *mut pg_itm, span: *mut Interval) -> ::core::ffi::c_int; + pub fn itmin2interval(itm_in: *mut pg_itm_in, span: *mut Interval) -> ::core::ffi::c_int; + pub fn SetEpochTimestamp() -> Timestamp; + pub fn GetEpochTime(tm: *mut pg_tm); + pub fn timestamp_cmp_internal(dt1: Timestamp, dt2: Timestamp) -> ::core::ffi::c_int; + pub fn timestamp2timestamptz_opt_overflow( + timestamp: Timestamp, + overflow: *mut ::core::ffi::c_int, + ) -> TimestampTz; + pub fn timestamp_cmp_timestamptz_internal(timestampVal: Timestamp, dt2: TimestampTz) -> int32; + pub fn isoweek2j(year: ::core::ffi::c_int, week: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn isoweek2date( + woy: ::core::ffi::c_int, + year: *mut ::core::ffi::c_int, + mon: *mut ::core::ffi::c_int, + mday: *mut ::core::ffi::c_int, + ); + pub fn isoweekdate2date( + isoweek: ::core::ffi::c_int, + wday: ::core::ffi::c_int, + year: *mut ::core::ffi::c_int, + mon: *mut ::core::ffi::c_int, + mday: *mut ::core::ffi::c_int, + ); + pub fn date2isoweek( + year: ::core::ffi::c_int, + mon: ::core::ffi::c_int, + mday: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn date2isoyear( + year: ::core::ffi::c_int, + mon: ::core::ffi::c_int, + mday: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn date2isoyearday( + year: ::core::ffi::c_int, + mon: ::core::ffi::c_int, + mday: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn TimestampTimestampTzRequiresRewrite() -> bool; + pub static mut max_locks_per_xact: ::core::ffi::c_int; + pub static mut log_lock_failure: bool; + pub static LockTagTypeNames: [*const ::core::ffi::c_char; 0usize]; + pub fn LockManagerShmemInit(); + pub fn LockManagerShmemSize() -> Size; + pub fn InitLockManagerAccess(); + pub fn GetLocksMethodTable(lock: *const LOCK) -> LockMethod; + pub fn GetLockTagsMethodTable(locktag: *const LOCKTAG) -> LockMethod; + pub fn LockTagHashCode(locktag: *const LOCKTAG) -> uint32; + pub fn DoLockModesConflict(mode1: LOCKMODE, mode2: LOCKMODE) -> bool; + pub fn LockAcquire( + locktag: *const LOCKTAG, + lockmode: LOCKMODE, + sessionLock: bool, + dontWait: bool, + ) -> LockAcquireResult::Type; + pub fn LockAcquireExtended( + locktag: *const LOCKTAG, + lockmode: LOCKMODE, + sessionLock: bool, + dontWait: bool, + reportMemoryError: bool, + locallockp: *mut *mut LOCALLOCK, + logLockFailure: bool, + ) -> LockAcquireResult::Type; + pub fn AbortStrongLockAcquire(); + pub fn MarkLockClear(locallock: *mut LOCALLOCK); + pub fn LockRelease(locktag: *const LOCKTAG, lockmode: LOCKMODE, sessionLock: bool) -> bool; + pub fn LockReleaseAll(lockmethodid: LOCKMETHODID, allLocks: bool); + pub fn LockReleaseSession(lockmethodid: LOCKMETHODID); + pub fn LockReleaseCurrentOwner(locallocks: *mut *mut LOCALLOCK, nlocks: ::core::ffi::c_int); + pub fn LockReassignCurrentOwner(locallocks: *mut *mut LOCALLOCK, nlocks: ::core::ffi::c_int); + pub fn LockHeldByMe(locktag: *const LOCKTAG, lockmode: LOCKMODE, orstronger: bool) -> bool; + pub fn GetLockMethodLocalHash() -> *mut HTAB; + pub fn LockHasWaiters(locktag: *const LOCKTAG, lockmode: LOCKMODE, sessionLock: bool) -> bool; + pub fn GetLockConflicts( + locktag: *const LOCKTAG, + lockmode: LOCKMODE, + countp: *mut ::core::ffi::c_int, + ) -> *mut VirtualTransactionId; + pub fn AtPrepare_Locks(); + pub fn PostPrepare_Locks(xid: TransactionId); + pub fn LockCheckConflicts( + lockMethodTable: LockMethod, + lockmode: LOCKMODE, + lock: *mut LOCK, + proclock: *mut PROCLOCK, + ) -> bool; + pub fn GrantLock(lock: *mut LOCK, proclock: *mut PROCLOCK, lockmode: LOCKMODE); + pub fn GrantAwaitedLock(); + pub fn GetAwaitedLock() -> *mut LOCALLOCK; + pub fn ResetAwaitedLock(); + pub fn RemoveFromWaitQueue(proc_: *mut PGPROC, hashcode: uint32); + pub fn GetLockStatusData() -> *mut LockData; + pub fn GetBlockerStatusData(blocked_pid: ::core::ffi::c_int) -> *mut BlockedProcsData; + pub fn GetRunningTransactionLocks(nlocks: *mut ::core::ffi::c_int) -> *mut xl_standby_lock; + pub fn GetLockmodeName( + lockmethodid: LOCKMETHODID, + mode: LOCKMODE, + ) -> *const ::core::ffi::c_char; + pub fn lock_twophase_recover( + xid: TransactionId, + info: uint16, + recdata: *mut ::core::ffi::c_void, + len: uint32, + ); + pub fn lock_twophase_postcommit( + xid: TransactionId, + info: uint16, + recdata: *mut ::core::ffi::c_void, + len: uint32, + ); + pub fn lock_twophase_postabort( + xid: TransactionId, + info: uint16, + recdata: *mut ::core::ffi::c_void, + len: uint32, + ); + pub fn lock_twophase_standby_recover( + xid: TransactionId, + info: uint16, + recdata: *mut ::core::ffi::c_void, + len: uint32, + ); + pub fn DeadLockCheck(proc_: *mut PGPROC) -> DeadLockState::Type; + pub fn GetBlockingAutoVacuumPgproc() -> *mut PGPROC; + pub fn DeadLockReport(); + pub fn RememberSimpleDeadLock( + proc1: *mut PGPROC, + lockmode: LOCKMODE, + lock: *mut LOCK, + proc2: *mut PGPROC, + ); + pub fn InitDeadLockChecking(); + pub fn LockWaiterCount(locktag: *const LOCKTAG) -> ::core::ffi::c_int; + pub fn VirtualXactLockTableInsert(vxid: VirtualTransactionId); + pub fn VirtualXactLockTableCleanup(); + pub fn VirtualXactLock(vxid: VirtualTransactionId, wait: bool) -> bool; + pub fn build_backup_content( + state: *mut BackupState, + ishistoryfile: bool, + ) -> *mut ::core::ffi::c_char; + pub static mut wal_sync_method: ::core::ffi::c_int; + pub static mut ProcLastRecPtr: XLogRecPtr; + pub static mut XactLastRecEnd: XLogRecPtr; + pub static mut XactLastCommitEnd: XLogRecPtr; + pub static mut wal_segment_size: ::core::ffi::c_int; + pub static mut min_wal_size_mb: ::core::ffi::c_int; + pub static mut max_wal_size_mb: ::core::ffi::c_int; + pub static mut wal_keep_size_mb: ::core::ffi::c_int; + pub static mut max_slot_wal_keep_size_mb: ::core::ffi::c_int; + pub static mut XLOGbuffers: ::core::ffi::c_int; + pub static mut XLogArchiveTimeout: ::core::ffi::c_int; + pub static mut wal_retrieve_retry_interval: ::core::ffi::c_int; + pub static mut XLogArchiveCommand: *mut ::core::ffi::c_char; + pub static mut EnableHotStandby: bool; + pub static mut fullPageWrites: bool; + pub static mut wal_log_hints: bool; + pub static mut wal_compression: ::core::ffi::c_int; + pub static mut wal_init_zero: bool; + pub static mut wal_recycle: bool; + pub static mut wal_consistency_checking: *mut bool; + pub static mut wal_consistency_checking_string: *mut ::core::ffi::c_char; + pub static mut log_checkpoints: bool; + pub static mut CommitDelay: ::core::ffi::c_int; + pub static mut CommitSiblings: ::core::ffi::c_int; + pub static mut track_wal_io_timing: bool; + pub static mut wal_decode_buffer_size: ::core::ffi::c_int; + pub static mut CheckPointSegments: ::core::ffi::c_int; + pub static mut XLogArchiveMode: ::core::ffi::c_int; + pub static mut wal_level: ::core::ffi::c_int; + pub static mut CheckpointStats: CheckpointStatsData; + pub fn XLogInsertRecord( + rdata: *mut XLogRecData, + fpw_lsn: XLogRecPtr, + flags: uint8, + num_fpi: ::core::ffi::c_int, + topxid_included: bool, + ) -> XLogRecPtr; + pub fn XLogFlush(record: XLogRecPtr); + pub fn XLogBackgroundFlush() -> bool; + pub fn XLogNeedsFlush(record: XLogRecPtr) -> bool; + pub fn XLogFileInit(logsegno: XLogSegNo, logtli: TimeLineID) -> ::core::ffi::c_int; + pub fn XLogFileOpen(segno: XLogSegNo, tli: TimeLineID) -> ::core::ffi::c_int; + pub fn CheckXLogRemoved(segno: XLogSegNo, tli: TimeLineID); + pub fn XLogGetLastRemovedSegno() -> XLogSegNo; + pub fn XLogGetOldestSegno(tli: TimeLineID) -> XLogSegNo; + pub fn XLogSetAsyncXactLSN(asyncXactLSN: XLogRecPtr); + pub fn XLogSetReplicationSlotMinimumLSN(lsn: XLogRecPtr); + pub fn xlog_redo(record: *mut XLogReaderState); + pub fn xlog_desc(buf: StringInfo, record: *mut XLogReaderState); + pub fn xlog_identify(info: uint8) -> *const ::core::ffi::c_char; + pub fn issue_xlog_fsync(fd: ::core::ffi::c_int, segno: XLogSegNo, tli: TimeLineID); + pub fn RecoveryInProgress() -> bool; + pub fn GetRecoveryState() -> RecoveryState::Type; + pub fn XLogInsertAllowed() -> bool; + pub fn GetXLogInsertRecPtr() -> XLogRecPtr; + pub fn GetXLogWriteRecPtr() -> XLogRecPtr; + pub fn GetSystemIdentifier() -> uint64; + pub fn GetMockAuthenticationNonce() -> *mut ::core::ffi::c_char; + pub fn DataChecksumsEnabled() -> bool; + pub fn GetDefaultCharSignedness() -> bool; + pub fn GetFakeLSNForUnloggedRel() -> XLogRecPtr; + pub fn XLOGShmemSize() -> Size; + pub fn XLOGShmemInit(); + pub fn BootStrapXLOG(data_checksum_version: uint32); + pub fn InitializeWalConsistencyChecking(); + pub fn LocalProcessControlFile(reset: bool); + pub fn GetActiveWalLevelOnStandby() -> WalLevel::Type; + pub fn StartupXLOG(); + pub fn ShutdownXLOG(code: ::core::ffi::c_int, arg: Datum); + pub fn CreateCheckPoint(flags: ::core::ffi::c_int) -> bool; + pub fn CreateRestartPoint(flags: ::core::ffi::c_int) -> bool; + pub fn GetWALAvailability(targetLSN: XLogRecPtr) -> WALAvailability::Type; + pub fn XLogPutNextOid(nextOid: Oid); + pub fn XLogRestorePoint(rpName: *const ::core::ffi::c_char) -> XLogRecPtr; + pub fn UpdateFullPageWrites(); + pub fn GetFullPageWriteInfo(RedoRecPtr_p: *mut XLogRecPtr, doPageWrites_p: *mut bool); + pub fn GetRedoRecPtr() -> XLogRecPtr; + pub fn GetInsertRecPtr() -> XLogRecPtr; + pub fn GetFlushRecPtr(insertTLI: *mut TimeLineID) -> XLogRecPtr; + pub fn GetWALInsertionTimeLine() -> TimeLineID; + pub fn GetWALInsertionTimeLineIfSet() -> TimeLineID; + pub fn GetLastImportantRecPtr() -> XLogRecPtr; + pub fn SetWalWriterSleeping(sleeping: bool); + pub fn WALReadFromBuffers( + dstbuf: *mut ::core::ffi::c_char, + startptr: XLogRecPtr, + count: Size, + tli: TimeLineID, + ) -> Size; + pub fn RemoveNonParentXlogFiles(switchpoint: XLogRecPtr, newTLI: TimeLineID); + pub fn XLogCheckpointNeeded(new_segno: XLogSegNo) -> bool; + pub fn SwitchIntoArchiveRecovery(EndRecPtr: XLogRecPtr, replayTLI: TimeLineID); + pub fn ReachedEndOfBackup(EndRecPtr: XLogRecPtr, tli: TimeLineID); + pub fn SetInstallXLogFileSegmentActive(); + pub fn IsInstallXLogFileSegmentActive() -> bool; + pub fn XLogShutdownWalRcv(); + pub fn do_pg_backup_start( + backupidstr: *const ::core::ffi::c_char, + fast: bool, + tablespaces: *mut *mut List, + state: *mut BackupState, + tblspcmapfile: StringInfo, + ); + pub fn do_pg_backup_stop(state: *mut BackupState, waitforarchive: bool); + pub fn do_pg_abort_backup(code: ::core::ffi::c_int, arg: Datum); + pub fn register_persistent_abort_backup_handler(); + pub fn get_backup_status() -> SessionBackupState::Type; + pub fn errdetail_relkind_not_supported(relkind: ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn IsSystemRelation(relation: Relation) -> bool; + pub fn IsToastRelation(relation: Relation) -> bool; + pub fn IsCatalogRelation(relation: Relation) -> bool; + pub fn IsInplaceUpdateRelation(relation: Relation) -> bool; + pub fn IsSystemClass(relid: Oid, reltuple: Form_pg_class) -> bool; + pub fn IsToastClass(reltuple: Form_pg_class) -> bool; + pub fn IsCatalogRelationOid(relid: Oid) -> bool; + pub fn IsCatalogTextUniqueIndexOid(relid: Oid) -> bool; + pub fn IsInplaceUpdateOid(relid: Oid) -> bool; + pub fn IsCatalogNamespace(namespaceId: Oid) -> bool; + pub fn IsToastNamespace(namespaceId: Oid) -> bool; + pub fn IsReservedName(name: *const ::core::ffi::c_char) -> bool; + pub fn IsSharedRelation(relationId: Oid) -> bool; + pub fn IsPinnedObject(classId: Oid, objectId: Oid) -> bool; + pub fn GetNewOidWithIndex(relation: Relation, indexId: Oid, oidcolumn: AttrNumber) -> Oid; + pub fn GetNewRelFileNumber( + reltablespace: Oid, + pg_class: Relation, + relpersistence: ::core::ffi::c_char, + ) -> RelFileNumber; + pub static InvalidObjectAddress: ObjectAddress; + pub fn get_object_address( + objtype: ObjectType::Type, + object: *mut Node, + relp: *mut Relation, + lockmode: LOCKMODE, + missing_ok: bool, + ) -> ObjectAddress; + pub fn get_object_address_rv( + objtype: ObjectType::Type, + rel: *mut RangeVar, + object: *mut List, + relp: *mut Relation, + lockmode: LOCKMODE, + missing_ok: bool, + ) -> ObjectAddress; + pub fn check_object_ownership( + roleid: Oid, + objtype: ObjectType::Type, + address: ObjectAddress, + object: *mut Node, + relation: Relation, + ); + pub fn get_object_namespace(address: *const ObjectAddress) -> Oid; + pub fn is_objectclass_supported(class_id: Oid) -> bool; + pub fn get_object_class_descr(class_id: Oid) -> *const ::core::ffi::c_char; + pub fn get_object_oid_index(class_id: Oid) -> Oid; + pub fn get_object_catcache_oid(class_id: Oid) -> ::core::ffi::c_int; + pub fn get_object_catcache_name(class_id: Oid) -> ::core::ffi::c_int; + pub fn get_object_attnum_oid(class_id: Oid) -> AttrNumber; + pub fn get_object_attnum_name(class_id: Oid) -> AttrNumber; + pub fn get_object_attnum_namespace(class_id: Oid) -> AttrNumber; + pub fn get_object_attnum_owner(class_id: Oid) -> AttrNumber; + pub fn get_object_attnum_acl(class_id: Oid) -> AttrNumber; + pub fn get_object_type(class_id: Oid, object_id: Oid) -> ObjectType::Type; + pub fn get_object_namensp_unique(class_id: Oid) -> bool; + pub fn get_catalog_object_by_oid( + catalog: Relation, + oidcol: AttrNumber, + objectId: Oid, + ) -> HeapTuple; + pub fn get_catalog_object_by_oid_extended( + catalog: Relation, + oidcol: AttrNumber, + objectId: Oid, + locktup: bool, + ) -> HeapTuple; + pub fn getObjectDescription( + object: *const ObjectAddress, + missing_ok: bool, + ) -> *mut ::core::ffi::c_char; + pub fn getObjectDescriptionOids(classid: Oid, objid: Oid) -> *mut ::core::ffi::c_char; + pub fn read_objtype_from_string(objtype: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn getObjectTypeDescription( + object: *const ObjectAddress, + missing_ok: bool, + ) -> *mut ::core::ffi::c_char; + pub fn getObjectIdentity( + object: *const ObjectAddress, + missing_ok: bool, + ) -> *mut ::core::ffi::c_char; + pub fn getObjectIdentityParts( + object: *const ObjectAddress, + objname: *mut *mut List, + objargs: *mut *mut List, + missing_ok: bool, + ) -> *mut ::core::ffi::c_char; + pub fn strlist_to_textarray(list: *mut List) -> *mut ArrayType; + pub fn get_relkind_objtype(relkind: ::core::ffi::c_char) -> ObjectType::Type; + pub fn GetPublication(pubid: Oid) -> *mut Publication; + pub fn GetPublicationByName( + pubname: *const ::core::ffi::c_char, + missing_ok: bool, + ) -> *mut Publication; + pub fn GetRelationPublications(relid: Oid) -> *mut List; + pub fn GetPublicationRelations(pubid: Oid, pub_partopt: PublicationPartOpt::Type) -> *mut List; + pub fn GetAllTablesPublications() -> *mut List; + pub fn GetAllTablesPublicationRelations(pubviaroot: bool) -> *mut List; + pub fn GetPublicationSchemas(pubid: Oid) -> *mut List; + pub fn GetSchemaPublications(schemaid: Oid) -> *mut List; + pub fn GetSchemaPublicationRelations( + schemaid: Oid, + pub_partopt: PublicationPartOpt::Type, + ) -> *mut List; + pub fn GetAllSchemaPublicationRelations( + pubid: Oid, + pub_partopt: PublicationPartOpt::Type, + ) -> *mut List; + pub fn GetPubPartitionOptionRelations( + result: *mut List, + pub_partopt: PublicationPartOpt::Type, + relid: Oid, + ) -> *mut List; + pub fn GetTopMostAncestorInPublication( + puboid: Oid, + ancestors: *mut List, + ancestor_level: *mut ::core::ffi::c_int, + ) -> Oid; + pub fn is_publishable_relation(rel: Relation) -> bool; + pub fn is_schema_publication(pubid: Oid) -> bool; + pub fn check_and_fetch_column_list( + pub_: *mut Publication, + relid: Oid, + mcxt: MemoryContext, + cols: *mut *mut Bitmapset, + ) -> bool; + pub fn publication_add_relation( + pubid: Oid, + pri: *mut PublicationRelInfo, + if_not_exists: bool, + ) -> ObjectAddress; + pub fn pub_collist_validate(targetrel: Relation, columns: *mut List) -> *mut Bitmapset; + pub fn publication_add_schema(pubid: Oid, schemaid: Oid, if_not_exists: bool) -> ObjectAddress; + pub fn pub_collist_to_bitmapset( + columns: *mut Bitmapset, + pubcols: Datum, + mcxt: MemoryContext, + ) -> *mut Bitmapset; + pub fn pub_form_cols_map( + relation: Relation, + include_gencols_type: PublishGencolsType::Type, + ) -> *mut Bitmapset; + pub static aio_smgr_target_info: PgAioTargetInfo; + pub fn smgrinit(); + pub fn smgropen(rlocator: RelFileLocator, backend: ProcNumber) -> SMgrRelation; + pub fn smgrexists(reln: SMgrRelation, forknum: ForkNumber::Type) -> bool; + pub fn smgrpin(reln: SMgrRelation); + pub fn smgrunpin(reln: SMgrRelation); + pub fn smgrclose(reln: SMgrRelation); + pub fn smgrdestroyall(); + pub fn smgrrelease(reln: SMgrRelation); + pub fn smgrreleaseall(); + pub fn smgrreleaserellocator(rlocator: RelFileLocatorBackend); + pub fn smgrcreate(reln: SMgrRelation, forknum: ForkNumber::Type, isRedo: bool); + pub fn smgrdosyncall(rels: *mut SMgrRelation, nrels: ::core::ffi::c_int); + pub fn smgrdounlinkall(rels: *mut SMgrRelation, nrels: ::core::ffi::c_int, isRedo: bool); + pub fn smgrextend( + reln: SMgrRelation, + forknum: ForkNumber::Type, + blocknum: BlockNumber, + buffer: *const ::core::ffi::c_void, + skipFsync: bool, + ); + pub fn smgrzeroextend( + reln: SMgrRelation, + forknum: ForkNumber::Type, + blocknum: BlockNumber, + nblocks: ::core::ffi::c_int, + skipFsync: bool, + ); + pub fn smgrprefetch( + reln: SMgrRelation, + forknum: ForkNumber::Type, + blocknum: BlockNumber, + nblocks: ::core::ffi::c_int, + ) -> bool; + pub fn smgrmaxcombine( + reln: SMgrRelation, + forknum: ForkNumber::Type, + blocknum: BlockNumber, + ) -> uint32; + pub fn smgrreadv( + reln: SMgrRelation, + forknum: ForkNumber::Type, + blocknum: BlockNumber, + buffers: *mut *mut ::core::ffi::c_void, + nblocks: BlockNumber, + ); + pub fn smgrstartreadv( + ioh: *mut PgAioHandle, + reln: SMgrRelation, + forknum: ForkNumber::Type, + blocknum: BlockNumber, + buffers: *mut *mut ::core::ffi::c_void, + nblocks: BlockNumber, + ); + pub fn smgrwritev( + reln: SMgrRelation, + forknum: ForkNumber::Type, + blocknum: BlockNumber, + buffers: *mut *const ::core::ffi::c_void, + nblocks: BlockNumber, + skipFsync: bool, + ); + pub fn smgrwriteback( + reln: SMgrRelation, + forknum: ForkNumber::Type, + blocknum: BlockNumber, + nblocks: BlockNumber, + ); + pub fn smgrnblocks(reln: SMgrRelation, forknum: ForkNumber::Type) -> BlockNumber; + pub fn smgrnblocks_cached(reln: SMgrRelation, forknum: ForkNumber::Type) -> BlockNumber; + pub fn smgrtruncate( + reln: SMgrRelation, + forknum: *mut ForkNumber::Type, + nforks: ::core::ffi::c_int, + old_nblocks: *mut BlockNumber, + nblocks: *mut BlockNumber, + ); + pub fn smgrimmedsync(reln: SMgrRelation, forknum: ForkNumber::Type); + pub fn smgrregistersync(reln: SMgrRelation, forknum: ForkNumber::Type); + pub fn AtEOXact_SMgr(); + pub fn ProcessBarrierSmgrRelease() -> bool; + pub fn pgaio_io_set_target_smgr( + ioh: *mut PgAioHandle, + smgr: *mut SMgrRelationData, + forknum: ForkNumber::Type, + blocknum: BlockNumber, + nblocks: ::core::ffi::c_int, + skip_fsync: bool, + ); + pub fn RelationIncrementReferenceCount(rel: Relation); + pub fn RelationDecrementReferenceCount(rel: Relation); + pub fn RelationInitLockInfo(relation: Relation); + pub fn LockRelationOid(relid: Oid, lockmode: LOCKMODE); + pub fn LockRelationId(relid: *mut LockRelId, lockmode: LOCKMODE); + pub fn ConditionalLockRelationOid(relid: Oid, lockmode: LOCKMODE) -> bool; + pub fn UnlockRelationId(relid: *mut LockRelId, lockmode: LOCKMODE); + pub fn UnlockRelationOid(relid: Oid, lockmode: LOCKMODE); + pub fn LockRelation(relation: Relation, lockmode: LOCKMODE); + pub fn ConditionalLockRelation(relation: Relation, lockmode: LOCKMODE) -> bool; + pub fn UnlockRelation(relation: Relation, lockmode: LOCKMODE); + pub fn CheckRelationLockedByMe( + relation: Relation, + lockmode: LOCKMODE, + orstronger: bool, + ) -> bool; + pub fn CheckRelationOidLockedByMe(relid: Oid, lockmode: LOCKMODE, orstronger: bool) -> bool; + pub fn LockHasWaitersRelation(relation: Relation, lockmode: LOCKMODE) -> bool; + pub fn LockRelationIdForSession(relid: *mut LockRelId, lockmode: LOCKMODE); + pub fn UnlockRelationIdForSession(relid: *mut LockRelId, lockmode: LOCKMODE); + pub fn LockRelationForExtension(relation: Relation, lockmode: LOCKMODE); + pub fn UnlockRelationForExtension(relation: Relation, lockmode: LOCKMODE); + pub fn ConditionalLockRelationForExtension(relation: Relation, lockmode: LOCKMODE) -> bool; + pub fn RelationExtensionLockWaiterCount(relation: Relation) -> ::core::ffi::c_int; + pub fn LockDatabaseFrozenIds(lockmode: LOCKMODE); + pub fn LockPage(relation: Relation, blkno: BlockNumber, lockmode: LOCKMODE); + pub fn ConditionalLockPage(relation: Relation, blkno: BlockNumber, lockmode: LOCKMODE) -> bool; + pub fn UnlockPage(relation: Relation, blkno: BlockNumber, lockmode: LOCKMODE); + pub fn LockTuple(relation: Relation, tid: ItemPointer, lockmode: LOCKMODE); + pub fn ConditionalLockTuple( + relation: Relation, + tid: ItemPointer, + lockmode: LOCKMODE, + logLockFailure: bool, + ) -> bool; + pub fn UnlockTuple(relation: Relation, tid: ItemPointer, lockmode: LOCKMODE); + pub fn XactLockTableInsert(xid: TransactionId); + pub fn XactLockTableDelete(xid: TransactionId); + pub fn XactLockTableWait( + xid: TransactionId, + rel: Relation, + ctid: ItemPointer, + oper: XLTW_Oper::Type, + ); + pub fn ConditionalXactLockTableWait(xid: TransactionId, logLockFailure: bool) -> bool; + pub fn WaitForLockers(heaplocktag: LOCKTAG, lockmode: LOCKMODE, progress: bool); + pub fn WaitForLockersMultiple(locktags: *mut List, lockmode: LOCKMODE, progress: bool); + pub fn SpeculativeInsertionLockAcquire(xid: TransactionId) -> uint32; + pub fn SpeculativeInsertionLockRelease(xid: TransactionId); + pub fn SpeculativeInsertionWait(xid: TransactionId, token: uint32); + pub fn LockDatabaseObject(classid: Oid, objid: Oid, objsubid: uint16, lockmode: LOCKMODE); + pub fn ConditionalLockDatabaseObject( + classid: Oid, + objid: Oid, + objsubid: uint16, + lockmode: LOCKMODE, + ) -> bool; + pub fn UnlockDatabaseObject(classid: Oid, objid: Oid, objsubid: uint16, lockmode: LOCKMODE); + pub fn LockSharedObject(classid: Oid, objid: Oid, objsubid: uint16, lockmode: LOCKMODE); + pub fn ConditionalLockSharedObject( + classid: Oid, + objid: Oid, + objsubid: uint16, + lockmode: LOCKMODE, + ) -> bool; + pub fn UnlockSharedObject(classid: Oid, objid: Oid, objsubid: uint16, lockmode: LOCKMODE); + pub fn LockSharedObjectForSession( + classid: Oid, + objid: Oid, + objsubid: uint16, + lockmode: LOCKMODE, + ); + pub fn UnlockSharedObjectForSession( + classid: Oid, + objid: Oid, + objsubid: uint16, + lockmode: LOCKMODE, + ); + pub fn LockApplyTransactionForSession( + suboid: Oid, + xid: TransactionId, + objid: uint16, + lockmode: LOCKMODE, + ); + pub fn UnlockApplyTransactionForSession( + suboid: Oid, + xid: TransactionId, + objid: uint16, + lockmode: LOCKMODE, + ); + pub fn DescribeLockTag(buf: StringInfo, tag: *const LOCKTAG); + pub fn GetLockNameFromTagType(locktag_type: uint16) -> *const ::core::ffi::c_char; + pub static mut TopMemoryContext: MemoryContext; + pub static mut ErrorContext: MemoryContext; + pub static mut PostmasterContext: MemoryContext; + pub static mut CacheMemoryContext: MemoryContext; + pub static mut MessageContext: MemoryContext; + pub static mut TopTransactionContext: MemoryContext; + pub static mut CurTransactionContext: MemoryContext; + pub static mut PortalContext: MemoryContext; + pub fn MemoryContextInit(); + pub fn MemoryContextReset(context: MemoryContext); + pub fn MemoryContextDelete(context: MemoryContext); + pub fn MemoryContextResetOnly(context: MemoryContext); + pub fn MemoryContextResetChildren(context: MemoryContext); + pub fn MemoryContextDeleteChildren(context: MemoryContext); + pub fn MemoryContextSetIdentifier(context: MemoryContext, id: *const ::core::ffi::c_char); + pub fn MemoryContextSetParent(context: MemoryContext, new_parent: MemoryContext); + pub fn GetMemoryChunkSpace(pointer: *mut ::core::ffi::c_void) -> Size; + pub fn MemoryContextGetParent(context: MemoryContext) -> MemoryContext; + pub fn MemoryContextIsEmpty(context: MemoryContext) -> bool; + pub fn MemoryContextMemAllocated(context: MemoryContext, recurse: bool) -> Size; + pub fn MemoryContextMemConsumed(context: MemoryContext, consumed: *mut MemoryContextCounters); + pub fn MemoryContextStats(context: MemoryContext); + pub fn MemoryContextStatsDetail( + context: MemoryContext, + max_level: ::core::ffi::c_int, + max_children: ::core::ffi::c_int, + print_to_stderr: bool, + ); + pub fn MemoryContextAllowInCriticalSection(context: MemoryContext, allow: bool); + pub fn MemoryContextCheck(context: MemoryContext); + pub fn HandleLogMemoryContextInterrupt(); + pub fn ProcessLogMemoryContextInterrupt(); + pub fn AllocSetContextCreateInternal( + parent: MemoryContext, + name: *const ::core::ffi::c_char, + minContextSize: Size, + initBlockSize: Size, + maxBlockSize: Size, + ) -> MemoryContext; + pub fn SlabContextCreate( + parent: MemoryContext, + name: *const ::core::ffi::c_char, + blockSize: Size, + chunkSize: Size, + ) -> MemoryContext; + pub fn GenerationContextCreate( + parent: MemoryContext, + name: *const ::core::ffi::c_char, + minContextSize: Size, + initBlockSize: Size, + maxBlockSize: Size, + ) -> MemoryContext; + pub fn BumpContextCreate( + parent: MemoryContext, + name: *const ::core::ffi::c_char, + minContextSize: Size, + initBlockSize: Size, + maxBlockSize: Size, + ) -> MemoryContext; + pub static mut memCxtState: *mut MemoryStatsBackendState; + pub static mut memCxtArea: *mut MemoryStatsCtl; + pub static mut MemoryStatsDsaArea: *mut dsa_area; + pub fn ProcessGetMemoryContextInterrupt(); + pub fn ContextTypeToString(type_: NodeTag) -> *const ::core::ffi::c_char; + pub fn HandleGetMemoryContextInterrupt(); + pub fn MemoryContextReportingShmemSize() -> Size; + pub fn MemoryContextReportingShmemInit(); + pub fn AtProcExit_memstats_cleanup(code: ::core::ffi::c_int, arg: Datum); + pub static mut ExecutorStart_hook: ExecutorStart_hook_type; + pub static mut ExecutorRun_hook: ExecutorRun_hook_type; + pub static mut ExecutorFinish_hook: ExecutorFinish_hook_type; + pub static mut ExecutorEnd_hook: ExecutorEnd_hook_type; + pub static mut ExecutorCheckPerms_hook: ExecutorCheckPerms_hook_type; + pub fn ExecReScan(node: *mut PlanState); + pub fn ExecMarkPos(node: *mut PlanState); + pub fn ExecRestrPos(node: *mut PlanState); + pub fn ExecSupportsMarkRestore(pathnode: *mut Path) -> bool; + pub fn ExecSupportsBackwardScan(node: *mut Plan) -> bool; + pub fn ExecMaterializesOutput(plantype: NodeTag) -> bool; + pub fn execCurrentOf( + cexpr: *mut CurrentOfExpr, + econtext: *mut ExprContext, + table_oid: Oid, + current_tid: ItemPointer, + ) -> bool; + pub fn execTuplesMatchPrepare( + desc: TupleDesc, + numCols: ::core::ffi::c_int, + keyColIdx: *const AttrNumber, + eqOperators: *const Oid, + collations: *const Oid, + parent: *mut PlanState, + ) -> *mut ExprState; + pub fn execTuplesHashPrepare( + numCols: ::core::ffi::c_int, + eqOperators: *const Oid, + eqFuncOids: *mut *mut Oid, + hashFunctions: *mut *mut FmgrInfo, + ); + pub fn BuildTupleHashTable( + parent: *mut PlanState, + inputDesc: TupleDesc, + inputOps: *const TupleTableSlotOps, + numCols: ::core::ffi::c_int, + keyColIdx: *mut AttrNumber, + eqfuncoids: *const Oid, + hashfunctions: *mut FmgrInfo, + collations: *mut Oid, + nbuckets: ::core::ffi::c_long, + additionalsize: Size, + metacxt: MemoryContext, + tablecxt: MemoryContext, + tempcxt: MemoryContext, + use_variable_hash_iv: bool, + ) -> TupleHashTable; + pub fn LookupTupleHashEntry( + hashtable: TupleHashTable, + slot: *mut TupleTableSlot, + isnew: *mut bool, + hash: *mut uint32, + ) -> TupleHashEntry; + pub fn TupleHashTableHash(hashtable: TupleHashTable, slot: *mut TupleTableSlot) -> uint32; + pub fn LookupTupleHashEntryHash( + hashtable: TupleHashTable, + slot: *mut TupleTableSlot, + isnew: *mut bool, + hash: uint32, + ) -> TupleHashEntry; + pub fn FindTupleHashEntry( + hashtable: TupleHashTable, + slot: *mut TupleTableSlot, + eqcomp: *mut ExprState, + hashexpr: *mut ExprState, + ) -> TupleHashEntry; + pub fn ResetTupleHashTable(hashtable: TupleHashTable); + pub fn ExecInitJunkFilter(targetList: *mut List, slot: *mut TupleTableSlot) -> *mut JunkFilter; + pub fn ExecInitJunkFilterConversion( + targetList: *mut List, + cleanTupType: TupleDesc, + slot: *mut TupleTableSlot, + ) -> *mut JunkFilter; + pub fn ExecFindJunkAttribute( + junkfilter: *mut JunkFilter, + attrName: *const ::core::ffi::c_char, + ) -> AttrNumber; + pub fn ExecFindJunkAttributeInTlist( + targetlist: *mut List, + attrName: *const ::core::ffi::c_char, + ) -> AttrNumber; + pub fn ExecFilterJunk( + junkfilter: *mut JunkFilter, + slot: *mut TupleTableSlot, + ) -> *mut TupleTableSlot; + pub fn ExecutorStart(queryDesc: *mut QueryDesc, eflags: ::core::ffi::c_int) -> bool; + pub fn ExecutorStartCachedPlan( + queryDesc: *mut QueryDesc, + eflags: ::core::ffi::c_int, + plansource: *mut CachedPlanSource, + query_index: ::core::ffi::c_int, + ); + pub fn standard_ExecutorStart(queryDesc: *mut QueryDesc, eflags: ::core::ffi::c_int) -> bool; + pub fn ExecutorRun(queryDesc: *mut QueryDesc, direction: ScanDirection::Type, count: uint64); + pub fn standard_ExecutorRun( + queryDesc: *mut QueryDesc, + direction: ScanDirection::Type, + count: uint64, + ); + pub fn ExecutorFinish(queryDesc: *mut QueryDesc); + pub fn standard_ExecutorFinish(queryDesc: *mut QueryDesc); + pub fn ExecutorEnd(queryDesc: *mut QueryDesc); + pub fn standard_ExecutorEnd(queryDesc: *mut QueryDesc); + pub fn ExecutorRewind(queryDesc: *mut QueryDesc); + pub fn ExecCheckPermissions( + rangeTable: *mut List, + rteperminfos: *mut List, + ereport_on_violation: bool, + ) -> bool; + pub fn CheckValidResultRel( + resultRelInfo: *mut ResultRelInfo, + operation: CmdType::Type, + mergeActions: *mut List, + ); + pub fn InitResultRelInfo( + resultRelInfo: *mut ResultRelInfo, + resultRelationDesc: Relation, + resultRelationIndex: Index, + partition_root_rri: *mut ResultRelInfo, + instrument_options: ::core::ffi::c_int, + ); + pub fn ExecGetTriggerResultRel( + estate: *mut EState, + relid: Oid, + rootRelInfo: *mut ResultRelInfo, + ) -> *mut ResultRelInfo; + pub fn ExecGetAncestorResultRels( + estate: *mut EState, + resultRelInfo: *mut ResultRelInfo, + ) -> *mut List; + pub fn ExecConstraints( + resultRelInfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + estate: *mut EState, + ); + pub fn ExecRelGenVirtualNotNull( + resultRelInfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + estate: *mut EState, + notnull_virtual_attrs: *mut List, + ) -> AttrNumber; + pub fn ExecPartitionCheck( + resultRelInfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + estate: *mut EState, + emitError: bool, + ) -> bool; + pub fn ExecPartitionCheckEmitError( + resultRelInfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + estate: *mut EState, + ); + pub fn ExecWithCheckOptions( + kind: WCOKind::Type, + resultRelInfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + estate: *mut EState, + ); + pub fn ExecBuildSlotValueDescription( + reloid: Oid, + slot: *mut TupleTableSlot, + tupdesc: TupleDesc, + modifiedCols: *mut Bitmapset, + maxfieldlen: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn ExecUpdateLockMode( + estate: *mut EState, + relinfo: *mut ResultRelInfo, + ) -> LockTupleMode::Type; + pub fn ExecFindRowMark(estate: *mut EState, rti: Index, missing_ok: bool) -> *mut ExecRowMark; + pub fn ExecBuildAuxRowMark(erm: *mut ExecRowMark, targetlist: *mut List) + -> *mut ExecAuxRowMark; + pub fn EvalPlanQual( + epqstate: *mut EPQState, + relation: Relation, + rti: Index, + inputslot: *mut TupleTableSlot, + ) -> *mut TupleTableSlot; + pub fn EvalPlanQualInit( + epqstate: *mut EPQState, + parentestate: *mut EState, + subplan: *mut Plan, + auxrowmarks: *mut List, + epqParam: ::core::ffi::c_int, + resultRelations: *mut List, + ); + pub fn EvalPlanQualSetPlan(epqstate: *mut EPQState, subplan: *mut Plan, auxrowmarks: *mut List); + pub fn EvalPlanQualSlot( + epqstate: *mut EPQState, + relation: Relation, + rti: Index, + ) -> *mut TupleTableSlot; + pub fn EvalPlanQualFetchRowMark( + epqstate: *mut EPQState, + rti: Index, + slot: *mut TupleTableSlot, + ) -> bool; + pub fn EvalPlanQualNext(epqstate: *mut EPQState) -> *mut TupleTableSlot; + pub fn EvalPlanQualBegin(epqstate: *mut EPQState); + pub fn EvalPlanQualEnd(epqstate: *mut EPQState); + pub fn ExecInitNode( + node: *mut Plan, + estate: *mut EState, + eflags: ::core::ffi::c_int, + ) -> *mut PlanState; + pub fn ExecSetExecProcNode(node: *mut PlanState, function: ExecProcNodeMtd); + pub fn MultiExecProcNode(node: *mut PlanState) -> *mut Node; + pub fn ExecEndNode(node: *mut PlanState); + pub fn ExecShutdownNode(node: *mut PlanState); + pub fn ExecSetTupleBound(tuples_needed: int64, child_node: *mut PlanState); + pub fn ExecInitExpr(node: *mut Expr, parent: *mut PlanState) -> *mut ExprState; + pub fn ExecInitExprWithParams(node: *mut Expr, ext_params: ParamListInfo) -> *mut ExprState; + pub fn ExecInitQual(qual: *mut List, parent: *mut PlanState) -> *mut ExprState; + pub fn ExecInitCheck(qual: *mut List, parent: *mut PlanState) -> *mut ExprState; + pub fn ExecInitExprList(nodes: *mut List, parent: *mut PlanState) -> *mut List; + pub fn ExecBuildAggTrans( + aggstate: *mut AggState, + phase: *mut AggStatePerPhaseData, + doSort: bool, + doHash: bool, + nullcheck: bool, + ) -> *mut ExprState; + pub fn ExecBuildHash32FromAttrs( + desc: TupleDesc, + ops: *const TupleTableSlotOps, + hashfunctions: *mut FmgrInfo, + collations: *mut Oid, + numCols: ::core::ffi::c_int, + keyColIdx: *mut AttrNumber, + parent: *mut PlanState, + init_value: uint32, + ) -> *mut ExprState; + pub fn ExecBuildHash32Expr( + desc: TupleDesc, + ops: *const TupleTableSlotOps, + hashfunc_oids: *const Oid, + collations: *const List, + hash_exprs: *const List, + opstrict: *const bool, + parent: *mut PlanState, + init_value: uint32, + keep_nulls: bool, + ) -> *mut ExprState; + pub fn ExecBuildGroupingEqual( + ldesc: TupleDesc, + rdesc: TupleDesc, + lops: *const TupleTableSlotOps, + rops: *const TupleTableSlotOps, + numCols: ::core::ffi::c_int, + keyColIdx: *const AttrNumber, + eqfunctions: *const Oid, + collations: *const Oid, + parent: *mut PlanState, + ) -> *mut ExprState; + pub fn ExecBuildParamSetEqual( + desc: TupleDesc, + lops: *const TupleTableSlotOps, + rops: *const TupleTableSlotOps, + eqfunctions: *const Oid, + collations: *const Oid, + param_exprs: *const List, + parent: *mut PlanState, + ) -> *mut ExprState; + pub fn ExecBuildProjectionInfo( + targetList: *mut List, + econtext: *mut ExprContext, + slot: *mut TupleTableSlot, + parent: *mut PlanState, + inputDesc: TupleDesc, + ) -> *mut ProjectionInfo; + pub fn ExecBuildUpdateProjection( + targetList: *mut List, + evalTargetList: bool, + targetColnos: *mut List, + relDesc: TupleDesc, + econtext: *mut ExprContext, + slot: *mut TupleTableSlot, + parent: *mut PlanState, + ) -> *mut ProjectionInfo; + pub fn ExecPrepareExpr(node: *mut Expr, estate: *mut EState) -> *mut ExprState; + pub fn ExecPrepareQual(qual: *mut List, estate: *mut EState) -> *mut ExprState; + pub fn ExecPrepareCheck(qual: *mut List, estate: *mut EState) -> *mut ExprState; + pub fn ExecPrepareExprList(nodes: *mut List, estate: *mut EState) -> *mut List; + pub fn ExecCheck(state: *mut ExprState, econtext: *mut ExprContext) -> bool; + pub fn ExecInitTableFunctionResult( + expr: *mut Expr, + econtext: *mut ExprContext, + parent: *mut PlanState, + ) -> *mut SetExprState; + pub fn ExecMakeTableFunctionResult( + setexpr: *mut SetExprState, + econtext: *mut ExprContext, + argContext: MemoryContext, + expectedDesc: TupleDesc, + randomAccess: bool, + ) -> *mut Tuplestorestate; + pub fn ExecInitFunctionResultSet( + expr: *mut Expr, + econtext: *mut ExprContext, + parent: *mut PlanState, + ) -> *mut SetExprState; + pub fn ExecMakeFunctionResultSet( + fcache: *mut SetExprState, + econtext: *mut ExprContext, + argContext: MemoryContext, + isNull: *mut bool, + isDone: *mut ExprDoneCond::Type, + ) -> Datum; + pub fn ExecScan( + node: *mut ScanState, + accessMtd: ExecScanAccessMtd, + recheckMtd: ExecScanRecheckMtd, + ) -> *mut TupleTableSlot; + pub fn ExecAssignScanProjectionInfo(node: *mut ScanState); + pub fn ExecAssignScanProjectionInfoWithVarno(node: *mut ScanState, varno: ::core::ffi::c_int); + pub fn ExecScanReScan(node: *mut ScanState); + pub fn ExecInitResultTypeTL(planstate: *mut PlanState); + pub fn ExecInitResultSlot(planstate: *mut PlanState, tts_ops: *const TupleTableSlotOps); + pub fn ExecInitResultTupleSlotTL(planstate: *mut PlanState, tts_ops: *const TupleTableSlotOps); + pub fn ExecInitScanTupleSlot( + estate: *mut EState, + scanstate: *mut ScanState, + tupledesc: TupleDesc, + tts_ops: *const TupleTableSlotOps, + ); + pub fn ExecInitExtraTupleSlot( + estate: *mut EState, + tupledesc: TupleDesc, + tts_ops: *const TupleTableSlotOps, + ) -> *mut TupleTableSlot; + pub fn ExecInitNullTupleSlot( + estate: *mut EState, + tupType: TupleDesc, + tts_ops: *const TupleTableSlotOps, + ) -> *mut TupleTableSlot; + pub fn ExecTypeFromTL(targetList: *mut List) -> TupleDesc; + pub fn ExecCleanTypeFromTL(targetList: *mut List) -> TupleDesc; + pub fn ExecTypeFromExprList(exprList: *mut List) -> TupleDesc; + pub fn ExecTypeSetColNames(typeInfo: TupleDesc, namesList: *mut List); + pub fn UpdateChangedParamSet(node: *mut PlanState, newchg: *mut Bitmapset); + pub fn begin_tup_output_tupdesc( + dest: *mut DestReceiver, + tupdesc: TupleDesc, + tts_ops: *const TupleTableSlotOps, + ) -> *mut TupOutputState; + pub fn do_tup_output(tstate: *mut TupOutputState, values: *const Datum, isnull: *const bool); + pub fn do_text_output_multiline(tstate: *mut TupOutputState, txt: *const ::core::ffi::c_char); + pub fn end_tup_output(tstate: *mut TupOutputState); + pub fn CreateExecutorState() -> *mut EState; + pub fn FreeExecutorState(estate: *mut EState); + pub fn CreateExprContext(estate: *mut EState) -> *mut ExprContext; + pub fn CreateWorkExprContext(estate: *mut EState) -> *mut ExprContext; + pub fn CreateStandaloneExprContext() -> *mut ExprContext; + pub fn FreeExprContext(econtext: *mut ExprContext, isCommit: bool); + pub fn ReScanExprContext(econtext: *mut ExprContext); + pub fn MakePerTupleExprContext(estate: *mut EState) -> *mut ExprContext; + pub fn ExecAssignExprContext(estate: *mut EState, planstate: *mut PlanState); + pub fn ExecGetResultType(planstate: *mut PlanState) -> TupleDesc; + pub fn ExecGetResultSlotOps( + planstate: *mut PlanState, + isfixed: *mut bool, + ) -> *const TupleTableSlotOps; + pub fn ExecGetCommonSlotOps( + planstates: *mut *mut PlanState, + nplans: ::core::ffi::c_int, + ) -> *const TupleTableSlotOps; + pub fn ExecGetCommonChildSlotOps(ps: *mut PlanState) -> *const TupleTableSlotOps; + pub fn ExecAssignProjectionInfo(planstate: *mut PlanState, inputDesc: TupleDesc); + pub fn ExecConditionalAssignProjectionInfo( + planstate: *mut PlanState, + inputDesc: TupleDesc, + varno: ::core::ffi::c_int, + ); + pub fn ExecAssignScanType(scanstate: *mut ScanState, tupDesc: TupleDesc); + pub fn ExecCreateScanSlotFromOuterPlan( + estate: *mut EState, + scanstate: *mut ScanState, + tts_ops: *const TupleTableSlotOps, + ); + pub fn ExecRelationIsTargetRelation(estate: *mut EState, scanrelid: Index) -> bool; + pub fn ExecOpenScanRelation( + estate: *mut EState, + scanrelid: Index, + eflags: ::core::ffi::c_int, + ) -> Relation; + pub fn ExecInitRangeTable( + estate: *mut EState, + rangeTable: *mut List, + permInfos: *mut List, + unpruned_relids: *mut Bitmapset, + ); + pub fn ExecCloseRangeTableRelations(estate: *mut EState); + pub fn ExecCloseResultRelations(estate: *mut EState); + pub fn ExecGetRangeTableRelation( + estate: *mut EState, + rti: Index, + isResultRel: bool, + ) -> Relation; + pub fn ExecInitResultRelation( + estate: *mut EState, + resultRelInfo: *mut ResultRelInfo, + rti: Index, + ); + pub fn executor_errposition( + estate: *mut EState, + location: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn RegisterExprContextCallback( + econtext: *mut ExprContext, + function: ExprContextCallbackFunction, + arg: Datum, + ); + pub fn UnregisterExprContextCallback( + econtext: *mut ExprContext, + function: ExprContextCallbackFunction, + arg: Datum, + ); + pub fn GetAttributeByName( + tuple: HeapTupleHeader, + attname: *const ::core::ffi::c_char, + isNull: *mut bool, + ) -> Datum; + pub fn GetAttributeByNum( + tuple: HeapTupleHeader, + attrno: AttrNumber, + isNull: *mut bool, + ) -> Datum; + pub fn ExecTargetListLength(targetlist: *mut List) -> ::core::ffi::c_int; + pub fn ExecCleanTargetListLength(targetlist: *mut List) -> ::core::ffi::c_int; + pub fn ExecGetTriggerOldSlot( + estate: *mut EState, + relInfo: *mut ResultRelInfo, + ) -> *mut TupleTableSlot; + pub fn ExecGetTriggerNewSlot( + estate: *mut EState, + relInfo: *mut ResultRelInfo, + ) -> *mut TupleTableSlot; + pub fn ExecGetReturningSlot( + estate: *mut EState, + relInfo: *mut ResultRelInfo, + ) -> *mut TupleTableSlot; + pub fn ExecGetAllNullSlot( + estate: *mut EState, + relInfo: *mut ResultRelInfo, + ) -> *mut TupleTableSlot; + pub fn ExecGetChildToRootMap(resultRelInfo: *mut ResultRelInfo) -> *mut TupleConversionMap; + pub fn ExecGetRootToChildMap( + resultRelInfo: *mut ResultRelInfo, + estate: *mut EState, + ) -> *mut TupleConversionMap; + pub fn ExecGetResultRelCheckAsUser(relInfo: *mut ResultRelInfo, estate: *mut EState) -> Oid; + pub fn ExecGetInsertedCols(relinfo: *mut ResultRelInfo, estate: *mut EState) -> *mut Bitmapset; + pub fn ExecGetUpdatedCols(relinfo: *mut ResultRelInfo, estate: *mut EState) -> *mut Bitmapset; + pub fn ExecGetExtraUpdatedCols( + relinfo: *mut ResultRelInfo, + estate: *mut EState, + ) -> *mut Bitmapset; + pub fn ExecGetAllUpdatedCols( + relinfo: *mut ResultRelInfo, + estate: *mut EState, + ) -> *mut Bitmapset; + pub fn ExecOpenIndices(resultRelInfo: *mut ResultRelInfo, speculative: bool); + pub fn ExecCloseIndices(resultRelInfo: *mut ResultRelInfo); + pub fn ExecInsertIndexTuples( + resultRelInfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + estate: *mut EState, + update: bool, + noDupErr: bool, + specConflict: *mut bool, + arbiterIndexes: *mut List, + onlySummarizing: bool, + ) -> *mut List; + pub fn ExecCheckIndexConstraints( + resultRelInfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + estate: *mut EState, + conflictTid: ItemPointer, + tupleid: ItemPointer, + arbiterIndexes: *mut List, + ) -> bool; + pub fn check_exclusion_constraint( + heap: Relation, + index: Relation, + indexInfo: *mut IndexInfo, + tupleid: ItemPointer, + values: *const Datum, + isnull: *const bool, + estate: *mut EState, + newIndex: bool, + ); + pub fn RelationFindReplTupleByIndex( + rel: Relation, + idxoid: Oid, + lockmode: LockTupleMode::Type, + searchslot: *mut TupleTableSlot, + outslot: *mut TupleTableSlot, + ) -> bool; + pub fn RelationFindReplTupleSeq( + rel: Relation, + lockmode: LockTupleMode::Type, + searchslot: *mut TupleTableSlot, + outslot: *mut TupleTableSlot, + ) -> bool; + pub fn ExecSimpleRelationInsert( + resultRelInfo: *mut ResultRelInfo, + estate: *mut EState, + slot: *mut TupleTableSlot, + ); + pub fn ExecSimpleRelationUpdate( + resultRelInfo: *mut ResultRelInfo, + estate: *mut EState, + epqstate: *mut EPQState, + searchslot: *mut TupleTableSlot, + slot: *mut TupleTableSlot, + ); + pub fn ExecSimpleRelationDelete( + resultRelInfo: *mut ResultRelInfo, + estate: *mut EState, + epqstate: *mut EPQState, + searchslot: *mut TupleTableSlot, + ); + pub fn CheckCmdReplicaIdentity(rel: Relation, cmd: CmdType::Type); + pub fn CheckSubscriptionRelkind( + relkind: ::core::ffi::c_char, + nspname: *const ::core::ffi::c_char, + relname: *const ::core::ffi::c_char, + ); + pub fn ExecGetUpdateNewTuple( + relinfo: *mut ResultRelInfo, + planSlot: *mut TupleTableSlot, + oldSlot: *mut TupleTableSlot, + ) -> *mut TupleTableSlot; + pub fn ExecLookupResultRelByOid( + node: *mut ModifyTableState, + resultoid: Oid, + missing_ok: bool, + update_cache: bool, + ) -> *mut ResultRelInfo; + pub fn get_call_result_type( + fcinfo: FunctionCallInfo, + resultTypeId: *mut Oid, + resultTupleDesc: *mut TupleDesc, + ) -> TypeFuncClass::Type; + pub fn get_expr_result_type( + expr: *mut Node, + resultTypeId: *mut Oid, + resultTupleDesc: *mut TupleDesc, + ) -> TypeFuncClass::Type; + pub fn get_func_result_type( + functionId: Oid, + resultTypeId: *mut Oid, + resultTupleDesc: *mut TupleDesc, + ) -> TypeFuncClass::Type; + pub fn get_expr_result_tupdesc(expr: *mut Node, noError: bool) -> TupleDesc; + pub fn resolve_polymorphic_argtypes( + numargs: ::core::ffi::c_int, + argtypes: *mut Oid, + argmodes: *mut ::core::ffi::c_char, + call_expr: *mut Node, + ) -> bool; + pub fn get_func_arg_info( + procTup: HeapTuple, + p_argtypes: *mut *mut Oid, + p_argnames: *mut *mut *mut ::core::ffi::c_char, + p_argmodes: *mut *mut ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn get_func_input_arg_names( + proargnames: Datum, + proargmodes: Datum, + arg_names: *mut *mut *mut ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn get_func_trftypes(procTup: HeapTuple, p_trftypes: *mut *mut Oid) -> ::core::ffi::c_int; + pub fn get_func_result_name(functionId: Oid) -> *mut ::core::ffi::c_char; + pub fn build_function_result_tupdesc_d( + prokind: ::core::ffi::c_char, + proallargtypes: Datum, + proargmodes: Datum, + proargnames: Datum, + ) -> TupleDesc; + pub fn build_function_result_tupdesc_t(procTuple: HeapTuple) -> TupleDesc; + pub fn RelationNameGetTupleDesc(relname: *const ::core::ffi::c_char) -> TupleDesc; + pub fn TypeGetTupleDesc(typeoid: Oid, colaliases: *mut List) -> TupleDesc; + pub fn BlessTupleDesc(tupdesc: TupleDesc) -> TupleDesc; + pub fn TupleDescGetAttInMetadata(tupdesc: TupleDesc) -> *mut AttInMetadata; + pub fn BuildTupleFromCStrings( + attinmeta: *mut AttInMetadata, + values: *mut *mut ::core::ffi::c_char, + ) -> HeapTuple; + pub fn HeapTupleHeaderGetDatum(tuple: HeapTupleHeader) -> Datum; + pub fn InitMaterializedSRF(fcinfo: FunctionCallInfo, flags: bits32); + pub fn init_MultiFuncCall(fcinfo: FunctionCallInfo) -> *mut FuncCallContext; + pub fn per_MultiFuncCall(fcinfo: FunctionCallInfo) -> *mut FuncCallContext; + pub fn end_MultiFuncCall(fcinfo: FunctionCallInfo, funcctx: *mut FuncCallContext); + pub fn extract_variadic_args( + fcinfo: FunctionCallInfo, + variadic_start: ::core::ffi::c_int, + convert_unknown: bool, + args: *mut *mut Datum, + types: *mut *mut Oid, + nulls: *mut *mut bool, + ) -> ::core::ffi::c_int; + #[doc = "\t System interrupt and critical section handling\n\n There are two types of interrupts that a running backend needs to accept\n without messing up its state: QueryCancel (SIGINT) and ProcDie (SIGTERM).\n In both cases, we need to be able to clean up the current transaction\n gracefully, so we can't respond to the interrupt instantaneously ---\n there's no guarantee that internal data structures would be self-consistent\n if the code is interrupted at an arbitrary instant. Instead, the signal\n handlers set flags that are checked periodically during execution.\n\n The CHECK_FOR_INTERRUPTS() macro is called at strategically located spots\n where it is normally safe to accept a cancel or die interrupt. In some\n cases, we invoke CHECK_FOR_INTERRUPTS() inside low-level subroutines that\n might sometimes be called in contexts that do *not* want to allow a cancel\n or die interrupt. The HOLD_INTERRUPTS() and RESUME_INTERRUPTS() macros\n allow code to ensure that no cancel or die interrupt will be accepted,\n even if CHECK_FOR_INTERRUPTS() gets called in a subroutine. The interrupt\n will be held off until CHECK_FOR_INTERRUPTS() is done outside any\n HOLD_INTERRUPTS() ... RESUME_INTERRUPTS() section.\n\n There is also a mechanism to prevent query cancel interrupts, while still\n allowing die interrupts: HOLD_CANCEL_INTERRUPTS() and\n RESUME_CANCEL_INTERRUPTS().\n\n Note that ProcessInterrupts() has also acquired a number of tasks that\n do not necessarily cause a query-cancel-or-die response. Hence, it's\n possible that it will just clear InterruptPending and return.\n\n INTERRUPTS_PENDING_CONDITION() can be checked to see whether an\n interrupt needs to be serviced, without trying to do so immediately.\n Some callers are also interested in INTERRUPTS_CAN_BE_PROCESSED(),\n which tells whether ProcessInterrupts is sure to clear the interrupt.\n\n Special mechanisms are used to let an interrupt be accepted when we are\n waiting for a lock or when we are waiting for command input (but, of\n course, only if the interrupt holdoff counter is zero). See the\n related code for details.\n\n A lost connection is handled similarly, although the loss of connection\n does not raise a signal, but is detected when we fail to write to the\n socket. If there was a signal for a broken connection, we could make use of\n it by setting ClientConnectionLost in the signal handler.\n\n A related, but conceptually distinct, mechanism is the \"critical section\"\n mechanism. A critical section not only holds off cancel/die interrupts,\n but causes any ereport(ERROR) or ereport(FATAL) to become ereport(PANIC)\n --- that is, a system-wide reset is forced. Needless to say, only really\n *critical* code should be marked as a critical section!\tCurrently, this\n mechanism is only used for XLOG-related code.\n"] + pub static mut InterruptPending: sig_atomic_t; + pub static mut QueryCancelPending: sig_atomic_t; + pub static mut ProcDiePending: sig_atomic_t; + pub static mut IdleInTransactionSessionTimeoutPending: sig_atomic_t; + pub static mut TransactionTimeoutPending: sig_atomic_t; + pub static mut IdleSessionTimeoutPending: sig_atomic_t; + pub static mut ProcSignalBarrierPending: sig_atomic_t; + pub static mut LogMemoryContextPending: sig_atomic_t; + pub static mut IdleStatsUpdateTimeoutPending: sig_atomic_t; + pub static mut PublishMemoryContextPending: sig_atomic_t; + pub static mut CheckClientConnectionPending: sig_atomic_t; + pub static mut ClientConnectionLost: sig_atomic_t; + pub static mut InterruptHoldoffCount: uint32; + pub static mut QueryCancelHoldoffCount: uint32; + pub static mut CritSectionCount: uint32; + pub fn ProcessInterrupts(); + #[doc = "\t globals.h --\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t *"] + pub static mut PostmasterPid: pid_t; + pub static mut IsPostmasterEnvironment: bool; + pub static mut IsUnderPostmaster: bool; + pub static mut IsBinaryUpgrade: bool; + pub static mut ExitOnAnyError: bool; + pub static mut DataDir: *mut ::core::ffi::c_char; + pub static mut data_directory_mode: ::core::ffi::c_int; + pub static mut NBuffers: ::core::ffi::c_int; + pub static mut MaxBackends: ::core::ffi::c_int; + pub static mut MaxConnections: ::core::ffi::c_int; + pub static mut max_worker_processes: ::core::ffi::c_int; + pub static mut max_parallel_workers: ::core::ffi::c_int; + pub static mut commit_timestamp_buffers: ::core::ffi::c_int; + pub static mut multixact_member_buffers: ::core::ffi::c_int; + pub static mut multixact_offset_buffers: ::core::ffi::c_int; + pub static mut notify_buffers: ::core::ffi::c_int; + pub static mut serializable_buffers: ::core::ffi::c_int; + pub static mut subtransaction_buffers: ::core::ffi::c_int; + pub static mut transaction_buffers: ::core::ffi::c_int; + pub static mut MyProcPid: ::core::ffi::c_int; + pub static mut MyStartTime: pg_time_t; + pub static mut MyStartTimestamp: TimestampTz; + pub static mut MyProcPort: *mut Port; + pub static mut MyLatch: *mut Latch; + pub static mut MyCancelKey: [::core::ffi::c_char; 0usize]; + pub static mut MyCancelKeyLength: ::core::ffi::c_int; + pub static mut MyPMChildSlot: ::core::ffi::c_int; + pub static mut OutputFileName: [::core::ffi::c_char; 0usize]; + pub static mut my_exec_path: [::core::ffi::c_char; 0usize]; + pub static mut pkglib_path: [::core::ffi::c_char; 0usize]; + pub static mut MyDatabaseId: Oid; + pub static mut MyDatabaseTableSpace: Oid; + pub static mut MyDatabaseHasLoginEventTriggers: bool; + pub static mut DateStyle: ::core::ffi::c_int; + pub static mut DateOrder: ::core::ffi::c_int; + pub static mut IntervalStyle: ::core::ffi::c_int; + pub static mut enableFsync: bool; + pub static mut allowSystemTableMods: bool; + pub static mut work_mem: ::core::ffi::c_int; + pub static mut hash_mem_multiplier: f64; + pub static mut maintenance_work_mem: ::core::ffi::c_int; + pub static mut max_parallel_maintenance_workers: ::core::ffi::c_int; + pub static mut VacuumBufferUsageLimit: ::core::ffi::c_int; + pub static mut VacuumCostPageHit: ::core::ffi::c_int; + pub static mut VacuumCostPageMiss: ::core::ffi::c_int; + pub static mut VacuumCostPageDirty: ::core::ffi::c_int; + pub static mut VacuumCostLimit: ::core::ffi::c_int; + pub static mut VacuumCostDelay: f64; + pub static mut VacuumCostBalance: ::core::ffi::c_int; + pub static mut VacuumCostActive: bool; + pub static mut max_stack_depth: ::core::ffi::c_int; + pub fn set_stack_base() -> pg_stack_base_t; + pub fn restore_stack_base(base: pg_stack_base_t); + pub fn check_stack_depth(); + pub fn stack_is_too_deep() -> bool; + pub fn get_stack_depth_rlimit() -> isize; + pub fn PreventCommandIfReadOnly(cmdname: *const ::core::ffi::c_char); + pub fn PreventCommandIfParallelMode(cmdname: *const ::core::ffi::c_char); + pub fn PreventCommandDuringRecovery(cmdname: *const ::core::ffi::c_char); + pub static mut DatabasePath: *mut ::core::ffi::c_char; + pub fn InitPostmasterChild(); + pub fn InitStandaloneProcess(argv0: *const ::core::ffi::c_char); + pub fn InitProcessLocalLatch(); + pub fn SwitchToSharedLatch(); + pub fn SwitchBackToLocalLatch(); + pub static mut MyBackendType: BackendType::Type; + pub fn GetBackendTypeDesc(backendType: BackendType::Type) -> *const ::core::ffi::c_char; + pub fn SetDatabasePath(path: *const ::core::ffi::c_char); + pub fn checkDataDir(); + pub fn SetDataDir(dir: *const ::core::ffi::c_char); + pub fn ChangeToDataDir(); + pub fn GetUserNameFromId(roleid: Oid, noerr: bool) -> *mut ::core::ffi::c_char; + pub fn GetUserId() -> Oid; + pub fn GetOuterUserId() -> Oid; + pub fn GetSessionUserId() -> Oid; + pub fn GetSessionUserIsSuperuser() -> bool; + pub fn GetAuthenticatedUserId() -> Oid; + pub fn SetAuthenticatedUserId(userid: Oid); + pub fn GetUserIdAndSecContext(userid: *mut Oid, sec_context: *mut ::core::ffi::c_int); + pub fn SetUserIdAndSecContext(userid: Oid, sec_context: ::core::ffi::c_int); + pub fn InLocalUserIdChange() -> bool; + pub fn InSecurityRestrictedOperation() -> bool; + pub fn InNoForceRLSOperation() -> bool; + pub fn GetUserIdAndContext(userid: *mut Oid, sec_def_context: *mut bool); + pub fn SetUserIdAndContext(userid: Oid, sec_def_context: bool); + pub fn InitializeSessionUserId( + rolename: *const ::core::ffi::c_char, + roleid: Oid, + bypass_login_check: bool, + ); + pub fn InitializeSessionUserIdStandalone(); + pub fn SetSessionAuthorization(userid: Oid, is_superuser: bool); + pub fn GetCurrentRoleId() -> Oid; + pub fn SetCurrentRoleId(roleid: Oid, is_superuser: bool); + pub fn InitializeSystemUser( + authn_id: *const ::core::ffi::c_char, + auth_method: *const ::core::ffi::c_char, + ); + pub fn GetSystemUser() -> *const ::core::ffi::c_char; + pub fn superuser() -> bool; + pub fn superuser_arg(roleid: Oid) -> bool; + pub static mut Mode: ProcessingMode::Type; + pub fn pg_split_opts( + argv: *mut *mut ::core::ffi::c_char, + argcp: *mut ::core::ffi::c_int, + optstr: *const ::core::ffi::c_char, + ); + pub fn InitializeMaxBackends(); + pub fn InitializeFastPathLocks(); + pub fn InitPostgres( + in_dbname: *const ::core::ffi::c_char, + dboid: Oid, + username: *const ::core::ffi::c_char, + useroid: Oid, + flags: bits32, + out_dbname: *mut ::core::ffi::c_char, + ); + pub fn BaseInit(); + pub static mut IgnoreSystemIndexes: bool; + pub static mut process_shared_preload_libraries_in_progress: bool; + pub static mut process_shared_preload_libraries_done: bool; + pub static mut process_shmem_requests_in_progress: bool; + pub static mut session_preload_libraries_string: *mut ::core::ffi::c_char; + pub static mut shared_preload_libraries_string: *mut ::core::ffi::c_char; + pub static mut local_preload_libraries_string: *mut ::core::ffi::c_char; + pub fn CreateDataDirLockFile(amPostmaster: bool); + pub fn CreateSocketLockFile( + socketfile: *const ::core::ffi::c_char, + amPostmaster: bool, + socketDir: *const ::core::ffi::c_char, + ); + pub fn TouchSocketLockFiles(); + pub fn AddToDataDirLockFile(target_line: ::core::ffi::c_int, str_: *const ::core::ffi::c_char); + pub fn RecheckDataDirLockFile() -> bool; + pub fn ValidatePgVersion(path: *const ::core::ffi::c_char); + pub fn process_shared_preload_libraries(); + pub fn process_session_preload_libraries(); + pub fn process_shmem_requests(); + pub fn pg_bindtextdomain(domain: *const ::core::ffi::c_char); + pub fn has_rolreplication(roleid: Oid) -> bool; + pub static mut shmem_request_hook: shmem_request_hook_type; + pub fn EstimateClientConnectionInfoSpace() -> Size; + pub fn SerializeClientConnectionInfo(maxsize: Size, start_address: *mut ::core::ffi::c_char); + pub fn RestoreClientConnectionInfo(conninfo: *mut ::core::ffi::c_char); + pub fn get_hash_memory_limit() -> usize; + pub fn PgArchShmemSize() -> Size; + pub fn PgArchShmemInit(); + pub fn PgArchCanRestart() -> bool; + pub fn PgArchiverMain(startup_data: *const ::core::ffi::c_void, startup_data_len: usize); + pub fn PgArchWakeup(); + pub fn PgArchForceDirScan(); + pub fn GetTupleTransactionInfo( + localslot: *mut TupleTableSlot, + xmin: *mut TransactionId, + localorigin: *mut RepOriginId, + localts: *mut TimestampTz, + ) -> bool; + pub fn ReportApplyConflict( + estate: *mut EState, + relinfo: *mut ResultRelInfo, + elevel: ::core::ffi::c_int, + type_: ConflictType::Type, + searchslot: *mut TupleTableSlot, + remoteslot: *mut TupleTableSlot, + conflicttuples: *mut List, + ); + pub fn InitConflictIndexes(relInfo: *mut ResultRelInfo); + pub fn pgstat_progress_start_command(cmdtype: ProgressCommandType::Type, relid: Oid); + pub fn pgstat_progress_update_param(index: ::core::ffi::c_int, val: int64); + pub fn pgstat_progress_incr_param(index: ::core::ffi::c_int, incr: int64); + pub fn pgstat_progress_parallel_incr_param(index: ::core::ffi::c_int, incr: int64); + pub fn pgstat_progress_update_multi_param( + nparam: ::core::ffi::c_int, + index: *const ::core::ffi::c_int, + val: *const int64, + ); + pub fn pgstat_progress_end_command(); + pub static mut pgstat_track_activities: bool; + pub static mut pgstat_track_activity_query_size: ::core::ffi::c_int; + pub static mut MyBEEntry: *mut PgBackendStatus; + pub fn BackendStatusShmemSize() -> Size; + pub fn BackendStatusShmemInit(); + pub fn pgstat_beinit(); + pub fn pgstat_bestart_initial(); + pub fn pgstat_bestart_security(); + pub fn pgstat_bestart_final(); + pub fn pgstat_clear_backend_activity_snapshot(); + pub fn pgstat_report_activity(state: BackendState::Type, cmd_str: *const ::core::ffi::c_char); + pub fn pgstat_report_query_id(query_id: uint64, force: bool); + pub fn pgstat_report_plan_id(plan_id: uint64, force: bool); + pub fn pgstat_report_tempfile(filesize: usize); + pub fn pgstat_report_appname(appname: *const ::core::ffi::c_char); + pub fn pgstat_report_xact_timestamp(tstamp: TimestampTz); + pub fn pgstat_get_backend_current_activity( + pid: ::core::ffi::c_int, + checkUser: bool, + ) -> *const ::core::ffi::c_char; + pub fn pgstat_get_crashed_backend_activity( + pid: ::core::ffi::c_int, + buffer: *mut ::core::ffi::c_char, + buflen: ::core::ffi::c_int, + ) -> *const ::core::ffi::c_char; + pub fn pgstat_get_my_query_id() -> uint64; + pub fn pgstat_get_my_plan_id() -> uint64; + pub fn pgstat_get_backend_type_by_proc_number(procNumber: ProcNumber) -> BackendType::Type; + pub fn pgstat_fetch_stat_numbackends() -> ::core::ffi::c_int; + pub fn pgstat_get_beentry_by_proc_number(procNumber: ProcNumber) -> *mut PgBackendStatus; + pub fn pgstat_get_local_beentry_by_proc_number( + procNumber: ProcNumber, + ) -> *mut LocalPgBackendStatus; + pub fn pgstat_get_local_beentry_by_index(idx: ::core::ffi::c_int) -> *mut LocalPgBackendStatus; + pub fn pgstat_clip_activity( + raw_activity: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn pgstat_get_wait_event(wait_event_info: uint32) -> *const ::core::ffi::c_char; + pub fn pgstat_get_wait_event_type(wait_event_info: uint32) -> *const ::core::ffi::c_char; + pub fn pgstat_set_wait_event_storage(wait_event_info: *mut uint32); + pub fn pgstat_reset_wait_event_storage(); + pub static mut my_wait_event_info: *mut uint32; + pub fn WaitEventExtensionNew(wait_event_name: *const ::core::ffi::c_char) -> uint32; + pub fn WaitEventInjectionPointNew(wait_event_name: *const ::core::ffi::c_char) -> uint32; + pub fn WaitEventCustomShmemInit(); + pub fn WaitEventCustomShmemSize() -> Size; + pub fn GetWaitEventCustomNames( + classId: uint32, + nwaitevents: *mut ::core::ffi::c_int, + ) -> *mut *mut ::core::ffi::c_char; + pub fn StatsShmemSize() -> Size; + pub fn StatsShmemInit(); + pub fn pgstat_restore_stats(); + pub fn pgstat_discard_stats(); + pub fn pgstat_before_server_shutdown(code: ::core::ffi::c_int, arg: Datum); + pub fn pgstat_initialize(); + pub fn pgstat_report_stat(force: bool) -> ::core::ffi::c_long; + pub fn pgstat_force_next_flush(); + pub fn pgstat_reset_counters(); + pub fn pgstat_reset(kind: uint32, dboid: Oid, objid: uint64); + pub fn pgstat_reset_of_kind(kind: uint32); + pub fn pgstat_clear_snapshot(); + pub fn pgstat_get_stat_snapshot_timestamp(have_snapshot: *mut bool) -> TimestampTz; + pub fn pgstat_get_kind_from_str(kind_str: *mut ::core::ffi::c_char) -> uint32; + pub fn pgstat_have_entry(kind: uint32, dboid: Oid, objid: uint64) -> bool; + pub fn pgstat_report_archiver(xlog: *const ::core::ffi::c_char, failed: bool); + pub fn pgstat_fetch_stat_archiver() -> *mut PgStat_ArchiverStats; + pub fn pgstat_count_backend_io_op_time( + io_object: IOObject::Type, + io_context: IOContext::Type, + io_op: IOOp::Type, + io_time: instr_time, + ); + pub fn pgstat_count_backend_io_op( + io_object: IOObject::Type, + io_context: IOContext::Type, + io_op: IOOp::Type, + cnt: uint32, + bytes: uint64, + ); + pub fn pgstat_fetch_stat_backend(procNumber: ProcNumber) -> *mut PgStat_Backend; + pub fn pgstat_fetch_stat_backend_by_pid( + pid: ::core::ffi::c_int, + bktype: *mut BackendType::Type, + ) -> *mut PgStat_Backend; + pub fn pgstat_tracks_backend_bktype(bktype: BackendType::Type) -> bool; + pub fn pgstat_create_backend(procnum: ProcNumber); + pub fn pgstat_report_bgwriter(); + pub fn pgstat_fetch_stat_bgwriter() -> *mut PgStat_BgWriterStats; + pub fn pgstat_report_checkpointer(); + pub fn pgstat_fetch_stat_checkpointer() -> *mut PgStat_CheckpointerStats; + pub fn pgstat_bktype_io_stats_valid( + backend_io: *mut PgStat_BktypeIO, + bktype: BackendType::Type, + ) -> bool; + pub fn pgstat_count_io_op( + io_object: IOObject::Type, + io_context: IOContext::Type, + io_op: IOOp::Type, + cnt: uint32, + bytes: uint64, + ); + pub fn pgstat_prepare_io_time(track_io_guc: bool) -> instr_time; + pub fn pgstat_count_io_op_time( + io_object: IOObject::Type, + io_context: IOContext::Type, + io_op: IOOp::Type, + start_time: instr_time, + cnt: uint32, + bytes: uint64, + ); + pub fn pgstat_fetch_stat_io() -> *mut PgStat_IO; + pub fn pgstat_get_io_context_name(io_context: IOContext::Type) -> *const ::core::ffi::c_char; + pub fn pgstat_get_io_object_name(io_object: IOObject::Type) -> *const ::core::ffi::c_char; + pub fn pgstat_tracks_io_bktype(bktype: BackendType::Type) -> bool; + pub fn pgstat_tracks_io_object( + bktype: BackendType::Type, + io_object: IOObject::Type, + io_context: IOContext::Type, + ) -> bool; + pub fn pgstat_tracks_io_op( + bktype: BackendType::Type, + io_object: IOObject::Type, + io_context: IOContext::Type, + io_op: IOOp::Type, + ) -> bool; + pub fn pgstat_drop_database(databaseid: Oid); + pub fn pgstat_report_autovac(dboid: Oid); + pub fn pgstat_report_recovery_conflict(reason: ::core::ffi::c_int); + pub fn pgstat_report_deadlock(); + pub fn pgstat_prepare_report_checksum_failure(dboid: Oid); + pub fn pgstat_report_checksum_failures_in_db(dboid: Oid, failurecount: ::core::ffi::c_int); + pub fn pgstat_report_connect(dboid: Oid); + pub fn pgstat_update_parallel_workers_stats( + workers_to_launch: PgStat_Counter, + workers_launched: PgStat_Counter, + ); + pub fn pgstat_fetch_stat_dbentry(dboid: Oid) -> *mut PgStat_StatDBEntry; + pub fn pgstat_create_function(proid: Oid); + pub fn pgstat_drop_function(proid: Oid); + pub fn pgstat_init_function_usage( + fcinfo: *mut FunctionCallInfoBaseData, + fcu: *mut PgStat_FunctionCallUsage, + ); + pub fn pgstat_end_function_usage(fcu: *mut PgStat_FunctionCallUsage, finalize: bool); + pub fn pgstat_fetch_stat_funcentry(func_id: Oid) -> *mut PgStat_StatFuncEntry; + pub fn find_funcstat_entry(func_id: Oid) -> *mut PgStat_FunctionCounts; + pub fn pgstat_create_relation(rel: Relation); + pub fn pgstat_drop_relation(rel: Relation); + pub fn pgstat_copy_relation_stats(dst: Relation, src: Relation); + pub fn pgstat_init_relation(rel: Relation); + pub fn pgstat_assoc_relation(rel: Relation); + pub fn pgstat_unlink_relation(rel: Relation); + pub fn pgstat_report_vacuum( + tableoid: Oid, + shared: bool, + livetuples: PgStat_Counter, + deadtuples: PgStat_Counter, + starttime: TimestampTz, + ); + pub fn pgstat_report_analyze( + rel: Relation, + livetuples: PgStat_Counter, + deadtuples: PgStat_Counter, + resetcounter: bool, + starttime: TimestampTz, + ); + pub fn pgstat_count_heap_insert(rel: Relation, n: PgStat_Counter); + pub fn pgstat_count_heap_update(rel: Relation, hot: bool, newpage: bool); + pub fn pgstat_count_heap_delete(rel: Relation); + pub fn pgstat_count_truncate(rel: Relation); + pub fn pgstat_update_heap_dead_tuples(rel: Relation, delta: ::core::ffi::c_int); + pub fn pgstat_twophase_postcommit( + xid: TransactionId, + info: uint16, + recdata: *mut ::core::ffi::c_void, + len: uint32, + ); + pub fn pgstat_twophase_postabort( + xid: TransactionId, + info: uint16, + recdata: *mut ::core::ffi::c_void, + len: uint32, + ); + pub fn pgstat_fetch_stat_tabentry(relid: Oid) -> *mut PgStat_StatTabEntry; + pub fn pgstat_fetch_stat_tabentry_ext(shared: bool, reloid: Oid) -> *mut PgStat_StatTabEntry; + pub fn find_tabstat_entry(rel_id: Oid) -> *mut PgStat_TableStatus; + pub fn pgstat_reset_replslot(name: *const ::core::ffi::c_char); + pub fn pgstat_report_replslot( + slot: *mut ReplicationSlot, + repSlotStat: *const PgStat_StatReplSlotEntry, + ); + pub fn pgstat_create_replslot(slot: *mut ReplicationSlot); + pub fn pgstat_acquire_replslot(slot: *mut ReplicationSlot); + pub fn pgstat_drop_replslot(slot: *mut ReplicationSlot); + pub fn pgstat_fetch_replslot(slotname: NameData) -> *mut PgStat_StatReplSlotEntry; + pub fn pgstat_reset_slru(arg1: *const ::core::ffi::c_char); + pub fn pgstat_count_slru_page_zeroed(slru_idx: ::core::ffi::c_int); + pub fn pgstat_count_slru_page_hit(slru_idx: ::core::ffi::c_int); + pub fn pgstat_count_slru_page_read(slru_idx: ::core::ffi::c_int); + pub fn pgstat_count_slru_page_written(slru_idx: ::core::ffi::c_int); + pub fn pgstat_count_slru_page_exists(slru_idx: ::core::ffi::c_int); + pub fn pgstat_count_slru_flush(slru_idx: ::core::ffi::c_int); + pub fn pgstat_count_slru_truncate(slru_idx: ::core::ffi::c_int); + pub fn pgstat_get_slru_name(slru_idx: ::core::ffi::c_int) -> *const ::core::ffi::c_char; + pub fn pgstat_get_slru_index(name: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pgstat_fetch_slru() -> *mut PgStat_SLRUStats; + pub fn pgstat_report_subscription_error(subid: Oid, is_apply_error: bool); + pub fn pgstat_report_subscription_conflict(subid: Oid, type_: ConflictType::Type); + pub fn pgstat_create_subscription(subid: Oid); + pub fn pgstat_drop_subscription(subid: Oid); + pub fn pgstat_fetch_stat_subscription(subid: Oid) -> *mut PgStat_StatSubEntry; + pub fn AtEOXact_PgStat(isCommit: bool, parallel: bool); + pub fn AtEOSubXact_PgStat(isCommit: bool, nestDepth: ::core::ffi::c_int); + pub fn AtPrepare_PgStat(); + pub fn PostPrepare_PgStat(); + pub fn pgstat_get_transactional_drops( + isCommit: bool, + items: *mut *mut xl_xact_stats_item, + ) -> ::core::ffi::c_int; + pub fn pgstat_execute_transactional_drops( + ndrops: ::core::ffi::c_int, + items: *mut xl_xact_stats_item, + is_redo: bool, + ); + pub fn pgstat_report_wal(force: bool); + pub fn pgstat_fetch_stat_wal() -> *mut PgStat_WalStats; + pub static mut pgstat_track_counts: bool; + pub static mut pgstat_track_functions: ::core::ffi::c_int; + pub static mut pgstat_fetch_consistency: ::core::ffi::c_int; + pub static mut PendingBgWriterStats: PgStat_BgWriterStats; + pub static mut PendingCheckpointerStats: PgStat_CheckpointerStats; + pub static mut pgStatBlockReadTime: PgStat_Counter; + pub static mut pgStatBlockWriteTime: PgStat_Counter; + pub static mut pgStatActiveTime: PgStat_Counter; + pub static mut pgStatTransactionIdleTime: PgStat_Counter; + pub static mut pgStatSessionEndCause: SessionEndType::Type; + pub fn detoast_external_attr(attr: *mut varlena) -> *mut varlena; + pub fn detoast_attr(attr: *mut varlena) -> *mut varlena; + pub fn detoast_attr_slice( + attr: *mut varlena, + sliceoffset: int32, + slicelength: int32, + ) -> *mut varlena; + pub fn toast_raw_datum_size(value: Datum) -> Size; + pub fn toast_datum_size(value: Datum) -> Size; + pub fn pg_comp_crc32c_sb8( + crc: pg_crc32c, + data: *const ::core::ffi::c_void, + len: usize, + ) -> pg_crc32c; + pub static mut pg_comp_crc32c: ::core::option::Option< + unsafe extern "C-unwind" fn( + crc: pg_crc32c, + data: *const ::core::ffi::c_void, + len: usize, + ) -> pg_crc32c, + >; + pub fn pg_comp_crc32c_sse42( + crc: pg_crc32c, + data: *const ::core::ffi::c_void, + len: usize, + ) -> pg_crc32c; + pub fn pg_comp_crc32c_avx512( + crc: pg_crc32c, + data: *const ::core::ffi::c_void, + len: usize, + ) -> pg_crc32c; + pub fn XLogReaderAllocate( + wal_segment_size: ::core::ffi::c_int, + waldir: *const ::core::ffi::c_char, + routine: *mut XLogReaderRoutine, + private_data: *mut ::core::ffi::c_void, + ) -> *mut XLogReaderState; + pub fn XLogReaderFree(state: *mut XLogReaderState); + pub fn XLogReaderSetDecodeBuffer( + state: *mut XLogReaderState, + buffer: *mut ::core::ffi::c_void, + size: usize, + ); + pub fn XLogBeginRead(state: *mut XLogReaderState, RecPtr: XLogRecPtr); + pub fn XLogFindNextRecord(state: *mut XLogReaderState, RecPtr: XLogRecPtr) -> XLogRecPtr; + pub fn XLogReadRecord( + state: *mut XLogReaderState, + errormsg: *mut *mut ::core::ffi::c_char, + ) -> *mut XLogRecord; + pub fn XLogNextRecord( + state: *mut XLogReaderState, + errormsg: *mut *mut ::core::ffi::c_char, + ) -> *mut DecodedXLogRecord; + pub fn XLogReleasePreviousRecord(state: *mut XLogReaderState) -> XLogRecPtr; + pub fn XLogReadAhead(state: *mut XLogReaderState, nonblocking: bool) -> *mut DecodedXLogRecord; + pub fn XLogReaderValidatePageHeader( + state: *mut XLogReaderState, + recptr: XLogRecPtr, + phdr: *mut ::core::ffi::c_char, + ) -> bool; + pub fn XLogReaderResetError(state: *mut XLogReaderState); + pub fn WALRead( + state: *mut XLogReaderState, + buf: *mut ::core::ffi::c_char, + startptr: XLogRecPtr, + count: Size, + tli: TimeLineID, + errinfo: *mut WALReadError, + ) -> bool; + pub fn DecodeXLogRecordRequiredSpace(xl_tot_len: usize) -> usize; + pub fn DecodeXLogRecord( + state: *mut XLogReaderState, + decoded: *mut DecodedXLogRecord, + record: *mut XLogRecord, + lsn: XLogRecPtr, + errormsg: *mut *mut ::core::ffi::c_char, + ) -> bool; + pub fn XLogRecGetFullXid(record: *mut XLogReaderState) -> FullTransactionId; + pub fn RestoreBlockImage( + record: *mut XLogReaderState, + block_id: uint8, + page: *mut ::core::ffi::c_char, + ) -> bool; + pub fn XLogRecGetBlockData( + record: *mut XLogReaderState, + block_id: uint8, + len: *mut Size, + ) -> *mut ::core::ffi::c_char; + pub fn XLogRecGetBlockTag( + record: *mut XLogReaderState, + block_id: uint8, + rlocator: *mut RelFileLocator, + forknum: *mut ForkNumber::Type, + blknum: *mut BlockNumber, + ); + pub fn XLogRecGetBlockTagExtended( + record: *mut XLogReaderState, + block_id: uint8, + rlocator: *mut RelFileLocator, + forknum: *mut ForkNumber::Type, + blknum: *mut BlockNumber, + prefetch_buffer: *mut Buffer, + ) -> bool; + pub fn XLogBeginInsert(); + pub fn XLogSetRecordFlags(flags: uint8); + pub fn XLogInsert(rmid: RmgrId, info: uint8) -> XLogRecPtr; + pub fn XLogEnsureRecordSpace(max_block_id: ::core::ffi::c_int, ndatas: ::core::ffi::c_int); + pub fn XLogRegisterData(data: *const ::core::ffi::c_void, len: uint32); + pub fn XLogRegisterBuffer(block_id: uint8, buffer: Buffer, flags: uint8); + pub fn XLogRegisterBlock( + block_id: uint8, + rlocator: *mut RelFileLocator, + forknum: ForkNumber::Type, + blknum: BlockNumber, + page: *const PageData, + flags: uint8, + ); + pub fn XLogRegisterBufData(block_id: uint8, data: *const ::core::ffi::c_void, len: uint32); + pub fn XLogResetInsertion(); + pub fn XLogCheckBufferNeedsBackup(buffer: Buffer) -> bool; + pub fn log_newpage( + rlocator: *mut RelFileLocator, + forknum: ForkNumber::Type, + blkno: BlockNumber, + page: Page, + page_std: bool, + ) -> XLogRecPtr; + pub fn log_newpages( + rlocator: *mut RelFileLocator, + forknum: ForkNumber::Type, + num_pages: ::core::ffi::c_int, + blknos: *mut BlockNumber, + pages: *mut Page, + page_std: bool, + ); + pub fn log_newpage_buffer(buffer: Buffer, page_std: bool) -> XLogRecPtr; + pub fn log_newpage_range( + rel: Relation, + forknum: ForkNumber::Type, + startblk: BlockNumber, + endblk: BlockNumber, + page_std: bool, + ); + pub fn XLogSaveBufferForHint(buffer: Buffer, buffer_std: bool) -> XLogRecPtr; + pub fn InitXLogInsert(); + pub fn GenericXLogStart(relation: Relation) -> *mut GenericXLogState; + pub fn GenericXLogRegisterBuffer( + state: *mut GenericXLogState, + buffer: Buffer, + flags: ::core::ffi::c_int, + ) -> Page; + pub fn GenericXLogFinish(state: *mut GenericXLogState) -> XLogRecPtr; + pub fn GenericXLogAbort(state: *mut GenericXLogState); + pub fn generic_redo(record: *mut XLogReaderState); + pub fn generic_identify(info: uint8) -> *const ::core::ffi::c_char; + pub fn generic_desc(buf: StringInfo, record: *mut XLogReaderState); + pub fn generic_mask(page: *mut ::core::ffi::c_char, blkno: BlockNumber); + pub fn shm_toc_create( + magic: uint64, + address: *mut ::core::ffi::c_void, + nbytes: Size, + ) -> *mut shm_toc; + pub fn shm_toc_attach(magic: uint64, address: *mut ::core::ffi::c_void) -> *mut shm_toc; + pub fn shm_toc_allocate(toc: *mut shm_toc, nbytes: Size) -> *mut ::core::ffi::c_void; + pub fn shm_toc_freespace(toc: *mut shm_toc) -> Size; + pub fn shm_toc_insert(toc: *mut shm_toc, key: uint64, address: *mut ::core::ffi::c_void); + pub fn shm_toc_lookup( + toc: *mut shm_toc, + key: uint64, + noError: bool, + ) -> *mut ::core::ffi::c_void; + pub fn shm_toc_estimate(e: *mut shm_toc_estimator) -> Size; + pub static mut GinFuzzySearchLimit: ::core::ffi::c_int; + pub static mut gin_pending_list_limit: ::core::ffi::c_int; + pub fn ginGetStats(index: Relation, stats: *mut GinStatsData); + pub fn ginUpdateStats(index: Relation, stats: *const GinStatsData, is_build: bool); + pub fn _gin_parallel_build_main(seg: *mut dsm_segment, toc: *mut shm_toc); + pub fn gisttranslatecmptype(cmptype: CompareType::Type, opfamily: Oid) -> StrategyNumber; + pub static mut SharedInvalidMessageCounter: uint64; + pub static mut catchupInterruptPending: sig_atomic_t; + pub fn SendSharedInvalidMessages(msgs: *const SharedInvalidationMessage, n: ::core::ffi::c_int); + pub fn ReceiveSharedInvalidMessages( + invalFunction: ::core::option::Option< + unsafe extern "C-unwind" fn(msg: *mut SharedInvalidationMessage), + >, + resetFunction: ::core::option::Option, + ); + pub fn HandleCatchupInterrupt(); + pub fn ProcessCatchupInterrupt(); + pub fn xactGetCommittedInvalidationMessages( + msgs: *mut *mut SharedInvalidationMessage, + RelcacheInitFileInval: *mut bool, + ) -> ::core::ffi::c_int; + pub fn inplaceGetInvalidationMessages( + msgs: *mut *mut SharedInvalidationMessage, + RelcacheInitFileInval: *mut bool, + ) -> ::core::ffi::c_int; + pub fn ProcessCommittedInvalidationMessages( + msgs: *mut SharedInvalidationMessage, + nmsgs: ::core::ffi::c_int, + RelcacheInitFileInval: bool, + dbid: Oid, + tsid: Oid, + ); + pub fn LocalExecuteInvalidationMessage(msg: *mut SharedInvalidationMessage); + pub fn HeapTupleHeaderAdvanceConflictHorizon( + tuple: HeapTupleHeader, + snapshotConflictHorizon: *mut TransactionId, + ); + pub fn heap_redo(record: *mut XLogReaderState); + pub fn heap_desc(buf: StringInfo, record: *mut XLogReaderState); + pub fn heap_identify(info: uint8) -> *const ::core::ffi::c_char; + pub fn heap_mask(pagedata: *mut ::core::ffi::c_char, blkno: BlockNumber); + pub fn heap2_redo(record: *mut XLogReaderState); + pub fn heap2_desc(buf: StringInfo, record: *mut XLogReaderState); + pub fn heap2_identify(info: uint8) -> *const ::core::ffi::c_char; + pub fn heap_xlog_logical_rewrite(r: *mut XLogReaderState); + pub fn log_heap_visible( + rel: Relation, + heap_buffer: Buffer, + vm_buffer: Buffer, + snapshotConflictHorizon: TransactionId, + vmflags: uint8, + ) -> XLogRecPtr; + pub fn heap_xlog_deserialize_prune_and_freeze( + cursor: *mut ::core::ffi::c_char, + flags: uint8, + nplans: *mut ::core::ffi::c_int, + plans: *mut *mut xlhp_freeze_plan, + frz_offsets: *mut *mut OffsetNumber, + nredirected: *mut ::core::ffi::c_int, + redirected: *mut *mut OffsetNumber, + ndead: *mut ::core::ffi::c_int, + nowdead: *mut *mut OffsetNumber, + nunused: *mut ::core::ffi::c_int, + nowunused: *mut *mut OffsetNumber, + ); + pub fn relation_open(relationId: Oid, lockmode: LOCKMODE) -> Relation; + pub fn try_relation_open(relationId: Oid, lockmode: LOCKMODE) -> Relation; + pub fn relation_openrv(relation: *const RangeVar, lockmode: LOCKMODE) -> Relation; + pub fn relation_openrv_extended( + relation: *const RangeVar, + lockmode: LOCKMODE, + missing_ok: bool, + ) -> Relation; + pub fn relation_close(relation: Relation, lockmode: LOCKMODE); + pub fn table_open(relationId: Oid, lockmode: LOCKMODE) -> Relation; + pub fn table_openrv(relation: *const RangeVar, lockmode: LOCKMODE) -> Relation; + pub fn table_openrv_extended( + relation: *const RangeVar, + lockmode: LOCKMODE, + missing_ok: bool, + ) -> Relation; + pub fn try_table_open(relationId: Oid, lockmode: LOCKMODE) -> Relation; + pub fn table_close(relation: Relation, lockmode: LOCKMODE); + pub static mut DefaultXactIsoLevel: ::core::ffi::c_int; + pub static mut XactIsoLevel: ::core::ffi::c_int; + pub static mut DefaultXactReadOnly: bool; + pub static mut XactReadOnly: bool; + pub static mut xact_is_sampled: bool; + pub static mut DefaultXactDeferrable: bool; + pub static mut XactDeferrable: bool; + pub static mut synchronous_commit: ::core::ffi::c_int; + pub static mut CheckXidAlive: TransactionId; + pub static mut bsysscan: bool; + pub static mut MyXactFlags: ::core::ffi::c_int; + pub fn IsTransactionState() -> bool; + pub fn IsAbortedTransactionBlockState() -> bool; + pub fn GetTopTransactionId() -> TransactionId; + pub fn GetTopTransactionIdIfAny() -> TransactionId; + pub fn GetCurrentTransactionId() -> TransactionId; + pub fn GetCurrentTransactionIdIfAny() -> TransactionId; + pub fn GetStableLatestTransactionId() -> TransactionId; + pub fn GetCurrentSubTransactionId() -> SubTransactionId; + pub fn GetTopFullTransactionId() -> FullTransactionId; + pub fn GetTopFullTransactionIdIfAny() -> FullTransactionId; + pub fn GetCurrentFullTransactionId() -> FullTransactionId; + pub fn GetCurrentFullTransactionIdIfAny() -> FullTransactionId; + pub fn MarkCurrentTransactionIdLoggedIfAny(); + pub fn SubTransactionIsActive(subxid: SubTransactionId) -> bool; + pub fn GetCurrentCommandId(used: bool) -> CommandId; + pub fn SetParallelStartTimestamps(xact_ts: TimestampTz, stmt_ts: TimestampTz); + pub fn GetCurrentTransactionStartTimestamp() -> TimestampTz; + pub fn GetCurrentStatementStartTimestamp() -> TimestampTz; + pub fn GetCurrentTransactionStopTimestamp() -> TimestampTz; + pub fn SetCurrentStatementStartTimestamp(); + pub fn GetCurrentTransactionNestLevel() -> ::core::ffi::c_int; + pub fn TransactionIdIsCurrentTransactionId(xid: TransactionId) -> bool; + pub fn CommandCounterIncrement(); + pub fn ForceSyncCommit(); + pub fn StartTransactionCommand(); + pub fn SaveTransactionCharacteristics(s: *mut SavedTransactionCharacteristics); + pub fn RestoreTransactionCharacteristics(s: *const SavedTransactionCharacteristics); + pub fn CommitTransactionCommand(); + pub fn AbortCurrentTransaction(); + pub fn BeginTransactionBlock(); + pub fn EndTransactionBlock(chain: bool) -> bool; + pub fn PrepareTransactionBlock(gid: *const ::core::ffi::c_char) -> bool; + pub fn UserAbortTransactionBlock(chain: bool); + pub fn BeginImplicitTransactionBlock(); + pub fn EndImplicitTransactionBlock(); + pub fn ReleaseSavepoint(name: *const ::core::ffi::c_char); + pub fn DefineSavepoint(name: *const ::core::ffi::c_char); + pub fn RollbackToSavepoint(name: *const ::core::ffi::c_char); + pub fn BeginInternalSubTransaction(name: *const ::core::ffi::c_char); + pub fn ReleaseCurrentSubTransaction(); + pub fn RollbackAndReleaseCurrentSubTransaction(); + pub fn IsSubTransaction() -> bool; + pub fn EstimateTransactionStateSpace() -> Size; + pub fn SerializeTransactionState(maxsize: Size, start_address: *mut ::core::ffi::c_char); + pub fn StartParallelWorkerTransaction(tstatespace: *mut ::core::ffi::c_char); + pub fn EndParallelWorkerTransaction(); + pub fn IsTransactionBlock() -> bool; + pub fn IsTransactionOrTransactionBlock() -> bool; + pub fn TransactionBlockStatusCode() -> ::core::ffi::c_char; + pub fn AbortOutOfAnyTransaction(); + pub fn PreventInTransactionBlock(isTopLevel: bool, stmtType: *const ::core::ffi::c_char); + pub fn RequireTransactionBlock(isTopLevel: bool, stmtType: *const ::core::ffi::c_char); + pub fn WarnNoTransactionBlock(isTopLevel: bool, stmtType: *const ::core::ffi::c_char); + pub fn IsInTransactionBlock(isTopLevel: bool) -> bool; + pub fn RegisterXactCallback(callback: XactCallback, arg: *mut ::core::ffi::c_void); + pub fn UnregisterXactCallback(callback: XactCallback, arg: *mut ::core::ffi::c_void); + pub fn RegisterSubXactCallback(callback: SubXactCallback, arg: *mut ::core::ffi::c_void); + pub fn UnregisterSubXactCallback(callback: SubXactCallback, arg: *mut ::core::ffi::c_void); + pub fn IsSubxactTopXidLogPending() -> bool; + pub fn MarkSubxactTopXidLogged(); + pub fn xactGetCommittedChildren(ptr: *mut *mut TransactionId) -> ::core::ffi::c_int; + pub fn XactLogCommitRecord( + commit_time: TimestampTz, + nsubxacts: ::core::ffi::c_int, + subxacts: *mut TransactionId, + nrels: ::core::ffi::c_int, + rels: *mut RelFileLocator, + ndroppedstats: ::core::ffi::c_int, + droppedstats: *mut xl_xact_stats_item, + nmsgs: ::core::ffi::c_int, + msgs: *mut SharedInvalidationMessage, + relcacheInval: bool, + xactflags: ::core::ffi::c_int, + twophase_xid: TransactionId, + twophase_gid: *const ::core::ffi::c_char, + ) -> XLogRecPtr; + pub fn XactLogAbortRecord( + abort_time: TimestampTz, + nsubxacts: ::core::ffi::c_int, + subxacts: *mut TransactionId, + nrels: ::core::ffi::c_int, + rels: *mut RelFileLocator, + ndroppedstats: ::core::ffi::c_int, + droppedstats: *mut xl_xact_stats_item, + xactflags: ::core::ffi::c_int, + twophase_xid: TransactionId, + twophase_gid: *const ::core::ffi::c_char, + ) -> XLogRecPtr; + pub fn xact_redo(record: *mut XLogReaderState); + pub fn xact_desc(buf: StringInfo, record: *mut XLogReaderState); + pub fn xact_identify(info: uint8) -> *const ::core::ffi::c_char; + pub fn ParseCommitRecord( + info: uint8, + xlrec: *mut xl_xact_commit, + parsed: *mut xl_xact_parsed_commit, + ); + pub fn ParseAbortRecord( + info: uint8, + xlrec: *mut xl_xact_abort, + parsed: *mut xl_xact_parsed_abort, + ); + pub fn ParsePrepareRecord( + info: uint8, + xlrec: *mut xl_xact_prepare, + parsed: *mut xl_xact_parsed_prepare, + ); + pub fn EnterParallelMode(); + pub fn ExitParallelMode(); + pub fn IsInParallelMode() -> bool; + pub static mut FirstSnapshotSet: bool; + pub static mut TransactionXmin: TransactionId; + pub static mut RecentXmin: TransactionId; + pub static mut SnapshotSelfData: SnapshotData; + pub static mut SnapshotAnyData: SnapshotData; + pub static mut SnapshotToastData: SnapshotData; + pub fn GetTransactionSnapshot() -> Snapshot; + pub fn GetLatestSnapshot() -> Snapshot; + pub fn SnapshotSetCommandId(curcid: CommandId); + pub fn GetCatalogSnapshot(relid: Oid) -> Snapshot; + pub fn GetNonHistoricCatalogSnapshot(relid: Oid) -> Snapshot; + pub fn InvalidateCatalogSnapshot(); + pub fn InvalidateCatalogSnapshotConditionally(); + pub fn PushActiveSnapshot(snapshot: Snapshot); + pub fn PushActiveSnapshotWithLevel(snapshot: Snapshot, snap_level: ::core::ffi::c_int); + pub fn PushCopiedSnapshot(snapshot: Snapshot); + pub fn UpdateActiveSnapshotCommandId(); + pub fn PopActiveSnapshot(); + pub fn GetActiveSnapshot() -> Snapshot; + pub fn ActiveSnapshotSet() -> bool; + pub fn RegisterSnapshot(snapshot: Snapshot) -> Snapshot; + pub fn UnregisterSnapshot(snapshot: Snapshot); + pub fn RegisterSnapshotOnOwner(snapshot: Snapshot, owner: ResourceOwner) -> Snapshot; + pub fn UnregisterSnapshotFromOwner(snapshot: Snapshot, owner: ResourceOwner); + pub fn AtSubCommit_Snapshot(level: ::core::ffi::c_int); + pub fn AtSubAbort_Snapshot(level: ::core::ffi::c_int); + pub fn AtEOXact_Snapshot(isCommit: bool, resetXmin: bool); + pub fn ImportSnapshot(idstr: *const ::core::ffi::c_char); + pub fn XactHasExportedSnapshots() -> bool; + pub fn DeleteAllExportedSnapshotFiles(); + pub fn WaitForOlderSnapshots(limitXmin: TransactionId, progress: bool); + pub fn ThereAreNoPriorRegisteredSnapshots() -> bool; + pub fn HaveRegisteredOrActiveSnapshot() -> bool; + pub fn ExportSnapshot(snapshot: Snapshot) -> *mut ::core::ffi::c_char; + pub fn GlobalVisTestFor(rel: Relation) -> *mut GlobalVisState; + pub fn GlobalVisTestIsRemovableXid(state: *mut GlobalVisState, xid: TransactionId) -> bool; + pub fn GlobalVisTestIsRemovableFullXid( + state: *mut GlobalVisState, + fxid: FullTransactionId, + ) -> bool; + pub fn GlobalVisCheckRemovableXid(rel: Relation, xid: TransactionId) -> bool; + pub fn GlobalVisCheckRemovableFullXid(rel: Relation, fxid: FullTransactionId) -> bool; + pub fn XidInMVCCSnapshot(xid: TransactionId, snapshot: Snapshot) -> bool; + pub fn HistoricSnapshotGetTupleCids() -> *mut HTAB; + pub fn SetupHistoricSnapshot(historic_snapshot: Snapshot, tuplecids: *mut HTAB); + pub fn TeardownHistoricSnapshot(is_error: bool); + pub fn HistoricSnapshotActive() -> bool; + pub fn EstimateSnapshotSpace(snapshot: Snapshot) -> Size; + pub fn SerializeSnapshot(snapshot: Snapshot, start_address: *mut ::core::ffi::c_char); + pub fn RestoreSnapshot(start_address: *mut ::core::ffi::c_char) -> Snapshot; + pub fn RestoreTransactionSnapshot(snapshot: Snapshot, source_pgproc: *mut ::core::ffi::c_void); + pub static mut zero_damaged_pages: bool; + pub static mut bgwriter_lru_maxpages: ::core::ffi::c_int; + pub static mut bgwriter_lru_multiplier: f64; + pub static mut track_io_timing: bool; + pub static mut effective_io_concurrency: ::core::ffi::c_int; + pub static mut maintenance_io_concurrency: ::core::ffi::c_int; + pub static mut io_combine_limit: ::core::ffi::c_int; + pub static mut io_combine_limit_guc: ::core::ffi::c_int; + pub static mut io_max_combine_limit: ::core::ffi::c_int; + pub static mut checkpoint_flush_after: ::core::ffi::c_int; + pub static mut backend_flush_after: ::core::ffi::c_int; + pub static mut bgwriter_flush_after: ::core::ffi::c_int; + pub static aio_shared_buffer_readv_cb: PgAioHandleCallbacks; + pub static aio_local_buffer_readv_cb: PgAioHandleCallbacks; + pub static mut BufferBlocks: *mut ::core::ffi::c_char; + pub static mut NLocBuffer: ::core::ffi::c_int; + pub static mut LocalBufferBlockPointers: *mut Block; + pub static mut LocalRefCount: *mut int32; + pub fn PrefetchSharedBuffer( + smgr_reln: *mut SMgrRelationData, + forkNum: ForkNumber::Type, + blockNum: BlockNumber, + ) -> PrefetchBufferResult; + pub fn PrefetchBuffer( + reln: Relation, + forkNum: ForkNumber::Type, + blockNum: BlockNumber, + ) -> PrefetchBufferResult; + pub fn ReadRecentBuffer( + rlocator: RelFileLocator, + forkNum: ForkNumber::Type, + blockNum: BlockNumber, + recent_buffer: Buffer, + ) -> bool; + pub fn ReadBuffer(reln: Relation, blockNum: BlockNumber) -> Buffer; + pub fn ReadBufferExtended( + reln: Relation, + forkNum: ForkNumber::Type, + blockNum: BlockNumber, + mode: ReadBufferMode::Type, + strategy: BufferAccessStrategy, + ) -> Buffer; + pub fn ReadBufferWithoutRelcache( + rlocator: RelFileLocator, + forkNum: ForkNumber::Type, + blockNum: BlockNumber, + mode: ReadBufferMode::Type, + strategy: BufferAccessStrategy, + permanent: bool, + ) -> Buffer; + pub fn StartReadBuffer( + operation: *mut ReadBuffersOperation, + buffer: *mut Buffer, + blocknum: BlockNumber, + flags: ::core::ffi::c_int, + ) -> bool; + pub fn StartReadBuffers( + operation: *mut ReadBuffersOperation, + buffers: *mut Buffer, + blockNum: BlockNumber, + nblocks: *mut ::core::ffi::c_int, + flags: ::core::ffi::c_int, + ) -> bool; + pub fn WaitReadBuffers(operation: *mut ReadBuffersOperation); + pub fn ReleaseBuffer(buffer: Buffer); + pub fn UnlockReleaseBuffer(buffer: Buffer); + pub fn BufferIsExclusiveLocked(buffer: Buffer) -> bool; + pub fn BufferIsDirty(buffer: Buffer) -> bool; + pub fn MarkBufferDirty(buffer: Buffer); + pub fn IncrBufferRefCount(buffer: Buffer); + pub fn CheckBufferIsPinnedOnce(buffer: Buffer); + pub fn ReleaseAndReadBuffer( + buffer: Buffer, + relation: Relation, + blockNum: BlockNumber, + ) -> Buffer; + pub fn ExtendBufferedRel( + bmr: BufferManagerRelation, + forkNum: ForkNumber::Type, + strategy: BufferAccessStrategy, + flags: uint32, + ) -> Buffer; + pub fn ExtendBufferedRelBy( + bmr: BufferManagerRelation, + fork: ForkNumber::Type, + strategy: BufferAccessStrategy, + flags: uint32, + extend_by: uint32, + buffers: *mut Buffer, + extended_by: *mut uint32, + ) -> BlockNumber; + pub fn ExtendBufferedRelTo( + bmr: BufferManagerRelation, + fork: ForkNumber::Type, + strategy: BufferAccessStrategy, + flags: uint32, + extend_to: BlockNumber, + mode: ReadBufferMode::Type, + ) -> Buffer; + pub fn InitBufferManagerAccess(); + pub fn AtEOXact_Buffers(isCommit: bool); + pub fn AssertBufferLocksPermitCatalogRead(); + pub fn DebugPrintBufferRefcount(buffer: Buffer) -> *mut ::core::ffi::c_char; + pub fn CheckPointBuffers(flags: ::core::ffi::c_int); + pub fn BufferGetBlockNumber(buffer: Buffer) -> BlockNumber; + pub fn RelationGetNumberOfBlocksInFork( + relation: Relation, + forkNum: ForkNumber::Type, + ) -> BlockNumber; + pub fn FlushOneBuffer(buffer: Buffer); + pub fn FlushRelationBuffers(rel: Relation); + pub fn FlushRelationsAllBuffers(smgrs: *mut *mut SMgrRelationData, nrels: ::core::ffi::c_int); + pub fn CreateAndCopyRelationData( + src_rlocator: RelFileLocator, + dst_rlocator: RelFileLocator, + permanent: bool, + ); + pub fn FlushDatabaseBuffers(dbid: Oid); + pub fn DropRelationBuffers( + smgr_reln: *mut SMgrRelationData, + forkNum: *mut ForkNumber::Type, + nforks: ::core::ffi::c_int, + firstDelBlock: *mut BlockNumber, + ); + pub fn DropRelationsAllBuffers( + smgr_reln: *mut *mut SMgrRelationData, + nlocators: ::core::ffi::c_int, + ); + pub fn DropDatabaseBuffers(dbid: Oid); + pub fn BufferIsPermanent(buffer: Buffer) -> bool; + pub fn BufferGetLSNAtomic(buffer: Buffer) -> XLogRecPtr; + pub fn BufferGetTag( + buffer: Buffer, + rlocator: *mut RelFileLocator, + forknum: *mut ForkNumber::Type, + blknum: *mut BlockNumber, + ); + pub fn MarkBufferDirtyHint(buffer: Buffer, buffer_std: bool); + pub fn UnlockBuffers(); + pub fn LockBuffer(buffer: Buffer, mode: ::core::ffi::c_int); + pub fn ConditionalLockBuffer(buffer: Buffer) -> bool; + pub fn LockBufferForCleanup(buffer: Buffer); + pub fn ConditionalLockBufferForCleanup(buffer: Buffer) -> bool; + pub fn IsBufferCleanupOK(buffer: Buffer) -> bool; + pub fn HoldingBufferPinThatDelaysRecovery() -> bool; + pub fn BgBufferSync(wb_context: *mut WritebackContext) -> bool; + pub fn GetPinLimit() -> uint32; + pub fn GetLocalPinLimit() -> uint32; + pub fn GetAdditionalPinLimit() -> uint32; + pub fn GetAdditionalLocalPinLimit() -> uint32; + pub fn LimitAdditionalPins(additional_pins: *mut uint32); + pub fn LimitAdditionalLocalPins(additional_pins: *mut uint32); + pub fn EvictUnpinnedBuffer(buf: Buffer, buffer_flushed: *mut bool) -> bool; + pub fn EvictAllUnpinnedBuffers( + buffers_evicted: *mut int32, + buffers_flushed: *mut int32, + buffers_skipped: *mut int32, + ); + pub fn EvictRelUnpinnedBuffers( + rel: Relation, + buffers_evicted: *mut int32, + buffers_flushed: *mut int32, + buffers_skipped: *mut int32, + ); + pub fn BufferManagerShmemInit(); + pub fn BufferManagerShmemSize() -> Size; + pub fn AtProcExit_LocalBuffers(); + pub fn GetAccessStrategy(btype: BufferAccessStrategyType::Type) -> BufferAccessStrategy; + pub fn GetAccessStrategyWithSize( + btype: BufferAccessStrategyType::Type, + ring_size_kb: ::core::ffi::c_int, + ) -> BufferAccessStrategy; + pub fn GetAccessStrategyBufferCount(strategy: BufferAccessStrategy) -> ::core::ffi::c_int; + pub fn GetAccessStrategyPinLimit(strategy: BufferAccessStrategy) -> ::core::ffi::c_int; + pub fn FreeAccessStrategy(strategy: BufferAccessStrategy); + pub fn block_range_read_stream_cb( + stream: *mut ReadStream, + callback_private_data: *mut ::core::ffi::c_void, + per_buffer_data: *mut ::core::ffi::c_void, + ) -> BlockNumber; + pub fn read_stream_begin_relation( + flags: ::core::ffi::c_int, + strategy: BufferAccessStrategy, + rel: Relation, + forknum: ForkNumber::Type, + callback: ReadStreamBlockNumberCB, + callback_private_data: *mut ::core::ffi::c_void, + per_buffer_data_size: usize, + ) -> *mut ReadStream; + pub fn read_stream_next_buffer( + stream: *mut ReadStream, + per_buffer_data: *mut *mut ::core::ffi::c_void, + ) -> Buffer; + pub fn read_stream_next_block( + stream: *mut ReadStream, + strategy: *mut BufferAccessStrategy, + ) -> BlockNumber; + pub fn read_stream_begin_smgr_relation( + flags: ::core::ffi::c_int, + strategy: BufferAccessStrategy, + smgr: SMgrRelation, + smgr_persistence: ::core::ffi::c_char, + forknum: ForkNumber::Type, + callback: ReadStreamBlockNumberCB, + callback_private_data: *mut ::core::ffi::c_void, + per_buffer_data_size: usize, + ) -> *mut ReadStream; + pub fn read_stream_reset(stream: *mut ReadStream); + pub fn read_stream_end(stream: *mut ReadStream); + pub static mut default_table_access_method: *mut ::core::ffi::c_char; + pub static mut synchronize_seqscans: bool; + pub fn table_slot_callbacks(relation: Relation) -> *const TupleTableSlotOps; + pub fn table_slot_create(relation: Relation, reglist: *mut *mut List) -> *mut TupleTableSlot; + pub fn table_beginscan_catalog( + relation: Relation, + nkeys: ::core::ffi::c_int, + key: *mut ScanKeyData, + ) -> TableScanDesc; + pub fn table_parallelscan_estimate(rel: Relation, snapshot: Snapshot) -> Size; + pub fn table_parallelscan_initialize( + rel: Relation, + pscan: ParallelTableScanDesc, + snapshot: Snapshot, + ); + pub fn table_beginscan_parallel( + relation: Relation, + pscan: ParallelTableScanDesc, + ) -> TableScanDesc; + pub fn table_index_fetch_tuple_check( + rel: Relation, + tid: ItemPointer, + snapshot: Snapshot, + all_dead: *mut bool, + ) -> bool; + pub fn table_tuple_get_latest_tid(scan: TableScanDesc, tid: ItemPointer); + pub fn simple_table_tuple_insert(rel: Relation, slot: *mut TupleTableSlot); + pub fn simple_table_tuple_delete(rel: Relation, tid: ItemPointer, snapshot: Snapshot); + pub fn simple_table_tuple_update( + rel: Relation, + otid: ItemPointer, + slot: *mut TupleTableSlot, + snapshot: Snapshot, + update_indexes: *mut TU_UpdateIndexes::Type, + ); + pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; + pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) + -> Size; + pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); + pub fn table_block_parallelscan_nextpage( + rel: Relation, + pbscanwork: ParallelBlockTableScanWorker, + pbscan: ParallelBlockTableScanDesc, + ) -> BlockNumber; + pub fn table_block_parallelscan_startblock_init( + rel: Relation, + pbscanwork: ParallelBlockTableScanWorker, + pbscan: ParallelBlockTableScanDesc, + ); + pub fn table_block_relation_size(rel: Relation, forkNumber: ForkNumber::Type) -> uint64; + pub fn table_block_relation_estimate_size( + rel: Relation, + attr_widths: *mut int32, + pages: *mut BlockNumber, + tuples: *mut f64, + allvisfrac: *mut f64, + overhead_bytes_per_tuple: Size, + usable_bytes_per_page: Size, + ); + pub fn GetTableAmRoutine(amhandler: Oid) -> *const TableAmRoutine; + pub fn GetHeapamTableAmRoutine() -> *const TableAmRoutine; + pub fn heap_beginscan( + relation: Relation, + snapshot: Snapshot, + nkeys: ::core::ffi::c_int, + key: ScanKey, + parallel_scan: ParallelTableScanDesc, + flags: uint32, + ) -> TableScanDesc; + pub fn heap_setscanlimits(sscan: TableScanDesc, startBlk: BlockNumber, numBlks: BlockNumber); + pub fn heap_prepare_pagescan(sscan: TableScanDesc); + pub fn heap_rescan( + sscan: TableScanDesc, + key: ScanKey, + set_params: bool, + allow_strat: bool, + allow_sync: bool, + allow_pagemode: bool, + ); + pub fn heap_endscan(sscan: TableScanDesc); + pub fn heap_getnext(sscan: TableScanDesc, direction: ScanDirection::Type) -> HeapTuple; + pub fn heap_getnextslot( + sscan: TableScanDesc, + direction: ScanDirection::Type, + slot: *mut TupleTableSlot, + ) -> bool; + pub fn heap_set_tidrange(sscan: TableScanDesc, mintid: ItemPointer, maxtid: ItemPointer); + pub fn heap_getnextslot_tidrange( + sscan: TableScanDesc, + direction: ScanDirection::Type, + slot: *mut TupleTableSlot, + ) -> bool; + pub fn heap_fetch( + relation: Relation, + snapshot: Snapshot, + tuple: HeapTuple, + userbuf: *mut Buffer, + keep_buf: bool, + ) -> bool; + pub fn heap_hot_search_buffer( + tid: ItemPointer, + relation: Relation, + buffer: Buffer, + snapshot: Snapshot, + heapTuple: HeapTuple, + all_dead: *mut bool, + first_call: bool, + ) -> bool; + pub fn heap_get_latest_tid(sscan: TableScanDesc, tid: ItemPointer); + pub fn GetBulkInsertState() -> BulkInsertState; + pub fn FreeBulkInsertState(arg1: BulkInsertState); + pub fn ReleaseBulkInsertStatePin(bistate: BulkInsertState); + pub fn heap_insert( + relation: Relation, + tup: HeapTuple, + cid: CommandId, + options: ::core::ffi::c_int, + bistate: BulkInsertState, + ); + pub fn heap_multi_insert( + relation: Relation, + slots: *mut *mut TupleTableSlot, + ntuples: ::core::ffi::c_int, + cid: CommandId, + options: ::core::ffi::c_int, + bistate: BulkInsertState, + ); + pub fn heap_delete( + relation: Relation, + tid: ItemPointer, + cid: CommandId, + crosscheck: Snapshot, + wait: bool, + tmfd: *mut TM_FailureData, + changingPart: bool, + ) -> TM_Result::Type; + pub fn heap_finish_speculative(relation: Relation, tid: ItemPointer); + pub fn heap_abort_speculative(relation: Relation, tid: ItemPointer); + pub fn heap_update( + relation: Relation, + otid: ItemPointer, + newtup: HeapTuple, + cid: CommandId, + crosscheck: Snapshot, + wait: bool, + tmfd: *mut TM_FailureData, + lockmode: *mut LockTupleMode::Type, + update_indexes: *mut TU_UpdateIndexes::Type, + ) -> TM_Result::Type; + pub fn heap_lock_tuple( + relation: Relation, + tuple: HeapTuple, + cid: CommandId, + mode: LockTupleMode::Type, + wait_policy: LockWaitPolicy::Type, + follow_updates: bool, + buffer: *mut Buffer, + tmfd: *mut TM_FailureData, + ) -> TM_Result::Type; + pub fn heap_inplace_lock( + relation: Relation, + oldtup_ptr: HeapTuple, + buffer: Buffer, + release_callback: ::core::option::Option< + unsafe extern "C-unwind" fn(arg1: *mut ::core::ffi::c_void), + >, + arg: *mut ::core::ffi::c_void, + ) -> bool; + pub fn heap_inplace_update_and_unlock( + relation: Relation, + oldtup: HeapTuple, + tuple: HeapTuple, + buffer: Buffer, + ); + pub fn heap_inplace_unlock(relation: Relation, oldtup: HeapTuple, buffer: Buffer); + pub fn heap_prepare_freeze_tuple( + tuple: HeapTupleHeader, + cutoffs: *const VacuumCutoffs, + pagefrz: *mut HeapPageFreeze, + frz: *mut HeapTupleFreeze, + totally_frozen: *mut bool, + ) -> bool; + pub fn heap_pre_freeze_checks( + buffer: Buffer, + tuples: *mut HeapTupleFreeze, + ntuples: ::core::ffi::c_int, + ); + pub fn heap_freeze_prepared_tuples( + buffer: Buffer, + tuples: *mut HeapTupleFreeze, + ntuples: ::core::ffi::c_int, + ); + pub fn heap_freeze_tuple( + tuple: HeapTupleHeader, + relfrozenxid: TransactionId, + relminmxid: TransactionId, + FreezeLimit: TransactionId, + MultiXactCutoff: TransactionId, + ) -> bool; + pub fn heap_tuple_should_freeze( + tuple: HeapTupleHeader, + cutoffs: *const VacuumCutoffs, + NoFreezePageRelfrozenXid: *mut TransactionId, + NoFreezePageRelminMxid: *mut MultiXactId, + ) -> bool; + pub fn heap_tuple_needs_eventual_freeze(tuple: HeapTupleHeader) -> bool; + pub fn simple_heap_insert(relation: Relation, tup: HeapTuple); + pub fn simple_heap_delete(relation: Relation, tid: ItemPointer); + pub fn simple_heap_update( + relation: Relation, + otid: ItemPointer, + tup: HeapTuple, + update_indexes: *mut TU_UpdateIndexes::Type, + ); + pub fn heap_index_delete_tuples( + rel: Relation, + delstate: *mut TM_IndexDeleteOp, + ) -> TransactionId; + pub fn heap_page_prune_opt(relation: Relation, buffer: Buffer); + pub fn heap_page_prune_and_freeze( + relation: Relation, + buffer: Buffer, + vistest: *mut GlobalVisState, + options: ::core::ffi::c_int, + cutoffs: *mut VacuumCutoffs, + presult: *mut PruneFreezeResult, + reason: PruneReason::Type, + off_loc: *mut OffsetNumber, + new_relfrozen_xid: *mut TransactionId, + new_relmin_mxid: *mut MultiXactId, + ); + pub fn heap_page_prune_execute( + buffer: Buffer, + lp_truncate_only: bool, + redirected: *mut OffsetNumber, + nredirected: ::core::ffi::c_int, + nowdead: *mut OffsetNumber, + ndead: ::core::ffi::c_int, + nowunused: *mut OffsetNumber, + nunused: ::core::ffi::c_int, + ); + pub fn heap_get_root_tuples(page: Page, root_offsets: *mut OffsetNumber); + pub fn log_heap_prune_and_freeze( + relation: Relation, + buffer: Buffer, + conflict_xid: TransactionId, + cleanup_lock: bool, + reason: PruneReason::Type, + frozen: *mut HeapTupleFreeze, + nfrozen: ::core::ffi::c_int, + redirected: *mut OffsetNumber, + nredirected: ::core::ffi::c_int, + dead: *mut OffsetNumber, + ndead: ::core::ffi::c_int, + unused: *mut OffsetNumber, + nunused: ::core::ffi::c_int, + ); + pub fn heap_vacuum_rel( + rel: Relation, + params: *mut VacuumParams, + bstrategy: BufferAccessStrategy, + ); + pub fn HeapTupleSatisfiesVisibility( + htup: HeapTuple, + snapshot: Snapshot, + buffer: Buffer, + ) -> bool; + pub fn HeapTupleSatisfiesUpdate( + htup: HeapTuple, + curcid: CommandId, + buffer: Buffer, + ) -> TM_Result::Type; + pub fn HeapTupleSatisfiesVacuum( + htup: HeapTuple, + OldestXmin: TransactionId, + buffer: Buffer, + ) -> HTSV_Result::Type; + pub fn HeapTupleSatisfiesVacuumHorizon( + htup: HeapTuple, + buffer: Buffer, + dead_after: *mut TransactionId, + ) -> HTSV_Result::Type; + pub fn HeapTupleSetHintBits( + tuple: HeapTupleHeader, + buffer: Buffer, + infomask: uint16, + xid: TransactionId, + ); + pub fn HeapTupleHeaderIsOnlyLocked(tuple: HeapTupleHeader) -> bool; + pub fn HeapTupleIsSurelyDead(htup: HeapTuple, vistest: *mut GlobalVisState) -> bool; + pub fn ResolveCminCmaxDuringDecoding( + tuplecid_data: *mut HTAB, + snapshot: Snapshot, + htup: HeapTuple, + buffer: Buffer, + cmin: *mut CommandId, + cmax: *mut CommandId, + ) -> bool; + pub fn HeapCheckForSerializableConflictOut( + visible: bool, + relation: Relation, + tuple: HeapTuple, + buffer: Buffer, + snapshot: Snapshot, + ); + pub fn InitSync(); + pub fn SyncPreCheckpoint(); + pub fn SyncPostCheckpoint(); + pub fn ProcessSyncRequests(); + pub fn RememberSyncRequest(ftag: *const FileTag, type_: SyncRequestType::Type); + pub fn RegisterSyncRequest( + ftag: *const FileTag, + type_: SyncRequestType::Type, + retryOnError: bool, + ) -> bool; + pub fn MultiXactIdCreate( + xid1: TransactionId, + status1: MultiXactStatus::Type, + xid2: TransactionId, + status2: MultiXactStatus::Type, + ) -> MultiXactId; + pub fn MultiXactIdExpand( + multi: MultiXactId, + xid: TransactionId, + status: MultiXactStatus::Type, + ) -> MultiXactId; + pub fn MultiXactIdCreateFromMembers( + nmembers: ::core::ffi::c_int, + members: *mut MultiXactMember, + ) -> MultiXactId; + pub fn ReadNextMultiXactId() -> MultiXactId; + pub fn ReadMultiXactIdRange(oldest: *mut MultiXactId, next: *mut MultiXactId); + pub fn MultiXactIdIsRunning(multi: MultiXactId, isLockOnly: bool) -> bool; + pub fn MultiXactIdSetOldestMember(); + pub fn GetMultiXactIdMembers( + multi: MultiXactId, + members: *mut *mut MultiXactMember, + from_pgupgrade: bool, + isLockOnly: bool, + ) -> ::core::ffi::c_int; + pub fn MultiXactIdPrecedes(multi1: MultiXactId, multi2: MultiXactId) -> bool; + pub fn MultiXactIdPrecedesOrEquals(multi1: MultiXactId, multi2: MultiXactId) -> bool; + pub fn multixactoffsetssyncfiletag( + ftag: *const FileTag, + path: *mut ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn multixactmemberssyncfiletag( + ftag: *const FileTag, + path: *mut ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn AtEOXact_MultiXact(); + pub fn AtPrepare_MultiXact(); + pub fn PostPrepare_MultiXact(xid: TransactionId); + pub fn MultiXactShmemSize() -> Size; + pub fn MultiXactShmemInit(); + pub fn BootStrapMultiXact(); + pub fn StartupMultiXact(); + pub fn TrimMultiXact(); + pub fn SetMultiXactIdLimit( + oldest_datminmxid: MultiXactId, + oldest_datoid: Oid, + is_startup: bool, + ); + pub fn MultiXactGetCheckptMulti( + is_shutdown: bool, + nextMulti: *mut MultiXactId, + nextMultiOffset: *mut MultiXactOffset, + oldestMulti: *mut MultiXactId, + oldestMultiDB: *mut Oid, + ); + pub fn CheckPointMultiXact(); + pub fn GetOldestMultiXactId() -> MultiXactId; + pub fn TruncateMultiXact(newOldestMulti: MultiXactId, newOldestMultiDB: Oid); + pub fn MultiXactSetNextMXact(nextMulti: MultiXactId, nextMultiOffset: MultiXactOffset); + pub fn MultiXactAdvanceNextMXact(minMulti: MultiXactId, minMultiOffset: MultiXactOffset); + pub fn MultiXactAdvanceOldest(oldestMulti: MultiXactId, oldestMultiDB: Oid); + pub fn MultiXactMemberFreezeThreshold() -> ::core::ffi::c_int; + pub fn multixact_twophase_recover( + xid: TransactionId, + info: uint16, + recdata: *mut ::core::ffi::c_void, + len: uint32, + ); + pub fn multixact_twophase_postcommit( + xid: TransactionId, + info: uint16, + recdata: *mut ::core::ffi::c_void, + len: uint32, + ); + pub fn multixact_twophase_postabort( + xid: TransactionId, + info: uint16, + recdata: *mut ::core::ffi::c_void, + len: uint32, + ); + pub fn multixact_redo(record: *mut XLogReaderState); + pub fn multixact_desc(buf: StringInfo, record: *mut XLogReaderState); + pub fn multixact_identify(info: uint8) -> *const ::core::ffi::c_char; + pub fn mxid_to_string( + multi: MultiXactId, + nmembers: ::core::ffi::c_int, + members: *mut MultiXactMember, + ) -> *mut ::core::ffi::c_char; + pub fn add_reloption_kind() -> relopt_kind::Type; + pub fn add_bool_reloption( + kinds: bits32, + name: *const ::core::ffi::c_char, + desc: *const ::core::ffi::c_char, + default_val: bool, + lockmode: LOCKMODE, + ); + pub fn add_int_reloption( + kinds: bits32, + name: *const ::core::ffi::c_char, + desc: *const ::core::ffi::c_char, + default_val: ::core::ffi::c_int, + min_val: ::core::ffi::c_int, + max_val: ::core::ffi::c_int, + lockmode: LOCKMODE, + ); + pub fn add_real_reloption( + kinds: bits32, + name: *const ::core::ffi::c_char, + desc: *const ::core::ffi::c_char, + default_val: f64, + min_val: f64, + max_val: f64, + lockmode: LOCKMODE, + ); + pub fn add_enum_reloption( + kinds: bits32, + name: *const ::core::ffi::c_char, + desc: *const ::core::ffi::c_char, + members: *mut relopt_enum_elt_def, + default_val: ::core::ffi::c_int, + detailmsg: *const ::core::ffi::c_char, + lockmode: LOCKMODE, + ); + pub fn add_string_reloption( + kinds: bits32, + name: *const ::core::ffi::c_char, + desc: *const ::core::ffi::c_char, + default_val: *const ::core::ffi::c_char, + validator: validate_string_relopt, + lockmode: LOCKMODE, + ); + pub fn init_local_reloptions(relopts: *mut local_relopts, relopt_struct_size: Size); + pub fn register_reloptions_validator(relopts: *mut local_relopts, validator: relopts_validator); + pub fn add_local_bool_reloption( + relopts: *mut local_relopts, + name: *const ::core::ffi::c_char, + desc: *const ::core::ffi::c_char, + default_val: bool, + offset: ::core::ffi::c_int, + ); + pub fn add_local_int_reloption( + relopts: *mut local_relopts, + name: *const ::core::ffi::c_char, + desc: *const ::core::ffi::c_char, + default_val: ::core::ffi::c_int, + min_val: ::core::ffi::c_int, + max_val: ::core::ffi::c_int, + offset: ::core::ffi::c_int, + ); + pub fn add_local_real_reloption( + relopts: *mut local_relopts, + name: *const ::core::ffi::c_char, + desc: *const ::core::ffi::c_char, + default_val: f64, + min_val: f64, + max_val: f64, + offset: ::core::ffi::c_int, + ); + pub fn add_local_enum_reloption( + relopts: *mut local_relopts, + name: *const ::core::ffi::c_char, + desc: *const ::core::ffi::c_char, + members: *mut relopt_enum_elt_def, + default_val: ::core::ffi::c_int, + detailmsg: *const ::core::ffi::c_char, + offset: ::core::ffi::c_int, + ); + pub fn add_local_string_reloption( + relopts: *mut local_relopts, + name: *const ::core::ffi::c_char, + desc: *const ::core::ffi::c_char, + default_val: *const ::core::ffi::c_char, + validator: validate_string_relopt, + filler: fill_string_relopt, + offset: ::core::ffi::c_int, + ); + pub fn transformRelOptions( + oldOptions: Datum, + defList: *mut List, + namspace: *const ::core::ffi::c_char, + validnsps: *const *const ::core::ffi::c_char, + acceptOidsOff: bool, + isReset: bool, + ) -> Datum; + pub fn untransformRelOptions(options: Datum) -> *mut List; + pub fn extractRelOptions( + tuple: HeapTuple, + tupdesc: TupleDesc, + amoptions: amoptions_function, + ) -> *mut bytea; + pub fn build_reloptions( + reloptions: Datum, + validate: bool, + kind: relopt_kind::Type, + relopt_struct_size: Size, + relopt_elems: *const relopt_parse_elt, + num_relopt_elems: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void; + pub fn build_local_reloptions( + relopts: *mut local_relopts, + options: Datum, + validate: bool, + ) -> *mut ::core::ffi::c_void; + pub fn default_reloptions( + reloptions: Datum, + validate: bool, + kind: relopt_kind::Type, + ) -> *mut bytea; + pub fn heap_reloptions( + relkind: ::core::ffi::c_char, + reloptions: Datum, + validate: bool, + ) -> *mut bytea; + pub fn view_reloptions(reloptions: Datum, validate: bool) -> *mut bytea; + pub fn partitioned_table_reloptions(reloptions: Datum, validate: bool) -> *mut bytea; + pub fn index_reloptions( + amoptions: amoptions_function, + reloptions: Datum, + validate: bool, + ) -> *mut bytea; + pub fn attribute_reloptions(reloptions: Datum, validate: bool) -> *mut bytea; + pub fn tablespace_reloptions(reloptions: Datum, validate: bool) -> *mut bytea; + pub fn AlterTableGetRelOptionsLockLevel(defList: *mut List) -> LOCKMODE; + pub fn visibilitymap_clear( + rel: Relation, + heapBlk: BlockNumber, + vmbuf: Buffer, + flags: uint8, + ) -> bool; + pub fn visibilitymap_pin(rel: Relation, heapBlk: BlockNumber, vmbuf: *mut Buffer); + pub fn visibilitymap_pin_ok(heapBlk: BlockNumber, vmbuf: Buffer) -> bool; + pub fn visibilitymap_set( + rel: Relation, + heapBlk: BlockNumber, + heapBuf: Buffer, + recptr: XLogRecPtr, + vmBuf: Buffer, + cutoff_xid: TransactionId, + flags: uint8, + ) -> uint8; + pub fn visibilitymap_get_status( + rel: Relation, + heapBlk: BlockNumber, + vmbuf: *mut Buffer, + ) -> uint8; + pub fn visibilitymap_count( + rel: Relation, + all_visible: *mut BlockNumber, + all_frozen: *mut BlockNumber, + ); + pub fn visibilitymap_prepare_truncate(rel: Relation, nheapblocks: BlockNumber) -> BlockNumber; + pub static mut RmgrTable: [RmgrData; 0usize]; + pub fn RmgrStartup(); + pub fn RmgrCleanup(); + pub fn RmgrNotFound(rmid: RmgrId); + pub fn RegisterCustomRmgr(rmid: RmgrId, rmgr: *const RmgrData); + pub fn GetLastSegSwitchData(lastSwitchLSN: *mut XLogRecPtr) -> pg_time_t; + pub fn RequestXLogSwitch(mark_unimportant: bool) -> XLogRecPtr; + pub fn GetOldestRestartPoint(oldrecptr: *mut XLogRecPtr, oldtli: *mut TimeLineID); + pub fn XLogRecGetBlockRefInfo( + record: *mut XLogReaderState, + pretty: bool, + detailed_format: bool, + buf: StringInfo, + fpi_len: *mut uint32, + ); + pub static mut ArchiveRecoveryRequested: bool; + pub static mut InArchiveRecovery: bool; + pub static mut StandbyMode: bool; + pub static mut recoveryRestoreCommand: *mut ::core::ffi::c_char; + pub static mut recoveryTargetInclusive: bool; + pub static mut recoveryTargetAction: ::core::ffi::c_int; + pub static mut recovery_min_apply_delay: ::core::ffi::c_int; + pub static mut PrimaryConnInfo: *mut ::core::ffi::c_char; + pub static mut PrimarySlotName: *mut ::core::ffi::c_char; + pub static mut recoveryEndCommand: *mut ::core::ffi::c_char; + pub static mut archiveCleanupCommand: *mut ::core::ffi::c_char; + pub static mut recoveryTargetXid: TransactionId; + pub static mut recovery_target_time_string: *mut ::core::ffi::c_char; + pub static mut recoveryTargetTime: TimestampTz; + pub static mut recoveryTargetName: *const ::core::ffi::c_char; + pub static mut recoveryTargetLSN: XLogRecPtr; + pub static mut recoveryTarget: RecoveryTargetType::Type; + pub static mut wal_receiver_create_temp_slot: bool; + pub static mut recoveryTargetTimeLineGoal: RecoveryTargetTimeLineGoal::Type; + pub static mut recoveryTargetTLIRequested: TimeLineID; + pub static mut recoveryTargetTLI: TimeLineID; + pub static mut reachedConsistency: bool; + pub fn XLogRecoveryShmemSize() -> Size; + pub fn XLogRecoveryShmemInit(); + pub fn InitWalRecovery( + ControlFile: *mut ControlFileData, + wasShutdown_ptr: *mut bool, + haveBackupLabel_ptr: *mut bool, + haveTblspcMap_ptr: *mut bool, + ); + pub fn PerformWalRecovery(); + pub fn FinishWalRecovery() -> *mut EndOfWalRecoveryInfo; + pub fn ShutdownWalRecovery(); + pub fn RemovePromoteSignalFiles(); + pub fn HotStandbyActive() -> bool; + pub fn GetXLogReplayRecPtr(replayTLI: *mut TimeLineID) -> XLogRecPtr; + pub fn GetRecoveryPauseState() -> RecoveryPauseState::Type; + pub fn SetRecoveryPause(recoveryPause: bool); + pub fn GetXLogReceiptTime(rtime: *mut TimestampTz, fromStream: *mut bool); + pub fn GetLatestXTime() -> TimestampTz; + pub fn GetCurrentChunkReplayStartTime() -> TimestampTz; + pub fn GetCurrentReplayRecPtr(replayEndTLI: *mut TimeLineID) -> XLogRecPtr; + pub fn PromoteIsTriggered() -> bool; + pub fn CheckPromoteSignal() -> bool; + pub fn WakeupRecovery(); + pub fn StartupRequestWalReceiverRestart(); + pub fn XLogRequestWalReceiverReply(); + pub fn RecoveryRequiresIntParameter( + param_name: *const ::core::ffi::c_char, + currValue: ::core::ffi::c_int, + minValue: ::core::ffi::c_int, + ); + pub fn xlog_outdesc(buf: StringInfo, record: *mut XLogReaderState); + pub static mut ignore_invalid_pages: bool; + pub static mut InRecovery: bool; + pub static mut standbyState: HotStandbyState::Type; + pub fn XLogHaveInvalidPages() -> bool; + pub fn XLogCheckInvalidPages(); + pub fn XLogDropRelation(rlocator: RelFileLocator, forknum: ForkNumber::Type); + pub fn XLogDropDatabase(dbid: Oid); + pub fn XLogTruncateRelation( + rlocator: RelFileLocator, + forkNum: ForkNumber::Type, + nblocks: BlockNumber, + ); + pub fn XLogReadBufferForRedo( + record: *mut XLogReaderState, + block_id: uint8, + buf: *mut Buffer, + ) -> XLogRedoAction::Type; + pub fn XLogInitBufferForRedo(record: *mut XLogReaderState, block_id: uint8) -> Buffer; + pub fn XLogReadBufferForRedoExtended( + record: *mut XLogReaderState, + block_id: uint8, + mode: ReadBufferMode::Type, + get_cleanup_lock: bool, + buf: *mut Buffer, + ) -> XLogRedoAction::Type; + pub fn XLogReadBufferExtended( + rlocator: RelFileLocator, + forknum: ForkNumber::Type, + blkno: BlockNumber, + mode: ReadBufferMode::Type, + recent_buffer: Buffer, + ) -> Buffer; + pub fn CreateFakeRelcacheEntry(rlocator: RelFileLocator) -> Relation; + pub fn FreeFakeRelcacheEntry(fakerel: Relation); + pub fn read_local_xlog_page( + state: *mut XLogReaderState, + targetPagePtr: XLogRecPtr, + reqLen: ::core::ffi::c_int, + targetRecPtr: XLogRecPtr, + cur_page: *mut ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn read_local_xlog_page_no_wait( + state: *mut XLogReaderState, + targetPagePtr: XLogRecPtr, + reqLen: ::core::ffi::c_int, + targetRecPtr: XLogRecPtr, + cur_page: *mut ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn wal_segment_open( + state: *mut XLogReaderState, + nextSegNo: XLogSegNo, + tli_p: *mut TimeLineID, + ); + pub fn wal_segment_close(state: *mut XLogReaderState); + pub fn XLogReadDetermineTimeline( + state: *mut XLogReaderState, + wantPage: XLogRecPtr, + wantLength: uint32, + currTLI: TimeLineID, + ); + pub fn WALReadRaiseError(errinfo: *mut WALReadError); + pub fn AcquireDeletionLock(object: *const ObjectAddress, flags: ::core::ffi::c_int); + pub fn ReleaseDeletionLock(object: *const ObjectAddress); + pub fn performDeletion( + object: *const ObjectAddress, + behavior: DropBehavior::Type, + flags: ::core::ffi::c_int, + ); + pub fn performMultipleDeletions( + objects: *const ObjectAddresses, + behavior: DropBehavior::Type, + flags: ::core::ffi::c_int, + ); + pub fn recordDependencyOnExpr( + depender: *const ObjectAddress, + expr: *mut Node, + rtable: *mut List, + behavior: DependencyType::Type, + ); + pub fn recordDependencyOnSingleRelExpr( + depender: *const ObjectAddress, + expr: *mut Node, + relId: Oid, + behavior: DependencyType::Type, + self_behavior: DependencyType::Type, + reverse_self: bool, + ); + pub fn new_object_addresses() -> *mut ObjectAddresses; + pub fn add_exact_object_address(object: *const ObjectAddress, addrs: *mut ObjectAddresses); + pub fn object_address_present( + object: *const ObjectAddress, + addrs: *const ObjectAddresses, + ) -> bool; + pub fn record_object_address_dependencies( + depender: *const ObjectAddress, + referenced: *mut ObjectAddresses, + behavior: DependencyType::Type, + ); + pub fn sort_object_addresses(addrs: *mut ObjectAddresses); + pub fn free_object_addresses(addrs: *mut ObjectAddresses); + pub fn recordDependencyOn( + depender: *const ObjectAddress, + referenced: *const ObjectAddress, + behavior: DependencyType::Type, + ); + pub fn recordMultipleDependencies( + depender: *const ObjectAddress, + referenced: *const ObjectAddress, + nreferenced: ::core::ffi::c_int, + behavior: DependencyType::Type, + ); + pub fn recordDependencyOnCurrentExtension(object: *const ObjectAddress, isReplace: bool); + pub fn checkMembershipInCurrentExtension(object: *const ObjectAddress); + pub fn deleteDependencyRecordsFor( + classId: Oid, + objectId: Oid, + skipExtensionDeps: bool, + ) -> ::core::ffi::c_long; + pub fn deleteDependencyRecordsForClass( + classId: Oid, + objectId: Oid, + refclassId: Oid, + deptype: ::core::ffi::c_char, + ) -> ::core::ffi::c_long; + pub fn deleteDependencyRecordsForSpecific( + classId: Oid, + objectId: Oid, + deptype: ::core::ffi::c_char, + refclassId: Oid, + refobjectId: Oid, + ) -> ::core::ffi::c_long; + pub fn changeDependencyFor( + classId: Oid, + objectId: Oid, + refClassId: Oid, + oldRefObjectId: Oid, + newRefObjectId: Oid, + ) -> ::core::ffi::c_long; + pub fn changeDependenciesOf( + classId: Oid, + oldObjectId: Oid, + newObjectId: Oid, + ) -> ::core::ffi::c_long; + pub fn changeDependenciesOn( + refClassId: Oid, + oldRefObjectId: Oid, + newRefObjectId: Oid, + ) -> ::core::ffi::c_long; + pub fn getExtensionOfObject(classId: Oid, objectId: Oid) -> Oid; + pub fn getAutoExtensionsOfObject(classId: Oid, objectId: Oid) -> *mut List; + pub fn sequenceIsOwned( + seqId: Oid, + deptype: ::core::ffi::c_char, + tableId: *mut Oid, + colId: *mut int32, + ) -> bool; + pub fn getOwnedSequences(relid: Oid) -> *mut List; + pub fn getIdentitySequence(rel: Relation, attnum: AttrNumber, missing_ok: bool) -> Oid; + pub fn get_index_constraint(indexId: Oid) -> Oid; + pub fn get_index_ref_constraints(indexId: Oid) -> *mut List; + pub fn recordSharedDependencyOn( + depender: *mut ObjectAddress, + referenced: *mut ObjectAddress, + deptype: SharedDependencyType::Type, + ); + pub fn deleteSharedDependencyRecordsFor(classId: Oid, objectId: Oid, objectSubId: int32); + pub fn recordDependencyOnOwner(classId: Oid, objectId: Oid, owner: Oid); + pub fn changeDependencyOnOwner(classId: Oid, objectId: Oid, newOwnerId: Oid); + pub fn recordDependencyOnTablespace(classId: Oid, objectId: Oid, tablespace: Oid); + pub fn changeDependencyOnTablespace(classId: Oid, objectId: Oid, newTablespaceId: Oid); + pub fn updateAclDependencies( + classId: Oid, + objectId: Oid, + objsubId: int32, + ownerId: Oid, + noldmembers: ::core::ffi::c_int, + oldmembers: *mut Oid, + nnewmembers: ::core::ffi::c_int, + newmembers: *mut Oid, + ); + pub fn updateInitAclDependencies( + classId: Oid, + objectId: Oid, + objsubId: int32, + noldmembers: ::core::ffi::c_int, + oldmembers: *mut Oid, + nnewmembers: ::core::ffi::c_int, + newmembers: *mut Oid, + ); + pub fn checkSharedDependencies( + classId: Oid, + objectId: Oid, + detail_msg: *mut *mut ::core::ffi::c_char, + detail_log_msg: *mut *mut ::core::ffi::c_char, + ) -> bool; + pub fn shdepLockAndCheckObject(classId: Oid, objectId: Oid); + pub fn copyTemplateDependencies(templateDbId: Oid, newDbId: Oid); + pub fn dropDatabaseDependencies(databaseId: Oid); + pub fn shdepDropOwned(roleids: *mut List, behavior: DropBehavior::Type); + pub fn shdepReassignOwned(roleids: *mut List, newrole: Oid); + pub fn index_check_primary_key( + heapRel: Relation, + indexInfo: *const IndexInfo, + is_alter_table: bool, + stmt: *const IndexStmt, + ); + pub fn index_create( + heapRelation: Relation, + indexRelationName: *const ::core::ffi::c_char, + indexRelationId: Oid, + parentIndexRelid: Oid, + parentConstraintId: Oid, + relFileNumber: RelFileNumber, + indexInfo: *mut IndexInfo, + indexColNames: *const List, + accessMethodId: Oid, + tableSpaceId: Oid, + collationIds: *const Oid, + opclassIds: *const Oid, + opclassOptions: *const Datum, + coloptions: *const int16, + stattargets: *const NullableDatum, + reloptions: Datum, + flags: bits16, + constr_flags: bits16, + allow_system_table_mods: bool, + is_internal: bool, + constraintId: *mut Oid, + ) -> Oid; + pub fn index_concurrently_create_copy( + heapRelation: Relation, + oldIndexId: Oid, + tablespaceOid: Oid, + newName: *const ::core::ffi::c_char, + ) -> Oid; + pub fn index_concurrently_build(heapRelationId: Oid, indexRelationId: Oid); + pub fn index_concurrently_swap( + newIndexId: Oid, + oldIndexId: Oid, + oldName: *const ::core::ffi::c_char, + ); + pub fn index_concurrently_set_dead(heapId: Oid, indexId: Oid); + pub fn index_constraint_create( + heapRelation: Relation, + indexRelationId: Oid, + parentConstraintId: Oid, + indexInfo: *const IndexInfo, + constraintName: *const ::core::ffi::c_char, + constraintType: ::core::ffi::c_char, + constr_flags: bits16, + allow_system_table_mods: bool, + is_internal: bool, + ) -> ObjectAddress; + pub fn index_drop(indexId: Oid, concurrent: bool, concurrent_lock_mode: bool); + pub fn BuildIndexInfo(index: Relation) -> *mut IndexInfo; + pub fn BuildDummyIndexInfo(index: Relation) -> *mut IndexInfo; + pub fn CompareIndexInfo( + info1: *const IndexInfo, + info2: *const IndexInfo, + collations1: *const Oid, + collations2: *const Oid, + opfamilies1: *const Oid, + opfamilies2: *const Oid, + attmap: *const AttrMap, + ) -> bool; + pub fn BuildSpeculativeIndexInfo(index: Relation, ii: *mut IndexInfo); + pub fn FormIndexDatum( + indexInfo: *mut IndexInfo, + slot: *mut TupleTableSlot, + estate: *mut EState, + values: *mut Datum, + isnull: *mut bool, + ); + pub fn index_build( + heapRelation: Relation, + indexRelation: Relation, + indexInfo: *mut IndexInfo, + isreindex: bool, + parallel: bool, + ); + pub fn validate_index(heapId: Oid, indexId: Oid, snapshot: Snapshot); + pub fn index_set_state_flags(indexId: Oid, action: IndexStateFlagsAction::Type); + pub fn IndexGetRelation(indexId: Oid, missing_ok: bool) -> Oid; + pub fn reindex_index( + stmt: *const ReindexStmt, + indexId: Oid, + skip_constraint_checks: bool, + persistence: ::core::ffi::c_char, + params: *const ReindexParams, + ); + pub fn reindex_relation( + stmt: *const ReindexStmt, + relid: Oid, + flags: ::core::ffi::c_int, + params: *const ReindexParams, + ) -> bool; + pub fn ReindexIsProcessingHeap(heapOid: Oid) -> bool; + pub fn ReindexIsProcessingIndex(indexOid: Oid) -> bool; + pub fn ResetReindexState(nestLevel: ::core::ffi::c_int); + pub fn EstimateReindexStateSpace() -> Size; + pub fn SerializeReindexState(maxsize: Size, start_address: *mut ::core::ffi::c_char); + pub fn RestoreReindexState(reindexstate: *const ::core::ffi::c_void); + pub fn IndexSetParentIndex(partitionIdx: Relation, parentOid: Oid); + pub fn CatalogOpenIndexes(heapRel: Relation) -> CatalogIndexState; + pub fn CatalogCloseIndexes(indstate: CatalogIndexState); + pub fn CatalogTupleInsert(heapRel: Relation, tup: HeapTuple); + pub fn CatalogTupleInsertWithInfo( + heapRel: Relation, + tup: HeapTuple, + indstate: CatalogIndexState, + ); + pub fn CatalogTuplesMultiInsertWithInfo( + heapRel: Relation, + slot: *mut *mut TupleTableSlot, + ntuples: ::core::ffi::c_int, + indstate: CatalogIndexState, + ); + pub fn CatalogTupleUpdate(heapRel: Relation, otid: ItemPointer, tup: HeapTuple); + pub fn CatalogTupleUpdateWithInfo( + heapRel: Relation, + otid: ItemPointer, + tup: HeapTuple, + indstate: CatalogIndexState, + ); + pub fn CatalogTupleDelete(heapRel: Relation, tid: ItemPointer); + pub fn RangeVarGetRelidExtended( + relation: *const RangeVar, + lockmode: LOCKMODE, + flags: uint32, + callback: RangeVarGetRelidCallback, + callback_arg: *mut ::core::ffi::c_void, + ) -> Oid; + pub fn RangeVarGetCreationNamespace(newRelation: *const RangeVar) -> Oid; + pub fn RangeVarGetAndCheckCreationNamespace( + relation: *mut RangeVar, + lockmode: LOCKMODE, + existing_relation_id: *mut Oid, + ) -> Oid; + pub fn RangeVarAdjustRelationPersistence(newRelation: *mut RangeVar, nspid: Oid); + pub fn RelnameGetRelid(relname: *const ::core::ffi::c_char) -> Oid; + pub fn RelationIsVisible(relid: Oid) -> bool; + pub fn TypenameGetTypid(typname: *const ::core::ffi::c_char) -> Oid; + pub fn TypenameGetTypidExtended(typname: *const ::core::ffi::c_char, temp_ok: bool) -> Oid; + pub fn TypeIsVisible(typid: Oid) -> bool; + pub fn FuncnameGetCandidates( + names: *mut List, + nargs: ::core::ffi::c_int, + argnames: *mut List, + expand_variadic: bool, + expand_defaults: bool, + include_out_arguments: bool, + missing_ok: bool, + ) -> FuncCandidateList; + pub fn FunctionIsVisible(funcid: Oid) -> bool; + pub fn OpernameGetOprid(names: *mut List, oprleft: Oid, oprright: Oid) -> Oid; + pub fn OpernameGetCandidates( + names: *mut List, + oprkind: ::core::ffi::c_char, + missing_schema_ok: bool, + ) -> FuncCandidateList; + pub fn OperatorIsVisible(oprid: Oid) -> bool; + pub fn OpclassnameGetOpcid(amid: Oid, opcname: *const ::core::ffi::c_char) -> Oid; + pub fn OpclassIsVisible(opcid: Oid) -> bool; + pub fn OpfamilynameGetOpfid(amid: Oid, opfname: *const ::core::ffi::c_char) -> Oid; + pub fn OpfamilyIsVisible(opfid: Oid) -> bool; + pub fn CollationGetCollid(collname: *const ::core::ffi::c_char) -> Oid; + pub fn CollationIsVisible(collid: Oid) -> bool; + pub fn ConversionGetConid(conname: *const ::core::ffi::c_char) -> Oid; + pub fn ConversionIsVisible(conid: Oid) -> bool; + pub fn get_statistics_object_oid(names: *mut List, missing_ok: bool) -> Oid; + pub fn StatisticsObjIsVisible(stxid: Oid) -> bool; + pub fn get_ts_parser_oid(names: *mut List, missing_ok: bool) -> Oid; + pub fn TSParserIsVisible(prsId: Oid) -> bool; + pub fn get_ts_dict_oid(names: *mut List, missing_ok: bool) -> Oid; + pub fn TSDictionaryIsVisible(dictId: Oid) -> bool; + pub fn get_ts_template_oid(names: *mut List, missing_ok: bool) -> Oid; + pub fn TSTemplateIsVisible(tmplId: Oid) -> bool; + pub fn get_ts_config_oid(names: *mut List, missing_ok: bool) -> Oid; + pub fn TSConfigIsVisible(cfgid: Oid) -> bool; + pub fn DeconstructQualifiedName( + names: *const List, + nspname_p: *mut *mut ::core::ffi::c_char, + objname_p: *mut *mut ::core::ffi::c_char, + ); + pub fn LookupNamespaceNoError(nspname: *const ::core::ffi::c_char) -> Oid; + pub fn LookupExplicitNamespace(nspname: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn get_namespace_oid(nspname: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn LookupCreationNamespace(nspname: *const ::core::ffi::c_char) -> Oid; + pub fn CheckSetNamespace(oldNspOid: Oid, nspOid: Oid); + pub fn QualifiedNameGetCreationNamespace( + names: *const List, + objname_p: *mut *mut ::core::ffi::c_char, + ) -> Oid; + pub fn makeRangeVarFromNameList(names: *const List) -> *mut RangeVar; + pub fn NameListToString(names: *const List) -> *mut ::core::ffi::c_char; + pub fn NameListToQuotedString(names: *const List) -> *mut ::core::ffi::c_char; + pub fn isTempNamespace(namespaceId: Oid) -> bool; + pub fn isTempToastNamespace(namespaceId: Oid) -> bool; + pub fn isTempOrTempToastNamespace(namespaceId: Oid) -> bool; + pub fn isAnyTempNamespace(namespaceId: Oid) -> bool; + pub fn isOtherTempNamespace(namespaceId: Oid) -> bool; + pub fn checkTempNamespaceStatus(namespaceId: Oid) -> TempNamespaceStatus::Type; + pub fn GetTempNamespaceProcNumber(namespaceId: Oid) -> ProcNumber; + pub fn GetTempToastNamespace() -> Oid; + pub fn GetTempNamespaceState(tempNamespaceId: *mut Oid, tempToastNamespaceId: *mut Oid); + pub fn SetTempNamespaceState(tempNamespaceId: Oid, tempToastNamespaceId: Oid); + pub fn ResetTempTableNamespace(); + pub fn GetSearchPathMatcher(context: MemoryContext) -> *mut SearchPathMatcher; + pub fn CopySearchPathMatcher(path: *mut SearchPathMatcher) -> *mut SearchPathMatcher; + pub fn SearchPathMatchesCurrentEnvironment(path: *mut SearchPathMatcher) -> bool; + pub fn get_collation_oid(collname: *mut List, missing_ok: bool) -> Oid; + pub fn get_conversion_oid(conname: *mut List, missing_ok: bool) -> Oid; + pub fn FindDefaultConversionProc(for_encoding: int32, to_encoding: int32) -> Oid; + pub fn InitializeSearchPath(); + pub fn AtEOXact_Namespace(isCommit: bool, parallel: bool); + pub fn AtEOSubXact_Namespace( + isCommit: bool, + mySubid: SubTransactionId, + parentSubid: SubTransactionId, + ); + pub static mut namespace_search_path: *mut ::core::ffi::c_char; + pub fn fetch_search_path(includeImplicit: bool) -> *mut List; + pub fn fetch_search_path_array( + sarray: *mut Oid, + sarray_len: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub static mut object_access_hook: object_access_hook_type; + pub static mut object_access_hook_str: object_access_hook_type_str; + pub fn RunObjectPostCreateHook( + classId: Oid, + objectId: Oid, + subId: ::core::ffi::c_int, + is_internal: bool, + ); + pub fn RunObjectDropHook( + classId: Oid, + objectId: Oid, + subId: ::core::ffi::c_int, + dropflags: ::core::ffi::c_int, + ); + pub fn RunObjectTruncateHook(objectId: Oid); + pub fn RunObjectPostAlterHook( + classId: Oid, + objectId: Oid, + subId: ::core::ffi::c_int, + auxiliaryId: Oid, + is_internal: bool, + ); + pub fn RunNamespaceSearchHook(objectId: Oid, ereport_on_violation: bool) -> bool; + pub fn RunFunctionExecuteHook(objectId: Oid); + pub fn RunObjectPostCreateHookStr( + classId: Oid, + objectName: *const ::core::ffi::c_char, + subId: ::core::ffi::c_int, + is_internal: bool, + ); + pub fn RunObjectDropHookStr( + classId: Oid, + objectName: *const ::core::ffi::c_char, + subId: ::core::ffi::c_int, + dropflags: ::core::ffi::c_int, + ); + pub fn RunObjectTruncateHookStr(objectName: *const ::core::ffi::c_char); + pub fn RunObjectPostAlterHookStr( + classId: Oid, + objectName: *const ::core::ffi::c_char, + subId: ::core::ffi::c_int, + auxiliaryId: Oid, + is_internal: bool, + ); + pub fn RunNamespaceSearchHookStr( + objectName: *const ::core::ffi::c_char, + ereport_on_violation: bool, + ) -> bool; + pub fn RunFunctionExecuteHookStr(objectName: *const ::core::ffi::c_char); + pub fn CollationCreate( + collname: *const ::core::ffi::c_char, + collnamespace: Oid, + collowner: Oid, + collprovider: ::core::ffi::c_char, + collisdeterministic: bool, + collencoding: int32, + collcollate: *const ::core::ffi::c_char, + collctype: *const ::core::ffi::c_char, + colllocale: *const ::core::ffi::c_char, + collicurules: *const ::core::ffi::c_char, + collversion: *const ::core::ffi::c_char, + if_not_exists: bool, + quiet: bool, + ) -> Oid; + pub fn database_is_invalid_form(datform: Form_pg_database) -> bool; + pub fn database_is_invalid_oid(dboid: Oid) -> bool; + pub fn EnumValuesCreate(enumTypeOid: Oid, vals: *mut List); + pub fn EnumValuesDelete(enumTypeOid: Oid); + pub fn AddEnumLabel( + enumTypeOid: Oid, + newVal: *const ::core::ffi::c_char, + neighbor: *const ::core::ffi::c_char, + newValIsAfter: bool, + skipIfExists: bool, + ); + pub fn RenameEnumLabel( + enumTypeOid: Oid, + oldVal: *const ::core::ffi::c_char, + newVal: *const ::core::ffi::c_char, + ); + pub fn EnumUncommitted(enum_id: Oid) -> bool; + pub fn EstimateUncommittedEnumsSpace() -> Size; + pub fn SerializeUncommittedEnums(space: *mut ::core::ffi::c_void, size: Size); + pub fn RestoreUncommittedEnums(space: *mut ::core::ffi::c_void); + pub fn AtEOXact_Enum(); + pub fn OperatorLookup( + operatorName: *mut List, + leftObjectId: Oid, + rightObjectId: Oid, + defined: *mut bool, + ) -> Oid; + pub fn OperatorCreate( + operatorName: *const ::core::ffi::c_char, + operatorNamespace: Oid, + leftTypeId: Oid, + rightTypeId: Oid, + procedureId: Oid, + commutatorName: *mut List, + negatorName: *mut List, + restrictionId: Oid, + joinId: Oid, + canMerge: bool, + canHash: bool, + ) -> ObjectAddress; + pub fn makeOperatorDependencies( + tuple: HeapTuple, + makeExtensionDep: bool, + isUpdate: bool, + ) -> ObjectAddress; + pub fn OperatorValidateParams( + leftTypeId: Oid, + rightTypeId: Oid, + operResultType: Oid, + hasCommutator: bool, + hasNegator: bool, + hasRestrictionSelectivity: bool, + hasJoinSelectivity: bool, + canMerge: bool, + canHash: bool, + ); + pub fn OperatorUpd(baseId: Oid, commId: Oid, negId: Oid, isDelete: bool); + pub fn ProcedureCreate( + procedureName: *const ::core::ffi::c_char, + procNamespace: Oid, + replace: bool, + returnsSet: bool, + returnType: Oid, + proowner: Oid, + languageObjectId: Oid, + languageValidator: Oid, + prosrc: *const ::core::ffi::c_char, + probin: *const ::core::ffi::c_char, + prosqlbody: *mut Node, + prokind: ::core::ffi::c_char, + security_definer: bool, + isLeakProof: bool, + isStrict: bool, + volatility: ::core::ffi::c_char, + parallel: ::core::ffi::c_char, + parameterTypes: *mut oidvector, + allParameterTypes: Datum, + parameterModes: Datum, + parameterNames: Datum, + parameterDefaults: *mut List, + trftypes: Datum, + trfoids: *mut List, + proconfig: Datum, + prosupport: Oid, + procost: float4, + prorows: float4, + ) -> ObjectAddress; + pub fn function_parse_error_transpose(prosrc: *const ::core::ffi::c_char) -> bool; + pub fn oid_array_to_list(datum: Datum) -> *mut List; + pub fn make_parsestate(parentParseState: *mut ParseState) -> *mut ParseState; + pub fn free_parsestate(pstate: *mut ParseState); + pub fn parser_errposition( + pstate: *mut ParseState, + location: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn setup_parser_errposition_callback( + pcbstate: *mut ParseCallbackState, + pstate: *mut ParseState, + location: ::core::ffi::c_int, + ); + pub fn cancel_parser_errposition_callback(pcbstate: *mut ParseCallbackState); + pub fn transformContainerType(containerType: *mut Oid, containerTypmod: *mut int32); + pub fn transformContainerSubscripts( + pstate: *mut ParseState, + containerBase: *mut Node, + containerType: Oid, + containerTypMod: int32, + indirection: *mut List, + isAssignment: bool, + ) -> *mut SubscriptingRef; + pub fn make_const(pstate: *mut ParseState, aconst: *mut A_Const) -> *mut Const; + pub fn acldefault(objtype: ObjectType::Type, ownerId: Oid) -> *mut Acl; + pub fn get_user_default_acl(objtype: ObjectType::Type, ownerId: Oid, nsp_oid: Oid) -> *mut Acl; + pub fn recordDependencyOnNewAcl( + classId: Oid, + objectId: Oid, + objsubId: int32, + ownerId: Oid, + acl: *mut Acl, + ); + pub fn aclupdate( + old_acl: *const Acl, + mod_aip: *const AclItem, + modechg: ::core::ffi::c_int, + ownerId: Oid, + behavior: DropBehavior::Type, + ) -> *mut Acl; + pub fn aclnewowner(old_acl: *const Acl, oldOwnerId: Oid, newOwnerId: Oid) -> *mut Acl; + pub fn make_empty_acl() -> *mut Acl; + pub fn aclcopy(orig_acl: *const Acl) -> *mut Acl; + pub fn aclconcat(left_acl: *const Acl, right_acl: *const Acl) -> *mut Acl; + pub fn aclmerge(left_acl: *const Acl, right_acl: *const Acl, ownerId: Oid) -> *mut Acl; + pub fn aclitemsort(acl: *mut Acl); + pub fn aclequal(left_acl: *const Acl, right_acl: *const Acl) -> bool; + pub fn aclmask( + acl: *const Acl, + roleid: Oid, + ownerId: Oid, + mask: AclMode, + how: AclMaskHow::Type, + ) -> AclMode; + pub fn aclmembers(acl: *const Acl, roleids: *mut *mut Oid) -> ::core::ffi::c_int; + pub fn has_privs_of_role(member: Oid, role: Oid) -> bool; + pub fn member_can_set_role(member: Oid, role: Oid) -> bool; + pub fn check_can_set_role(member: Oid, role: Oid); + pub fn is_member_of_role(member: Oid, role: Oid) -> bool; + pub fn is_member_of_role_nosuper(member: Oid, role: Oid) -> bool; + pub fn is_admin_of_role(member: Oid, role: Oid) -> bool; + pub fn select_best_admin(member: Oid, role: Oid) -> Oid; + pub fn get_role_oid(rolname: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn get_role_oid_or_public(rolname: *const ::core::ffi::c_char) -> Oid; + pub fn get_rolespec_oid(role: *const RoleSpec, missing_ok: bool) -> Oid; + pub fn check_rolespec_name(role: *const RoleSpec, detail_msg: *const ::core::ffi::c_char); + pub fn get_rolespec_tuple(role: *const RoleSpec) -> HeapTuple; + pub fn get_rolespec_name(role: *const RoleSpec) -> *mut ::core::ffi::c_char; + pub fn select_best_grantor( + roleId: Oid, + privileges: AclMode, + acl: *const Acl, + ownerId: Oid, + grantorId: *mut Oid, + grantOptions: *mut AclMode, + ); + pub fn initialize_acl(); + pub fn ExecuteGrantStmt(stmt: *mut GrantStmt); + pub fn ExecAlterDefaultPrivilegesStmt( + pstate: *mut ParseState, + stmt: *mut AlterDefaultPrivilegesStmt, + ); + pub fn RemoveRoleFromObjectACL(roleid: Oid, classid: Oid, objid: Oid); + pub fn pg_class_aclmask( + table_oid: Oid, + roleid: Oid, + mask: AclMode, + how: AclMaskHow::Type, + ) -> AclMode; + pub fn object_aclcheck( + classid: Oid, + objectid: Oid, + roleid: Oid, + mode: AclMode, + ) -> AclResult::Type; + pub fn object_aclcheck_ext( + classid: Oid, + objectid: Oid, + roleid: Oid, + mode: AclMode, + is_missing: *mut bool, + ) -> AclResult::Type; + pub fn pg_attribute_aclcheck( + table_oid: Oid, + attnum: AttrNumber, + roleid: Oid, + mode: AclMode, + ) -> AclResult::Type; + pub fn pg_attribute_aclcheck_ext( + table_oid: Oid, + attnum: AttrNumber, + roleid: Oid, + mode: AclMode, + is_missing: *mut bool, + ) -> AclResult::Type; + pub fn pg_attribute_aclcheck_all( + table_oid: Oid, + roleid: Oid, + mode: AclMode, + how: AclMaskHow::Type, + ) -> AclResult::Type; + pub fn pg_attribute_aclcheck_all_ext( + table_oid: Oid, + roleid: Oid, + mode: AclMode, + how: AclMaskHow::Type, + is_missing: *mut bool, + ) -> AclResult::Type; + pub fn pg_class_aclcheck(table_oid: Oid, roleid: Oid, mode: AclMode) -> AclResult::Type; + pub fn pg_class_aclcheck_ext( + table_oid: Oid, + roleid: Oid, + mode: AclMode, + is_missing: *mut bool, + ) -> AclResult::Type; + pub fn pg_parameter_aclcheck( + name: *const ::core::ffi::c_char, + roleid: Oid, + mode: AclMode, + ) -> AclResult::Type; + pub fn pg_largeobject_aclcheck_snapshot( + lobj_oid: Oid, + roleid: Oid, + mode: AclMode, + snapshot: Snapshot, + ) -> AclResult::Type; + pub fn aclcheck_error( + aclerr: AclResult::Type, + objtype: ObjectType::Type, + objectname: *const ::core::ffi::c_char, + ); + pub fn aclcheck_error_col( + aclerr: AclResult::Type, + objtype: ObjectType::Type, + objectname: *const ::core::ffi::c_char, + colname: *const ::core::ffi::c_char, + ); + pub fn aclcheck_error_type(aclerr: AclResult::Type, typeOid: Oid); + pub fn recordExtObjInitPriv(objoid: Oid, classoid: Oid); + pub fn removeExtObjInitPriv(objoid: Oid, classoid: Oid); + pub fn ReplaceRoleInInitPriv( + oldroleid: Oid, + newroleid: Oid, + classid: Oid, + objid: Oid, + objsubid: int32, + ); + pub fn RemoveRoleFromInitPriv(roleid: Oid, classid: Oid, objid: Oid, objsubid: int32); + pub fn object_ownercheck(classid: Oid, objectid: Oid, roleid: Oid) -> bool; + pub fn has_createrole_privilege(roleid: Oid) -> bool; + pub fn has_bypassrls_privilege(roleid: Oid) -> bool; + pub fn NamespaceCreate(nspName: *const ::core::ffi::c_char, ownerId: Oid, isTemp: bool) -> Oid; + pub fn TypeShellMake( + typeName: *const ::core::ffi::c_char, + typeNamespace: Oid, + ownerId: Oid, + ) -> ObjectAddress; + pub fn TypeCreate( + newTypeOid: Oid, + typeName: *const ::core::ffi::c_char, + typeNamespace: Oid, + relationOid: Oid, + relationKind: ::core::ffi::c_char, + ownerId: Oid, + internalSize: int16, + typeType: ::core::ffi::c_char, + typeCategory: ::core::ffi::c_char, + typePreferred: bool, + typDelim: ::core::ffi::c_char, + inputProcedure: Oid, + outputProcedure: Oid, + receiveProcedure: Oid, + sendProcedure: Oid, + typmodinProcedure: Oid, + typmodoutProcedure: Oid, + analyzeProcedure: Oid, + subscriptProcedure: Oid, + elementType: Oid, + isImplicitArray: bool, + arrayType: Oid, + baseType: Oid, + defaultTypeValue: *const ::core::ffi::c_char, + defaultTypeBin: *mut ::core::ffi::c_char, + passedByValue: bool, + alignment: ::core::ffi::c_char, + storage: ::core::ffi::c_char, + typeMod: int32, + typNDims: int32, + typeNotNull: bool, + typeCollation: Oid, + ) -> ObjectAddress; + pub fn GenerateTypeDependencies( + typeTuple: HeapTuple, + typeCatalog: Relation, + defaultExpr: *mut Node, + typacl: *mut ::core::ffi::c_void, + relationKind: ::core::ffi::c_char, + isImplicitArray: bool, + isDependentType: bool, + makeExtensionDep: bool, + rebuild: bool, + ); + pub fn RenameTypeInternal( + typeOid: Oid, + newTypeName: *const ::core::ffi::c_char, + typeNamespace: Oid, + ); + pub fn makeArrayTypeName( + typeName: *const ::core::ffi::c_char, + typeNamespace: Oid, + ) -> *mut ::core::ffi::c_char; + pub fn moveArrayTypeName( + typeOid: Oid, + typeName: *const ::core::ffi::c_char, + typeNamespace: Oid, + ) -> bool; + pub fn makeMultirangeTypeName( + rangeTypeName: *const ::core::ffi::c_char, + typeNamespace: Oid, + ) -> *mut ::core::ffi::c_char; + pub static mut wal_skip_threshold: ::core::ffi::c_int; + pub fn RelationCreateStorage( + rlocator: RelFileLocator, + relpersistence: ::core::ffi::c_char, + register_delete: bool, + ) -> SMgrRelation; + pub fn RelationDropStorage(rel: Relation); + pub fn RelationPreserveStorage(rlocator: RelFileLocator, atCommit: bool); + pub fn RelationPreTruncate(rel: Relation); + pub fn RelationTruncate(rel: Relation, nblocks: BlockNumber); + pub fn RelationCopyStorage( + src: SMgrRelation, + dst: SMgrRelation, + forkNum: ForkNumber::Type, + relpersistence: ::core::ffi::c_char, + ); + pub fn RelFileLocatorSkippingWAL(rlocator: RelFileLocator) -> bool; + pub fn EstimatePendingSyncsSpace() -> Size; + pub fn SerializePendingSyncs(maxSize: Size, startAddress: *mut ::core::ffi::c_char); + pub fn RestorePendingSyncs(startAddress: *mut ::core::ffi::c_char); + pub fn smgrDoPendingDeletes(isCommit: bool); + pub fn smgrDoPendingSyncs(isCommit: bool, isParallelWorker: bool); + pub fn smgrGetPendingDeletes( + forCommit: bool, + ptr: *mut *mut RelFileLocator, + ) -> ::core::ffi::c_int; + pub fn AtSubCommit_smgr(); + pub fn AtSubAbort_smgr(); + pub fn PostPrepare_smgr(); + pub fn CommentObject(stmt: *mut CommentStmt) -> ObjectAddress; + pub fn DeleteComments(oid: Oid, classoid: Oid, subid: int32); + pub fn CreateComments( + oid: Oid, + classoid: Oid, + subid: int32, + comment: *const ::core::ffi::c_char, + ); + pub fn DeleteSharedComments(oid: Oid, classoid: Oid); + pub fn CreateSharedComments(oid: Oid, classoid: Oid, comment: *const ::core::ffi::c_char); + pub fn GetComment(oid: Oid, classoid: Oid, subid: int32) -> *mut ::core::ffi::c_char; + pub fn DoCopy( + pstate: *mut ParseState, + stmt: *const CopyStmt, + stmt_location: ::core::ffi::c_int, + stmt_len: ::core::ffi::c_int, + processed: *mut uint64, + ); + pub fn ProcessCopyOptions( + pstate: *mut ParseState, + opts_out: *mut CopyFormatOptions, + is_from: bool, + options: *mut List, + ); + pub fn BeginCopyFrom( + pstate: *mut ParseState, + rel: Relation, + whereClause: *mut Node, + filename: *const ::core::ffi::c_char, + is_program: bool, + data_source_cb: copy_data_source_cb, + attnamelist: *mut List, + options: *mut List, + ) -> CopyFromState; + pub fn EndCopyFrom(cstate: CopyFromState); + pub fn NextCopyFrom( + cstate: CopyFromState, + econtext: *mut ExprContext, + values: *mut Datum, + nulls: *mut bool, + ) -> bool; + pub fn NextCopyFromRawFields( + cstate: CopyFromState, + fields: *mut *mut *mut ::core::ffi::c_char, + nfields: *mut ::core::ffi::c_int, + ) -> bool; + pub fn CopyFromErrorCallback(arg: *mut ::core::ffi::c_void); + pub fn CopyLimitPrintoutLength(str_: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char; + pub fn CopyFrom(cstate: CopyFromState) -> uint64; + pub fn CreateCopyDestReceiver() -> *mut DestReceiver; + pub fn BeginCopyTo( + pstate: *mut ParseState, + rel: Relation, + raw_query: *mut RawStmt, + queryRelId: Oid, + filename: *const ::core::ffi::c_char, + is_program: bool, + data_dest_cb: copy_data_dest_cb, + attnamelist: *mut List, + options: *mut List, + ) -> CopyToState; + pub fn EndCopyTo(cstate: CopyToState); + pub fn DoCopyTo(cstate: CopyToState) -> uint64; + pub fn CopyGetAttnums(tupDesc: TupleDesc, rel: Relation, attnamelist: *mut List) -> *mut List; + pub fn createdb(pstate: *mut ParseState, stmt: *const CreatedbStmt) -> Oid; + pub fn dropdb(dbname: *const ::core::ffi::c_char, missing_ok: bool, force: bool); + pub fn DropDatabase(pstate: *mut ParseState, stmt: *mut DropdbStmt); + pub fn RenameDatabase( + oldname: *const ::core::ffi::c_char, + newname: *const ::core::ffi::c_char, + ) -> ObjectAddress; + pub fn AlterDatabase( + pstate: *mut ParseState, + stmt: *mut AlterDatabaseStmt, + isTopLevel: bool, + ) -> Oid; + pub fn AlterDatabaseRefreshColl(stmt: *mut AlterDatabaseRefreshCollStmt) -> ObjectAddress; + pub fn AlterDatabaseSet(stmt: *mut AlterDatabaseSetStmt) -> Oid; + pub fn AlterDatabaseOwner(dbname: *const ::core::ffi::c_char, newOwnerId: Oid) + -> ObjectAddress; + pub fn get_database_oid(dbname: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn get_database_name(dbid: Oid) -> *mut ::core::ffi::c_char; + pub fn have_createdb_privilege() -> bool; + pub fn check_encoding_locale_matches( + encoding: ::core::ffi::c_int, + collate: *const ::core::ffi::c_char, + ctype: *const ::core::ffi::c_char, + ); + pub fn DatumGetEOHP(d: Datum) -> *mut ExpandedObjectHeader; + pub fn EOH_init_header( + eohptr: *mut ExpandedObjectHeader, + methods: *const ExpandedObjectMethods, + obj_context: MemoryContext, + ); + pub fn EOH_get_flat_size(eohptr: *mut ExpandedObjectHeader) -> Size; + pub fn EOH_flatten_into( + eohptr: *mut ExpandedObjectHeader, + result: *mut ::core::ffi::c_void, + allocated_size: Size, + ); + pub fn MakeExpandedObjectReadOnlyInternal(d: Datum) -> Datum; + pub fn TransferExpandedObject(d: Datum, new_parent: MemoryContext) -> Datum; + pub fn DeleteExpandedObject(d: Datum); + pub static mut Array_nulls: bool; + pub fn CopyArrayEls( + array: *mut ArrayType, + values: *mut Datum, + nulls: *mut bool, + nitems: ::core::ffi::c_int, + typlen: ::core::ffi::c_int, + typbyval: bool, + typalign: ::core::ffi::c_char, + freedata: bool, + ); + pub fn array_get_element( + arraydatum: Datum, + nSubscripts: ::core::ffi::c_int, + indx: *mut ::core::ffi::c_int, + arraytyplen: ::core::ffi::c_int, + elmlen: ::core::ffi::c_int, + elmbyval: bool, + elmalign: ::core::ffi::c_char, + isNull: *mut bool, + ) -> Datum; + pub fn array_set_element( + arraydatum: Datum, + nSubscripts: ::core::ffi::c_int, + indx: *mut ::core::ffi::c_int, + dataValue: Datum, + isNull: bool, + arraytyplen: ::core::ffi::c_int, + elmlen: ::core::ffi::c_int, + elmbyval: bool, + elmalign: ::core::ffi::c_char, + ) -> Datum; + pub fn array_get_slice( + arraydatum: Datum, + nSubscripts: ::core::ffi::c_int, + upperIndx: *mut ::core::ffi::c_int, + lowerIndx: *mut ::core::ffi::c_int, + upperProvided: *mut bool, + lowerProvided: *mut bool, + arraytyplen: ::core::ffi::c_int, + elmlen: ::core::ffi::c_int, + elmbyval: bool, + elmalign: ::core::ffi::c_char, + ) -> Datum; + pub fn array_set_slice( + arraydatum: Datum, + nSubscripts: ::core::ffi::c_int, + upperIndx: *mut ::core::ffi::c_int, + lowerIndx: *mut ::core::ffi::c_int, + upperProvided: *mut bool, + lowerProvided: *mut bool, + srcArrayDatum: Datum, + isNull: bool, + arraytyplen: ::core::ffi::c_int, + elmlen: ::core::ffi::c_int, + elmbyval: bool, + elmalign: ::core::ffi::c_char, + ) -> Datum; + pub fn array_ref( + array: *mut ArrayType, + nSubscripts: ::core::ffi::c_int, + indx: *mut ::core::ffi::c_int, + arraytyplen: ::core::ffi::c_int, + elmlen: ::core::ffi::c_int, + elmbyval: bool, + elmalign: ::core::ffi::c_char, + isNull: *mut bool, + ) -> Datum; + pub fn array_set( + array: *mut ArrayType, + nSubscripts: ::core::ffi::c_int, + indx: *mut ::core::ffi::c_int, + dataValue: Datum, + isNull: bool, + arraytyplen: ::core::ffi::c_int, + elmlen: ::core::ffi::c_int, + elmbyval: bool, + elmalign: ::core::ffi::c_char, + ) -> *mut ArrayType; + pub fn array_map( + arrayd: Datum, + exprstate: *mut ExprState, + econtext: *mut ExprContext, + retType: Oid, + amstate: *mut ArrayMapState, + ) -> Datum; + pub fn array_bitmap_copy( + destbitmap: *mut bits8, + destoffset: ::core::ffi::c_int, + srcbitmap: *const bits8, + srcoffset: ::core::ffi::c_int, + nitems: ::core::ffi::c_int, + ); + pub fn construct_array( + elems: *mut Datum, + nelems: ::core::ffi::c_int, + elmtype: Oid, + elmlen: ::core::ffi::c_int, + elmbyval: bool, + elmalign: ::core::ffi::c_char, + ) -> *mut ArrayType; + pub fn construct_array_builtin( + elems: *mut Datum, + nelems: ::core::ffi::c_int, + elmtype: Oid, + ) -> *mut ArrayType; + pub fn construct_md_array( + elems: *mut Datum, + nulls: *mut bool, + ndims: ::core::ffi::c_int, + dims: *mut ::core::ffi::c_int, + lbs: *mut ::core::ffi::c_int, + elmtype: Oid, + elmlen: ::core::ffi::c_int, + elmbyval: bool, + elmalign: ::core::ffi::c_char, + ) -> *mut ArrayType; + pub fn construct_empty_array(elmtype: Oid) -> *mut ArrayType; + pub fn construct_empty_expanded_array( + element_type: Oid, + parentcontext: MemoryContext, + metacache: *mut ArrayMetaState, + ) -> *mut ExpandedArrayHeader; + pub fn deconstruct_array( + array: *mut ArrayType, + elmtype: Oid, + elmlen: ::core::ffi::c_int, + elmbyval: bool, + elmalign: ::core::ffi::c_char, + elemsp: *mut *mut Datum, + nullsp: *mut *mut bool, + nelemsp: *mut ::core::ffi::c_int, + ); + pub fn deconstruct_array_builtin( + array: *mut ArrayType, + elmtype: Oid, + elemsp: *mut *mut Datum, + nullsp: *mut *mut bool, + nelemsp: *mut ::core::ffi::c_int, + ); + pub fn array_contains_nulls(array: *mut ArrayType) -> bool; + pub fn initArrayResult( + element_type: Oid, + rcontext: MemoryContext, + subcontext: bool, + ) -> *mut ArrayBuildState; + pub fn initArrayResultWithSize( + element_type: Oid, + rcontext: MemoryContext, + subcontext: bool, + initsize: ::core::ffi::c_int, + ) -> *mut ArrayBuildState; + pub fn accumArrayResult( + astate: *mut ArrayBuildState, + dvalue: Datum, + disnull: bool, + element_type: Oid, + rcontext: MemoryContext, + ) -> *mut ArrayBuildState; + pub fn makeArrayResult(astate: *mut ArrayBuildState, rcontext: MemoryContext) -> Datum; + pub fn makeMdArrayResult( + astate: *mut ArrayBuildState, + ndims: ::core::ffi::c_int, + dims: *mut ::core::ffi::c_int, + lbs: *mut ::core::ffi::c_int, + rcontext: MemoryContext, + release: bool, + ) -> Datum; + pub fn initArrayResultArr( + array_type: Oid, + element_type: Oid, + rcontext: MemoryContext, + subcontext: bool, + ) -> *mut ArrayBuildStateArr; + pub fn accumArrayResultArr( + astate: *mut ArrayBuildStateArr, + dvalue: Datum, + disnull: bool, + array_type: Oid, + rcontext: MemoryContext, + ) -> *mut ArrayBuildStateArr; + pub fn makeArrayResultArr( + astate: *mut ArrayBuildStateArr, + rcontext: MemoryContext, + release: bool, + ) -> Datum; + pub fn initArrayResultAny( + input_type: Oid, + rcontext: MemoryContext, + subcontext: bool, + ) -> *mut ArrayBuildStateAny; + pub fn accumArrayResultAny( + astate: *mut ArrayBuildStateAny, + dvalue: Datum, + disnull: bool, + input_type: Oid, + rcontext: MemoryContext, + ) -> *mut ArrayBuildStateAny; + pub fn makeArrayResultAny( + astate: *mut ArrayBuildStateAny, + rcontext: MemoryContext, + release: bool, + ) -> Datum; + pub fn array_create_iterator( + arr: *mut ArrayType, + slice_ndim: ::core::ffi::c_int, + mstate: *mut ArrayMetaState, + ) -> ArrayIterator; + pub fn array_iterate(iterator: ArrayIterator, value: *mut Datum, isnull: *mut bool) -> bool; + pub fn array_free_iterator(iterator: ArrayIterator); + pub fn ArrayGetOffset( + n: ::core::ffi::c_int, + dim: *const ::core::ffi::c_int, + lb: *const ::core::ffi::c_int, + indx: *const ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn ArrayGetNItems( + ndim: ::core::ffi::c_int, + dims: *const ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn ArrayGetNItemsSafe( + ndim: ::core::ffi::c_int, + dims: *const ::core::ffi::c_int, + escontext: *mut Node, + ) -> ::core::ffi::c_int; + pub fn ArrayCheckBounds( + ndim: ::core::ffi::c_int, + dims: *const ::core::ffi::c_int, + lb: *const ::core::ffi::c_int, + ); + pub fn ArrayCheckBoundsSafe( + ndim: ::core::ffi::c_int, + dims: *const ::core::ffi::c_int, + lb: *const ::core::ffi::c_int, + escontext: *mut Node, + ) -> bool; + pub fn mda_get_range( + n: ::core::ffi::c_int, + span: *mut ::core::ffi::c_int, + st: *const ::core::ffi::c_int, + endp: *const ::core::ffi::c_int, + ); + pub fn mda_get_prod( + n: ::core::ffi::c_int, + range: *const ::core::ffi::c_int, + prod: *mut ::core::ffi::c_int, + ); + pub fn mda_get_offset_values( + n: ::core::ffi::c_int, + dist: *mut ::core::ffi::c_int, + prod: *const ::core::ffi::c_int, + span: *const ::core::ffi::c_int, + ); + pub fn mda_next_tuple( + n: ::core::ffi::c_int, + curr: *mut ::core::ffi::c_int, + span: *const ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn ArrayGetIntegerTypmods(arr: *mut ArrayType, n: *mut ::core::ffi::c_int) -> *mut int32; + pub fn expand_array( + arraydatum: Datum, + parentcontext: MemoryContext, + metacache: *mut ArrayMetaState, + ) -> Datum; + pub fn DatumGetExpandedArray(d: Datum) -> *mut ExpandedArrayHeader; + pub fn DatumGetExpandedArrayX( + d: Datum, + metacache: *mut ArrayMetaState, + ) -> *mut ExpandedArrayHeader; + pub fn DatumGetAnyArrayP(d: Datum) -> *mut AnyArrayType; + pub fn deconstruct_expanded_array(eah: *mut ExpandedArrayHeader); + pub fn RemoveObjects(stmt: *mut DropStmt); + pub fn DefineIndex( + tableId: Oid, + stmt: *mut IndexStmt, + indexRelationId: Oid, + parentIndexId: Oid, + parentConstraintId: Oid, + total_parts: ::core::ffi::c_int, + is_alter_table: bool, + check_rights: bool, + check_not_in_use: bool, + skip_build: bool, + quiet: bool, + ) -> ObjectAddress; + pub fn ExecReindex(pstate: *mut ParseState, stmt: *const ReindexStmt, isTopLevel: bool); + pub fn makeObjectName( + name1: *const ::core::ffi::c_char, + name2: *const ::core::ffi::c_char, + label: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn ChooseRelationName( + name1: *const ::core::ffi::c_char, + name2: *const ::core::ffi::c_char, + label: *const ::core::ffi::c_char, + namespaceid: Oid, + isconstraint: bool, + ) -> *mut ::core::ffi::c_char; + pub fn CheckIndexCompatible( + oldId: Oid, + accessMethodName: *const ::core::ffi::c_char, + attributeList: *const List, + exclusionOpNames: *const List, + isWithoutOverlaps: bool, + ) -> bool; + pub fn GetDefaultOpClass(type_id: Oid, am_id: Oid) -> Oid; + pub fn ResolveOpClass( + opclass: *const List, + attrType: Oid, + accessMethodName: *const ::core::ffi::c_char, + accessMethodId: Oid, + ) -> Oid; + pub fn GetOperatorFromCompareType( + opclass: Oid, + rhstype: Oid, + cmptype: CompareType::Type, + opid: *mut Oid, + strat: *mut StrategyNumber, + ); + pub fn CreateFunction(pstate: *mut ParseState, stmt: *mut CreateFunctionStmt) -> ObjectAddress; + pub fn RemoveFunctionById(funcOid: Oid); + pub fn AlterFunction(pstate: *mut ParseState, stmt: *mut AlterFunctionStmt) -> ObjectAddress; + pub fn CreateCast(stmt: *mut CreateCastStmt) -> ObjectAddress; + pub fn CreateTransform(stmt: *mut CreateTransformStmt) -> ObjectAddress; + pub fn IsThereFunctionInNamespace( + proname: *const ::core::ffi::c_char, + pronargs: ::core::ffi::c_int, + proargtypes: *mut oidvector, + nspOid: Oid, + ); + pub fn ExecuteDoStmt(pstate: *mut ParseState, stmt: *mut DoStmt, atomic: bool); + pub fn ExecuteCallStmt( + stmt: *mut CallStmt, + params: ParamListInfo, + atomic: bool, + dest: *mut DestReceiver, + ); + pub fn CallStmtResultDesc(stmt: *mut CallStmt) -> TupleDesc; + pub fn get_transform_oid(type_id: Oid, lang_id: Oid, missing_ok: bool) -> Oid; + pub fn interpret_function_parameter_list( + pstate: *mut ParseState, + parameters: *mut List, + languageOid: Oid, + objtype: ObjectType::Type, + parameterTypes: *mut *mut oidvector, + parameterTypes_list: *mut *mut List, + allParameterTypes: *mut *mut ArrayType, + parameterModes: *mut *mut ArrayType, + parameterNames: *mut *mut ArrayType, + inParameterNames_list: *mut *mut List, + parameterDefaults: *mut *mut List, + variadicArgType: *mut Oid, + requiredResultType: *mut Oid, + ); + pub fn DefineOperator(names: *mut List, parameters: *mut List) -> ObjectAddress; + pub fn RemoveOperatorById(operOid: Oid); + pub fn AlterOperator(stmt: *mut AlterOperatorStmt) -> ObjectAddress; + pub fn CreateStatistics(stmt: *mut CreateStatsStmt) -> ObjectAddress; + pub fn AlterStatistics(stmt: *mut AlterStatsStmt) -> ObjectAddress; + pub fn RemoveStatisticsById(statsOid: Oid); + pub fn RemoveStatisticsDataById(statsOid: Oid, inh: bool); + pub fn StatisticsGetRelation(statId: Oid, missing_ok: bool) -> Oid; + pub fn DefineAggregate( + pstate: *mut ParseState, + name: *mut List, + args: *mut List, + oldstyle: bool, + parameters: *mut List, + replace: bool, + ) -> ObjectAddress; + pub fn DefineOpClass(stmt: *mut CreateOpClassStmt) -> ObjectAddress; + pub fn DefineOpFamily(stmt: *mut CreateOpFamilyStmt) -> ObjectAddress; + pub fn AlterOpFamily(stmt: *mut AlterOpFamilyStmt) -> Oid; + pub fn IsThereOpClassInNamespace( + opcname: *const ::core::ffi::c_char, + opcmethod: Oid, + opcnamespace: Oid, + ); + pub fn IsThereOpFamilyInNamespace( + opfname: *const ::core::ffi::c_char, + opfmethod: Oid, + opfnamespace: Oid, + ); + pub fn get_opclass_oid(amID: Oid, opclassname: *mut List, missing_ok: bool) -> Oid; + pub fn get_opfamily_oid(amID: Oid, opfamilyname: *mut List, missing_ok: bool) -> Oid; + pub fn DefineTSParser(names: *mut List, parameters: *mut List) -> ObjectAddress; + pub fn DefineTSDictionary(names: *mut List, parameters: *mut List) -> ObjectAddress; + pub fn AlterTSDictionary(stmt: *mut AlterTSDictionaryStmt) -> ObjectAddress; + pub fn DefineTSTemplate(names: *mut List, parameters: *mut List) -> ObjectAddress; + pub fn DefineTSConfiguration( + names: *mut List, + parameters: *mut List, + copied: *mut ObjectAddress, + ) -> ObjectAddress; + pub fn RemoveTSConfigurationById(cfgId: Oid); + pub fn AlterTSConfiguration(stmt: *mut AlterTSConfigurationStmt) -> ObjectAddress; + pub fn serialize_deflist(deflist: *mut List) -> *mut text; + pub fn deserialize_deflist(txt: Datum) -> *mut List; + pub fn AlterForeignServerOwner( + name: *const ::core::ffi::c_char, + newOwnerId: Oid, + ) -> ObjectAddress; + pub fn AlterForeignServerOwner_oid(arg1: Oid, newOwnerId: Oid); + pub fn AlterForeignDataWrapperOwner( + name: *const ::core::ffi::c_char, + newOwnerId: Oid, + ) -> ObjectAddress; + pub fn AlterForeignDataWrapperOwner_oid(fwdId: Oid, newOwnerId: Oid); + pub fn CreateForeignDataWrapper( + pstate: *mut ParseState, + stmt: *mut CreateFdwStmt, + ) -> ObjectAddress; + pub fn AlterForeignDataWrapper( + pstate: *mut ParseState, + stmt: *mut AlterFdwStmt, + ) -> ObjectAddress; + pub fn CreateForeignServer(stmt: *mut CreateForeignServerStmt) -> ObjectAddress; + pub fn AlterForeignServer(stmt: *mut AlterForeignServerStmt) -> ObjectAddress; + pub fn CreateUserMapping(stmt: *mut CreateUserMappingStmt) -> ObjectAddress; + pub fn AlterUserMapping(stmt: *mut AlterUserMappingStmt) -> ObjectAddress; + pub fn RemoveUserMapping(stmt: *mut DropUserMappingStmt) -> Oid; + pub fn CreateForeignTable(stmt: *mut CreateForeignTableStmt, relid: Oid); + pub fn ImportForeignSchema(stmt: *mut ImportForeignSchemaStmt); + pub fn transformGenericOptions( + catalogId: Oid, + oldOptions: Datum, + options: *mut List, + fdwvalidator: Oid, + ) -> Datum; + pub fn CreateAccessMethod(stmt: *mut CreateAmStmt) -> ObjectAddress; + pub fn get_index_am_oid(amname: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn get_table_am_oid(amname: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn get_am_oid(amname: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn get_am_name(amOid: Oid) -> *mut ::core::ffi::c_char; + pub fn defGetString(def: *mut DefElem) -> *mut ::core::ffi::c_char; + pub fn defGetNumeric(def: *mut DefElem) -> f64; + pub fn defGetBoolean(def: *mut DefElem) -> bool; + pub fn defGetInt32(def: *mut DefElem) -> int32; + pub fn defGetInt64(def: *mut DefElem) -> int64; + pub fn defGetObjectId(def: *mut DefElem) -> Oid; + pub fn defGetQualifiedName(def: *mut DefElem) -> *mut List; + pub fn defGetTypeName(def: *mut DefElem) -> *mut TypeName; + pub fn defGetTypeLength(def: *mut DefElem) -> ::core::ffi::c_int; + pub fn defGetStringList(def: *mut DefElem) -> *mut List; + pub fn errorConflictingDefElem(defel: *mut DefElem, pstate: *mut ParseState); + pub static mut event_triggers: bool; + pub fn CreateEventTrigger(stmt: *mut CreateEventTrigStmt) -> Oid; + pub fn get_event_trigger_oid(trigname: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn AlterEventTrigger(stmt: *mut AlterEventTrigStmt) -> Oid; + pub fn AlterEventTriggerOwner( + name: *const ::core::ffi::c_char, + newOwnerId: Oid, + ) -> ObjectAddress; + pub fn AlterEventTriggerOwner_oid(arg1: Oid, newOwnerId: Oid); + pub fn EventTriggerSupportsObjectType(obtype: ObjectType::Type) -> bool; + pub fn EventTriggerSupportsObject(object: *const ObjectAddress) -> bool; + pub fn EventTriggerDDLCommandStart(parsetree: *mut Node); + pub fn EventTriggerDDLCommandEnd(parsetree: *mut Node); + pub fn EventTriggerSQLDrop(parsetree: *mut Node); + pub fn EventTriggerTableRewrite( + parsetree: *mut Node, + tableOid: Oid, + reason: ::core::ffi::c_int, + ); + pub fn EventTriggerOnLogin(); + pub fn EventTriggerBeginCompleteQuery() -> bool; + pub fn EventTriggerEndCompleteQuery(); + pub fn trackDroppedObjectsNeeded() -> bool; + pub fn EventTriggerSQLDropAddObject(object: *const ObjectAddress, original: bool, normal: bool); + pub fn EventTriggerInhibitCommandCollection(); + pub fn EventTriggerUndoInhibitCommandCollection(); + pub fn EventTriggerCollectSimpleCommand( + address: ObjectAddress, + secondaryObject: ObjectAddress, + parsetree: *mut Node, + ); + pub fn EventTriggerAlterTableStart(parsetree: *mut Node); + pub fn EventTriggerAlterTableRelid(objectId: Oid); + pub fn EventTriggerCollectAlterTableSubcmd(subcmd: *mut Node, address: ObjectAddress); + pub fn EventTriggerAlterTableEnd(); + pub fn EventTriggerCollectGrant(istmt: *mut InternalGrant); + pub fn EventTriggerCollectAlterOpFam( + stmt: *mut AlterOpFamilyStmt, + opfamoid: Oid, + operators: *mut List, + procedures: *mut List, + ); + pub fn EventTriggerCollectCreateOpClass( + stmt: *mut CreateOpClassStmt, + opcoid: Oid, + operators: *mut List, + procedures: *mut List, + ); + pub fn EventTriggerCollectAlterTSConfig( + stmt: *mut AlterTSConfigurationStmt, + cfgId: Oid, + dictIds: *mut Oid, + ndicts: ::core::ffi::c_int, + ); + pub fn EventTriggerCollectAlterDefPrivs(stmt: *mut AlterDefaultPrivilegesStmt); + pub static mut ExplainOneQuery_hook: ExplainOneQuery_hook_type; + pub static mut explain_per_plan_hook: explain_per_plan_hook_type; + pub static mut explain_per_node_hook: explain_per_node_hook_type; + pub static mut explain_get_index_name_hook: explain_get_index_name_hook_type; + pub fn ExplainQuery( + pstate: *mut ParseState, + stmt: *mut ExplainStmt, + params: ParamListInfo, + dest: *mut DestReceiver, + ); + pub fn standard_ExplainOneQuery( + query: *mut Query, + cursorOptions: ::core::ffi::c_int, + into: *mut IntoClause, + es: *mut ExplainState, + queryString: *const ::core::ffi::c_char, + params: ParamListInfo, + queryEnv: *mut QueryEnvironment, + ); + pub fn ExplainResultDesc(stmt: *mut ExplainStmt) -> TupleDesc; + pub fn ExplainOneUtility( + utilityStmt: *mut Node, + into: *mut IntoClause, + es: *mut ExplainState, + pstate: *mut ParseState, + params: ParamListInfo, + ); + pub fn ExplainOnePlan( + plannedstmt: *mut PlannedStmt, + cplan: *mut CachedPlan, + plansource: *mut CachedPlanSource, + query_index: ::core::ffi::c_int, + into: *mut IntoClause, + es: *mut ExplainState, + queryString: *const ::core::ffi::c_char, + params: ParamListInfo, + queryEnv: *mut QueryEnvironment, + planduration: *const instr_time, + bufusage: *const BufferUsage, + mem_counters: *const MemoryContextCounters, + ); + pub fn ExplainPrintPlan(es: *mut ExplainState, queryDesc: *mut QueryDesc); + pub fn ExplainPrintTriggers(es: *mut ExplainState, queryDesc: *mut QueryDesc); + pub fn ExplainPrintJITSummary(es: *mut ExplainState, queryDesc: *mut QueryDesc); + pub fn ExplainQueryText(es: *mut ExplainState, queryDesc: *mut QueryDesc); + pub fn ExplainQueryParameters( + es: *mut ExplainState, + params: ParamListInfo, + maxlen: ::core::ffi::c_int, + ); + pub static mut Extension_control_path: *mut ::core::ffi::c_char; + pub static mut creating_extension: bool; + pub static mut CurrentExtensionObject: Oid; + pub fn CreateExtension( + pstate: *mut ParseState, + stmt: *mut CreateExtensionStmt, + ) -> ObjectAddress; + pub fn RemoveExtensionById(extId: Oid); + pub fn InsertExtensionTuple( + extName: *const ::core::ffi::c_char, + extOwner: Oid, + schemaOid: Oid, + relocatable: bool, + extVersion: *const ::core::ffi::c_char, + extConfig: Datum, + extCondition: Datum, + requiredExtensions: *mut List, + ) -> ObjectAddress; + pub fn ExecAlterExtensionStmt( + pstate: *mut ParseState, + stmt: *mut AlterExtensionStmt, + ) -> ObjectAddress; + pub fn ExecAlterExtensionContentsStmt( + stmt: *mut AlterExtensionContentsStmt, + objAddr: *mut ObjectAddress, + ) -> ObjectAddress; + pub fn get_extension_oid(extname: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn get_extension_name(ext_oid: Oid) -> *mut ::core::ffi::c_char; + pub fn get_extension_schema(ext_oid: Oid) -> Oid; + pub fn extension_file_exists(extensionName: *const ::core::ffi::c_char) -> bool; + pub fn AlterExtensionNamespace( + extensionName: *const ::core::ffi::c_char, + newschema: *const ::core::ffi::c_char, + oldschema: *mut Oid, + ) -> ObjectAddress; + pub static mut explain_validate_options_hook: explain_validate_options_hook_type; + pub fn NewExplainState() -> *mut ExplainState; + pub fn ParseExplainOptionList( + es: *mut ExplainState, + options: *mut List, + pstate: *mut ParseState, + ); + pub fn GetExplainExtensionId(extension_name: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn GetExplainExtensionState( + es: *mut ExplainState, + extension_id: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void; + pub fn SetExplainExtensionState( + es: *mut ExplainState, + extension_id: ::core::ffi::c_int, + opaque: *mut ::core::ffi::c_void, + ); + pub fn RegisterExtensionExplainOption( + option_name: *const ::core::ffi::c_char, + handler: ExplainOptionHandler, + ); + pub fn ApplyExtensionExplainOption( + es: *mut ExplainState, + opt: *mut DefElem, + pstate: *mut ParseState, + ) -> bool; + pub fn PrepareQuery( + pstate: *mut ParseState, + stmt: *mut PrepareStmt, + stmt_location: ::core::ffi::c_int, + stmt_len: ::core::ffi::c_int, + ); + pub fn ExecuteQuery( + pstate: *mut ParseState, + stmt: *mut ExecuteStmt, + intoClause: *mut IntoClause, + params: ParamListInfo, + dest: *mut DestReceiver, + qc: *mut QueryCompletion, + ); + pub fn DeallocateQuery(stmt: *mut DeallocateStmt); + pub fn ExplainExecuteQuery( + execstmt: *mut ExecuteStmt, + into: *mut IntoClause, + es: *mut ExplainState, + pstate: *mut ParseState, + params: ParamListInfo, + ); + pub fn StorePreparedStatement( + stmt_name: *const ::core::ffi::c_char, + plansource: *mut CachedPlanSource, + from_sql: bool, + ); + pub fn FetchPreparedStatement( + stmt_name: *const ::core::ffi::c_char, + throwError: bool, + ) -> *mut PreparedStatement; + pub fn DropPreparedStatement(stmt_name: *const ::core::ffi::c_char, showError: bool); + pub fn FetchPreparedStatementResultDesc(stmt: *mut PreparedStatement) -> TupleDesc; + pub fn FetchPreparedStatementTargetList(stmt: *mut PreparedStatement) -> *mut List; + pub fn DropAllPreparedStatements(); + pub fn CreateProceduralLanguage(stmt: *mut CreatePLangStmt) -> ObjectAddress; + pub fn get_language_oid(langname: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn GetSecurityLabel( + object: *const ObjectAddress, + provider: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn SetSecurityLabel( + object: *const ObjectAddress, + provider: *const ::core::ffi::c_char, + label: *const ::core::ffi::c_char, + ); + pub fn DeleteSecurityLabel(object: *const ObjectAddress); + pub fn DeleteSharedSecurityLabel(objectId: Oid, classId: Oid); + pub fn ExecSecLabelStmt(stmt: *mut SecLabelStmt) -> ObjectAddress; + pub fn register_label_provider( + provider_name: *const ::core::ffi::c_char, + hook: check_object_relabel_type, + ); + pub static mut default_tablespace: *mut ::core::ffi::c_char; + pub static mut temp_tablespaces: *mut ::core::ffi::c_char; + pub static mut allow_in_place_tablespaces: bool; + pub fn CreateTableSpace(stmt: *mut CreateTableSpaceStmt) -> Oid; + pub fn DropTableSpace(stmt: *mut DropTableSpaceStmt); + pub fn RenameTableSpace( + oldname: *const ::core::ffi::c_char, + newname: *const ::core::ffi::c_char, + ) -> ObjectAddress; + pub fn AlterTableSpaceOptions(stmt: *mut AlterTableSpaceOptionsStmt) -> Oid; + pub fn TablespaceCreateDbspace(spcOid: Oid, dbOid: Oid, isRedo: bool); + pub fn GetDefaultTablespace(relpersistence: ::core::ffi::c_char, partitioned: bool) -> Oid; + pub fn PrepareTempTablespaces(); + pub fn get_tablespace_oid(tablespacename: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn get_tablespace_name(spc_oid: Oid) -> *mut ::core::ffi::c_char; + pub fn directory_is_empty(path: *const ::core::ffi::c_char) -> bool; + pub fn remove_tablespace_symlink(linkloc: *const ::core::ffi::c_char); + pub fn tblspc_redo(record: *mut XLogReaderState); + pub fn tblspc_desc(buf: StringInfo, record: *mut XLogReaderState); + pub fn tblspc_identify(info: uint8) -> *const ::core::ffi::c_char; + pub fn DefineRelation( + stmt: *mut CreateStmt, + relkind: ::core::ffi::c_char, + ownerId: Oid, + typaddress: *mut ObjectAddress, + queryString: *const ::core::ffi::c_char, + ) -> ObjectAddress; + pub fn BuildDescForRelation(columns: *const List) -> TupleDesc; + pub fn RemoveRelations(drop: *mut DropStmt); + pub fn AlterTableLookupRelation(stmt: *mut AlterTableStmt, lockmode: LOCKMODE) -> Oid; + pub fn AlterTable( + stmt: *mut AlterTableStmt, + lockmode: LOCKMODE, + context: *mut AlterTableUtilityContext, + ); + pub fn AlterTableGetLockLevel(cmds: *mut List) -> LOCKMODE; + pub fn ATExecChangeOwner( + relationOid: Oid, + newOwnerId: Oid, + recursing: bool, + lockmode: LOCKMODE, + ); + pub fn AlterTableInternal(relid: Oid, cmds: *mut List, recurse: bool); + pub fn AlterTableMoveAll(stmt: *mut AlterTableMoveAllStmt) -> Oid; + pub fn AlterTableNamespace( + stmt: *mut AlterObjectSchemaStmt, + oldschema: *mut Oid, + ) -> ObjectAddress; + pub fn AlterTableNamespaceInternal( + rel: Relation, + oldNspOid: Oid, + nspOid: Oid, + objsMoved: *mut ObjectAddresses, + ); + pub fn AlterRelationNamespaceInternal( + classRel: Relation, + relOid: Oid, + oldNspOid: Oid, + newNspOid: Oid, + hasDependEntry: bool, + objsMoved: *mut ObjectAddresses, + ); + pub fn CheckTableNotInUse(rel: Relation, stmt: *const ::core::ffi::c_char); + pub fn ExecuteTruncate(stmt: *mut TruncateStmt); + pub fn ExecuteTruncateGuts( + explicit_rels: *mut List, + relids: *mut List, + relids_logged: *mut List, + behavior: DropBehavior::Type, + restart_seqs: bool, + run_as_table_owner: bool, + ); + pub fn SetRelationHasSubclass(relationId: Oid, relhassubclass: bool); + pub fn CheckRelationTableSpaceMove(rel: Relation, newTableSpaceId: Oid) -> bool; + pub fn SetRelationTableSpace( + rel: Relation, + newTableSpaceId: Oid, + newRelFilenumber: RelFileNumber, + ); + pub fn renameatt(stmt: *mut RenameStmt) -> ObjectAddress; + pub fn RenameConstraint(stmt: *mut RenameStmt) -> ObjectAddress; + pub fn RenameRelation(stmt: *mut RenameStmt) -> ObjectAddress; + pub fn RenameRelationInternal( + myrelid: Oid, + newrelname: *const ::core::ffi::c_char, + is_internal: bool, + is_index: bool, + ); + pub fn ResetRelRewrite(myrelid: Oid); + pub fn find_composite_type_dependencies( + typeOid: Oid, + origRelation: Relation, + origTypeName: *const ::core::ffi::c_char, + ); + pub fn check_of_type(typetuple: HeapTuple); + pub fn register_on_commit_action(relid: Oid, action: OnCommitAction::Type); + pub fn remove_on_commit_action(relid: Oid); + pub fn PreCommit_on_commit_actions(); + pub fn AtEOXact_on_commit_actions(isCommit: bool); + pub fn AtEOSubXact_on_commit_actions( + isCommit: bool, + mySubid: SubTransactionId, + parentSubid: SubTransactionId, + ); + pub fn RangeVarCallbackMaintainsTable( + relation: *const RangeVar, + relId: Oid, + oldRelId: Oid, + arg: *mut ::core::ffi::c_void, + ); + pub fn RangeVarCallbackOwnsRelation( + relation: *const RangeVar, + relId: Oid, + oldRelId: Oid, + arg: *mut ::core::ffi::c_void, + ); + pub fn PartConstraintImpliedByRelConstraint( + scanrel: Relation, + partConstraint: *mut List, + ) -> bool; + pub static mut SessionReplicationRole: ::core::ffi::c_int; + pub fn CreateTrigger( + stmt: *mut CreateTrigStmt, + queryString: *const ::core::ffi::c_char, + relOid: Oid, + refRelOid: Oid, + constraintOid: Oid, + indexOid: Oid, + funcoid: Oid, + parentTriggerOid: Oid, + whenClause: *mut Node, + isInternal: bool, + in_partition: bool, + ) -> ObjectAddress; + pub fn CreateTriggerFiringOn( + stmt: *mut CreateTrigStmt, + queryString: *const ::core::ffi::c_char, + relOid: Oid, + refRelOid: Oid, + constraintOid: Oid, + indexOid: Oid, + funcoid: Oid, + parentTriggerOid: Oid, + whenClause: *mut Node, + isInternal: bool, + in_partition: bool, + trigger_fires_when: ::core::ffi::c_char, + ) -> ObjectAddress; + pub fn TriggerSetParentTrigger( + trigRel: Relation, + childTrigId: Oid, + parentTrigId: Oid, + childTableId: Oid, + ); + pub fn RemoveTriggerById(trigOid: Oid); + pub fn get_trigger_oid( + relid: Oid, + trigname: *const ::core::ffi::c_char, + missing_ok: bool, + ) -> Oid; + pub fn renametrig(stmt: *mut RenameStmt) -> ObjectAddress; + pub fn EnableDisableTrigger( + rel: Relation, + tgname: *const ::core::ffi::c_char, + tgparent: Oid, + fires_when: ::core::ffi::c_char, + skip_system: bool, + recurse: bool, + lockmode: LOCKMODE, + ); + pub fn RelationBuildTriggers(relation: Relation); + pub fn CopyTriggerDesc(trigdesc: *mut TriggerDesc) -> *mut TriggerDesc; + pub fn FindTriggerIncompatibleWithInheritance( + trigdesc: *mut TriggerDesc, + ) -> *const ::core::ffi::c_char; + pub fn MakeTransitionCaptureState( + trigdesc: *mut TriggerDesc, + relid: Oid, + cmdType: CmdType::Type, + ) -> *mut TransitionCaptureState; + pub fn FreeTriggerDesc(trigdesc: *mut TriggerDesc); + pub fn ExecBSInsertTriggers(estate: *mut EState, relinfo: *mut ResultRelInfo); + pub fn ExecASInsertTriggers( + estate: *mut EState, + relinfo: *mut ResultRelInfo, + transition_capture: *mut TransitionCaptureState, + ); + pub fn ExecBRInsertTriggers( + estate: *mut EState, + relinfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + ) -> bool; + pub fn ExecARInsertTriggers( + estate: *mut EState, + relinfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + recheckIndexes: *mut List, + transition_capture: *mut TransitionCaptureState, + ); + pub fn ExecIRInsertTriggers( + estate: *mut EState, + relinfo: *mut ResultRelInfo, + slot: *mut TupleTableSlot, + ) -> bool; + pub fn ExecBSDeleteTriggers(estate: *mut EState, relinfo: *mut ResultRelInfo); + pub fn ExecASDeleteTriggers( + estate: *mut EState, + relinfo: *mut ResultRelInfo, + transition_capture: *mut TransitionCaptureState, + ); + pub fn ExecBRDeleteTriggers( + estate: *mut EState, + epqstate: *mut EPQState, + relinfo: *mut ResultRelInfo, + tupleid: ItemPointer, + fdw_trigtuple: HeapTuple, + epqslot: *mut *mut TupleTableSlot, + tmresult: *mut TM_Result::Type, + tmfd: *mut TM_FailureData, + ) -> bool; + pub fn ExecARDeleteTriggers( + estate: *mut EState, + relinfo: *mut ResultRelInfo, + tupleid: ItemPointer, + fdw_trigtuple: HeapTuple, + transition_capture: *mut TransitionCaptureState, + is_crosspart_update: bool, + ); + pub fn ExecIRDeleteTriggers( + estate: *mut EState, + relinfo: *mut ResultRelInfo, + trigtuple: HeapTuple, + ) -> bool; + pub fn ExecBSUpdateTriggers(estate: *mut EState, relinfo: *mut ResultRelInfo); + pub fn ExecASUpdateTriggers( + estate: *mut EState, + relinfo: *mut ResultRelInfo, + transition_capture: *mut TransitionCaptureState, + ); + pub fn ExecBRUpdateTriggers( + estate: *mut EState, + epqstate: *mut EPQState, + relinfo: *mut ResultRelInfo, + tupleid: ItemPointer, + fdw_trigtuple: HeapTuple, + newslot: *mut TupleTableSlot, + tmresult: *mut TM_Result::Type, + tmfd: *mut TM_FailureData, + ) -> bool; + pub fn ExecARUpdateTriggers( + estate: *mut EState, + relinfo: *mut ResultRelInfo, + src_partinfo: *mut ResultRelInfo, + dst_partinfo: *mut ResultRelInfo, + tupleid: ItemPointer, + fdw_trigtuple: HeapTuple, + newslot: *mut TupleTableSlot, + recheckIndexes: *mut List, + transition_capture: *mut TransitionCaptureState, + is_crosspart_update: bool, + ); + pub fn ExecIRUpdateTriggers( + estate: *mut EState, + relinfo: *mut ResultRelInfo, + trigtuple: HeapTuple, + newslot: *mut TupleTableSlot, + ) -> bool; + pub fn ExecBSTruncateTriggers(estate: *mut EState, relinfo: *mut ResultRelInfo); + pub fn ExecASTruncateTriggers(estate: *mut EState, relinfo: *mut ResultRelInfo); + pub fn AfterTriggerBeginXact(); + pub fn AfterTriggerBeginQuery(); + pub fn AfterTriggerEndQuery(estate: *mut EState); + pub fn AfterTriggerAbortQuery(); + pub fn AfterTriggerFireDeferred(); + pub fn AfterTriggerEndXact(isCommit: bool); + pub fn AfterTriggerBeginSubXact(); + pub fn AfterTriggerEndSubXact(isCommit: bool); + pub fn AfterTriggerSetState(stmt: *mut ConstraintsSetStmt); + pub fn AfterTriggerPendingOnRel(relid: Oid) -> bool; + pub fn RI_FKey_pk_upd_check_required( + trigger: *mut Trigger, + pk_rel: Relation, + oldslot: *mut TupleTableSlot, + newslot: *mut TupleTableSlot, + ) -> bool; + pub fn RI_FKey_fk_upd_check_required( + trigger: *mut Trigger, + fk_rel: Relation, + oldslot: *mut TupleTableSlot, + newslot: *mut TupleTableSlot, + ) -> bool; + pub fn RI_Initial_Check(trigger: *mut Trigger, fk_rel: Relation, pk_rel: Relation) -> bool; + pub fn RI_PartitionRemove_Check(trigger: *mut Trigger, fk_rel: Relation, pk_rel: Relation); + pub fn RI_FKey_trigger_type(tgfoid: Oid) -> ::core::ffi::c_int; + pub static mut md5_password_warnings: bool; + pub fn get_password_type(shadow_pass: *const ::core::ffi::c_char) -> PasswordType::Type; + pub fn encrypt_password( + target_type: PasswordType::Type, + role: *const ::core::ffi::c_char, + password: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn get_role_password( + role: *const ::core::ffi::c_char, + logdetail: *mut *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn md5_crypt_verify( + role: *const ::core::ffi::c_char, + shadow_pass: *const ::core::ffi::c_char, + client_pass: *const ::core::ffi::c_char, + md5_salt: *const ::core::ffi::c_char, + md5_salt_len: ::core::ffi::c_int, + logdetail: *mut *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn plain_crypt_verify( + role: *const ::core::ffi::c_char, + shadow_pass: *const ::core::ffi::c_char, + client_pass: *const ::core::ffi::c_char, + logdetail: *mut *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn ParseConfigFile( + config_file: *const ::core::ffi::c_char, + strict: bool, + calling_file: *const ::core::ffi::c_char, + calling_lineno: ::core::ffi::c_int, + depth: ::core::ffi::c_int, + elevel: ::core::ffi::c_int, + head_p: *mut *mut ConfigVariable, + tail_p: *mut *mut ConfigVariable, + ) -> bool; + pub fn ParseConfigFp( + fp: *mut FILE, + config_file: *const ::core::ffi::c_char, + depth: ::core::ffi::c_int, + elevel: ::core::ffi::c_int, + head_p: *mut *mut ConfigVariable, + tail_p: *mut *mut ConfigVariable, + ) -> bool; + pub fn ParseConfigDirectory( + includedir: *const ::core::ffi::c_char, + calling_file: *const ::core::ffi::c_char, + calling_lineno: ::core::ffi::c_int, + depth: ::core::ffi::c_int, + elevel: ::core::ffi::c_int, + head_p: *mut *mut ConfigVariable, + tail_p: *mut *mut ConfigVariable, + ) -> bool; + pub fn FreeConfigVariables(list: *mut ConfigVariable); + pub fn DeescapeQuotedString(s: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char; + pub static mut Debug_print_plan: bool; + pub static mut Debug_print_parse: bool; + pub static mut Debug_print_rewritten: bool; + pub static mut Debug_pretty_print: bool; + pub static mut Debug_copy_parse_plan_trees: bool; + pub static mut Debug_write_read_parse_plan_trees: bool; + pub static mut Debug_raw_expression_coverage_test: bool; + pub static mut log_parser_stats: bool; + pub static mut log_planner_stats: bool; + pub static mut log_executor_stats: bool; + pub static mut log_statement_stats: bool; + pub static mut log_btree_build_stats: bool; + pub static mut event_source: *mut ::core::ffi::c_char; + pub static mut check_function_bodies: bool; + pub static mut current_role_is_superuser: bool; + pub static mut AllowAlterSystem: bool; + pub static mut log_duration: bool; + pub static mut log_parameter_max_length: ::core::ffi::c_int; + pub static mut log_parameter_max_length_on_error: ::core::ffi::c_int; + pub static mut log_min_error_statement: ::core::ffi::c_int; + pub static mut log_min_messages: ::core::ffi::c_int; + pub static mut client_min_messages: ::core::ffi::c_int; + pub static mut log_min_duration_sample: ::core::ffi::c_int; + pub static mut log_min_duration_statement: ::core::ffi::c_int; + pub static mut log_temp_files: ::core::ffi::c_int; + pub static mut log_statement_sample_rate: f64; + pub static mut log_xact_sample_rate: f64; + pub static mut backtrace_functions: *mut ::core::ffi::c_char; + pub static mut temp_file_limit: ::core::ffi::c_int; + pub static mut num_temp_buffers: ::core::ffi::c_int; + pub static mut cluster_name: *mut ::core::ffi::c_char; + pub static mut ConfigFileName: *mut ::core::ffi::c_char; + pub static mut HbaFileName: *mut ::core::ffi::c_char; + pub static mut IdentFileName: *mut ::core::ffi::c_char; + pub static mut external_pid_file: *mut ::core::ffi::c_char; + pub static mut application_name: *mut ::core::ffi::c_char; + pub static mut tcp_keepalives_idle: ::core::ffi::c_int; + pub static mut tcp_keepalives_interval: ::core::ffi::c_int; + pub static mut tcp_keepalives_count: ::core::ffi::c_int; + pub static mut tcp_user_timeout: ::core::ffi::c_int; + pub static mut role_string: *mut ::core::ffi::c_char; + pub static mut in_hot_standby_guc: bool; + pub static mut trace_sort: bool; + pub static archive_mode_options: [config_enum_entry; 0usize]; + pub static dynamic_shared_memory_options: [config_enum_entry; 0usize]; + pub static io_method_options: [config_enum_entry; 0usize]; + pub static recovery_target_action_options: [config_enum_entry; 0usize]; + pub static wal_level_options: [config_enum_entry; 0usize]; + pub static wal_sync_method_options: [config_enum_entry; 0usize]; + pub fn SetConfigOption( + name: *const ::core::ffi::c_char, + value: *const ::core::ffi::c_char, + context: GucContext::Type, + source: GucSource::Type, + ); + pub fn DefineCustomBoolVariable( + name: *const ::core::ffi::c_char, + short_desc: *const ::core::ffi::c_char, + long_desc: *const ::core::ffi::c_char, + valueAddr: *mut bool, + bootValue: bool, + context: GucContext::Type, + flags: ::core::ffi::c_int, + check_hook: GucBoolCheckHook, + assign_hook: GucBoolAssignHook, + show_hook: GucShowHook, + ); + pub fn DefineCustomIntVariable( + name: *const ::core::ffi::c_char, + short_desc: *const ::core::ffi::c_char, + long_desc: *const ::core::ffi::c_char, + valueAddr: *mut ::core::ffi::c_int, + bootValue: ::core::ffi::c_int, + minValue: ::core::ffi::c_int, + maxValue: ::core::ffi::c_int, + context: GucContext::Type, + flags: ::core::ffi::c_int, + check_hook: GucIntCheckHook, + assign_hook: GucIntAssignHook, + show_hook: GucShowHook, + ); + pub fn DefineCustomRealVariable( + name: *const ::core::ffi::c_char, + short_desc: *const ::core::ffi::c_char, + long_desc: *const ::core::ffi::c_char, + valueAddr: *mut f64, + bootValue: f64, + minValue: f64, + maxValue: f64, + context: GucContext::Type, + flags: ::core::ffi::c_int, + check_hook: GucRealCheckHook, + assign_hook: GucRealAssignHook, + show_hook: GucShowHook, + ); + pub fn DefineCustomStringVariable( + name: *const ::core::ffi::c_char, + short_desc: *const ::core::ffi::c_char, + long_desc: *const ::core::ffi::c_char, + valueAddr: *mut *mut ::core::ffi::c_char, + bootValue: *const ::core::ffi::c_char, + context: GucContext::Type, + flags: ::core::ffi::c_int, + check_hook: GucStringCheckHook, + assign_hook: GucStringAssignHook, + show_hook: GucShowHook, + ); + pub fn DefineCustomEnumVariable( + name: *const ::core::ffi::c_char, + short_desc: *const ::core::ffi::c_char, + long_desc: *const ::core::ffi::c_char, + valueAddr: *mut ::core::ffi::c_int, + bootValue: ::core::ffi::c_int, + options: *const config_enum_entry, + context: GucContext::Type, + flags: ::core::ffi::c_int, + check_hook: GucEnumCheckHook, + assign_hook: GucEnumAssignHook, + show_hook: GucShowHook, + ); + pub fn MarkGUCPrefixReserved(className: *const ::core::ffi::c_char); + pub fn GetConfigOption( + name: *const ::core::ffi::c_char, + missing_ok: bool, + restrict_privileged: bool, + ) -> *const ::core::ffi::c_char; + pub fn GetConfigOptionResetString( + name: *const ::core::ffi::c_char, + ) -> *const ::core::ffi::c_char; + pub fn GetConfigOptionFlags( + name: *const ::core::ffi::c_char, + missing_ok: bool, + ) -> ::core::ffi::c_int; + pub fn ProcessConfigFile(context: GucContext::Type); + pub fn convert_GUC_name_for_parameter_acl( + name: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn check_GUC_name_for_parameter_acl(name: *const ::core::ffi::c_char); + pub fn InitializeGUCOptions(); + pub fn SelectConfigFiles( + userDoption: *const ::core::ffi::c_char, + progname: *const ::core::ffi::c_char, + ) -> bool; + pub fn ResetAllOptions(); + pub fn AtStart_GUC(); + pub fn NewGUCNestLevel() -> ::core::ffi::c_int; + pub fn RestrictSearchPath(); + pub fn AtEOXact_GUC(isCommit: bool, nestLevel: ::core::ffi::c_int); + pub fn BeginReportingGUCOptions(); + pub fn ReportChangedGUCOptions(); + pub fn ParseLongOption( + string: *const ::core::ffi::c_char, + name: *mut *mut ::core::ffi::c_char, + value: *mut *mut ::core::ffi::c_char, + ); + pub fn get_config_unit_name(flags: ::core::ffi::c_int) -> *const ::core::ffi::c_char; + pub fn parse_int( + value: *const ::core::ffi::c_char, + result: *mut ::core::ffi::c_int, + flags: ::core::ffi::c_int, + hintmsg: *mut *const ::core::ffi::c_char, + ) -> bool; + pub fn parse_real( + value: *const ::core::ffi::c_char, + result: *mut f64, + flags: ::core::ffi::c_int, + hintmsg: *mut *const ::core::ffi::c_char, + ) -> bool; + pub fn set_config_option( + name: *const ::core::ffi::c_char, + value: *const ::core::ffi::c_char, + context: GucContext::Type, + source: GucSource::Type, + action: GucAction::Type, + changeVal: bool, + elevel: ::core::ffi::c_int, + is_reload: bool, + ) -> ::core::ffi::c_int; + pub fn set_config_option_ext( + name: *const ::core::ffi::c_char, + value: *const ::core::ffi::c_char, + context: GucContext::Type, + source: GucSource::Type, + srole: Oid, + action: GucAction::Type, + changeVal: bool, + elevel: ::core::ffi::c_int, + is_reload: bool, + ) -> ::core::ffi::c_int; + pub fn set_config_with_handle( + name: *const ::core::ffi::c_char, + handle: *mut config_handle, + value: *const ::core::ffi::c_char, + context: GucContext::Type, + source: GucSource::Type, + srole: Oid, + action: GucAction::Type, + changeVal: bool, + elevel: ::core::ffi::c_int, + is_reload: bool, + ) -> ::core::ffi::c_int; + pub fn get_config_handle(name: *const ::core::ffi::c_char) -> *mut config_handle; + pub fn AlterSystemSetConfigFile(altersysstmt: *mut AlterSystemStmt); + pub fn GetConfigOptionByName( + name: *const ::core::ffi::c_char, + varname: *mut *const ::core::ffi::c_char, + missing_ok: bool, + ) -> *mut ::core::ffi::c_char; + pub fn TransformGUCArray(array: *mut ArrayType, names: *mut *mut List, values: *mut *mut List); + pub fn ProcessGUCArray( + array: *mut ArrayType, + context: GucContext::Type, + source: GucSource::Type, + action: GucAction::Type, + ); + pub fn GUCArrayAdd( + array: *mut ArrayType, + name: *const ::core::ffi::c_char, + value: *const ::core::ffi::c_char, + ) -> *mut ArrayType; + pub fn GUCArrayDelete( + array: *mut ArrayType, + name: *const ::core::ffi::c_char, + ) -> *mut ArrayType; + pub fn GUCArrayReset(array: *mut ArrayType) -> *mut ArrayType; + pub fn guc_malloc(elevel: ::core::ffi::c_int, size: usize) -> *mut ::core::ffi::c_void; + pub fn guc_realloc( + elevel: ::core::ffi::c_int, + old: *mut ::core::ffi::c_void, + size: usize, + ) -> *mut ::core::ffi::c_void; + pub fn guc_strdup( + elevel: ::core::ffi::c_int, + src: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn guc_free(ptr: *mut ::core::ffi::c_void); + pub fn EstimateGUCStateSpace() -> Size; + pub fn SerializeGUCState(maxsize: Size, start_address: *mut ::core::ffi::c_char); + pub fn RestoreGUCState(gucstate: *mut ::core::ffi::c_void); + pub fn ExecSetVariableStmt(stmt: *mut VariableSetStmt, isTopLevel: bool); + pub fn ExtractSetVariableArgs(stmt: *mut VariableSetStmt) -> *mut ::core::ffi::c_char; + pub fn SetPGVariable(name: *const ::core::ffi::c_char, args: *mut List, is_local: bool); + pub fn GetPGVariable(name: *const ::core::ffi::c_char, dest: *mut DestReceiver); + pub fn GetPGVariableResultDesc(name: *const ::core::ffi::c_char) -> TupleDesc; + pub static mut GUC_check_errmsg_string: *mut ::core::ffi::c_char; + pub static mut GUC_check_errdetail_string: *mut ::core::ffi::c_char; + pub static mut GUC_check_errhint_string: *mut ::core::ffi::c_char; + pub fn GUC_check_errcode(sqlerrcode: ::core::ffi::c_int); + pub static mut Password_encryption: ::core::ffi::c_int; + pub static mut createrole_self_grant: *mut ::core::ffi::c_char; + pub static mut check_password_hook: check_password_hook_type; + pub fn CreateRole(pstate: *mut ParseState, stmt: *mut CreateRoleStmt) -> Oid; + pub fn AlterRole(pstate: *mut ParseState, stmt: *mut AlterRoleStmt) -> Oid; + pub fn AlterRoleSet(stmt: *mut AlterRoleSetStmt) -> Oid; + pub fn DropRole(stmt: *mut DropRoleStmt); + pub fn GrantRole(pstate: *mut ParseState, stmt: *mut GrantRoleStmt); + pub fn RenameRole( + oldname: *const ::core::ffi::c_char, + newname: *const ::core::ffi::c_char, + ) -> ObjectAddress; + pub fn DropOwnedObjects(stmt: *mut DropOwnedStmt); + pub fn ReassignOwnedObjects(stmt: *mut ReassignOwnedStmt); + pub fn roleSpecsToIds(memberNames: *mut List) -> *mut List; + pub fn check_createrole_self_grant( + newval: *mut *mut ::core::ffi::c_char, + extra: *mut *mut ::core::ffi::c_void, + source: GucSource::Type, + ) -> bool; + pub fn assign_createrole_self_grant( + newval: *const ::core::ffi::c_char, + extra: *mut ::core::ffi::c_void, + ); + pub fn RegisterBackgroundWorker(worker: *mut BackgroundWorker); + pub fn RegisterDynamicBackgroundWorker( + worker: *mut BackgroundWorker, + handle: *mut *mut BackgroundWorkerHandle, + ) -> bool; + pub fn GetBackgroundWorkerPid( + handle: *mut BackgroundWorkerHandle, + pidp: *mut pid_t, + ) -> BgwHandleStatus::Type; + pub fn WaitForBackgroundWorkerStartup( + handle: *mut BackgroundWorkerHandle, + pidp: *mut pid_t, + ) -> BgwHandleStatus::Type; + pub fn WaitForBackgroundWorkerShutdown( + arg1: *mut BackgroundWorkerHandle, + ) -> BgwHandleStatus::Type; + pub fn GetBackgroundWorkerTypeByPid(pid: pid_t) -> *const ::core::ffi::c_char; + pub fn TerminateBackgroundWorker(handle: *mut BackgroundWorkerHandle); + pub static mut MyBgworkerEntry: *mut BackgroundWorker; + pub fn BackgroundWorkerInitializeConnection( + dbname: *const ::core::ffi::c_char, + username: *const ::core::ffi::c_char, + flags: uint32, + ); + pub fn BackgroundWorkerInitializeConnectionByOid(dboid: Oid, useroid: Oid, flags: uint32); + pub fn BackgroundWorkerBlockSignals(); + pub fn BackgroundWorkerUnblockSignals(); + pub fn TransactionIdSetTreeStatus( + xid: TransactionId, + nsubxids: ::core::ffi::c_int, + subxids: *mut TransactionId, + status: XidStatus, + lsn: XLogRecPtr, + ); + pub fn TransactionIdGetStatus(xid: TransactionId, lsn: *mut XLogRecPtr) -> XidStatus; + pub fn CLOGShmemSize() -> Size; + pub fn CLOGShmemInit(); + pub fn BootStrapCLOG(); + pub fn StartupCLOG(); + pub fn TrimCLOG(); + pub fn CheckPointCLOG(); + pub fn ExtendCLOG(newestXact: TransactionId); + pub fn TruncateCLOG(oldestXact: TransactionId, oldestxid_datoid: Oid); + pub fn clogsyncfiletag( + ftag: *const FileTag, + path: *mut ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn clog_redo(record: *mut XLogReaderState); + pub fn clog_desc(buf: StringInfo, record: *mut XLogReaderState); + pub fn clog_identify(info: uint8) -> *const ::core::ffi::c_char; + pub fn InitializeWaitEventSupport(); + pub fn CreateWaitEventSet( + resowner: ResourceOwner, + nevents: ::core::ffi::c_int, + ) -> *mut WaitEventSet; + pub fn FreeWaitEventSet(set: *mut WaitEventSet); + pub fn FreeWaitEventSetAfterFork(set: *mut WaitEventSet); + pub fn AddWaitEventToSet( + set: *mut WaitEventSet, + events: uint32, + fd: pgsocket, + latch: *mut Latch, + user_data: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int; + pub fn ModifyWaitEvent( + set: *mut WaitEventSet, + pos: ::core::ffi::c_int, + events: uint32, + latch: *mut Latch, + ); + pub fn WaitEventSetWait( + set: *mut WaitEventSet, + timeout: ::core::ffi::c_long, + occurred_events: *mut WaitEvent, + nevents: ::core::ffi::c_int, + wait_event_info: uint32, + ) -> ::core::ffi::c_int; + pub fn GetNumRegisteredWaitEvents(set: *mut WaitEventSet) -> ::core::ffi::c_int; + pub fn WaitEventSetCanReportClosed() -> bool; + pub fn WakeupMyProc(); + pub fn WakeupOtherProc(pid: ::core::ffi::c_int); + pub fn InitLatch(latch: *mut Latch); + pub fn InitSharedLatch(latch: *mut Latch); + pub fn OwnLatch(latch: *mut Latch); + pub fn DisownLatch(latch: *mut Latch); + pub fn SetLatch(latch: *mut Latch); + pub fn ResetLatch(latch: *mut Latch); + pub fn WaitLatch( + latch: *mut Latch, + wakeEvents: ::core::ffi::c_int, + timeout: ::core::ffi::c_long, + wait_event_info: uint32, + ) -> ::core::ffi::c_int; + pub fn WaitLatchOrSocket( + latch: *mut Latch, + wakeEvents: ::core::ffi::c_int, + sock: pgsocket, + timeout: ::core::ffi::c_long, + wait_event_info: uint32, + ) -> ::core::ffi::c_int; + pub fn InitializeLatchWaitSet(); + pub fn PGSemaphoreShmemSize(maxSemas: ::core::ffi::c_int) -> Size; + pub fn PGReserveSemaphores(maxSemas: ::core::ffi::c_int); + pub fn PGSemaphoreCreate() -> PGSemaphore; + pub fn PGSemaphoreReset(sema: PGSemaphore); + pub fn PGSemaphoreLock(sema: PGSemaphore); + pub fn PGSemaphoreUnlock(sema: PGSemaphore); + pub fn PGSemaphoreTryLock(sema: PGSemaphore) -> bool; + pub static mut FastPathLockGroupsPerBackend: ::core::ffi::c_int; + pub static mut MyProc: *mut PGPROC; + pub static mut ProcGlobal: *mut PROC_HDR; + pub static mut PreparedXactProcs: *mut PGPROC; + pub static mut DeadlockTimeout: ::core::ffi::c_int; + pub static mut StatementTimeout: ::core::ffi::c_int; + pub static mut LockTimeout: ::core::ffi::c_int; + pub static mut IdleInTransactionSessionTimeout: ::core::ffi::c_int; + pub static mut TransactionTimeout: ::core::ffi::c_int; + pub static mut IdleSessionTimeout: ::core::ffi::c_int; + pub static mut log_lock_waits: bool; + pub fn ProcGlobalSemas() -> ::core::ffi::c_int; + pub fn ProcGlobalShmemSize() -> Size; + pub fn InitProcGlobal(); + pub fn InitProcess(); + pub fn InitProcessPhase2(); + pub fn InitAuxiliaryProcess(); + pub fn SetStartupBufferPinWaitBufId(bufid: ::core::ffi::c_int); + pub fn GetStartupBufferPinWaitBufId() -> ::core::ffi::c_int; + pub fn HaveNFreeProcs(n: ::core::ffi::c_int, nfree: *mut ::core::ffi::c_int) -> bool; + pub fn ProcReleaseLocks(isCommit: bool); + pub fn JoinWaitQueue( + locallock: *mut LOCALLOCK, + lockMethodTable: LockMethod, + dontWait: bool, + ) -> ProcWaitStatus::Type; + pub fn ProcSleep(locallock: *mut LOCALLOCK) -> ProcWaitStatus::Type; + pub fn ProcWakeup(proc_: *mut PGPROC, waitStatus: ProcWaitStatus::Type); + pub fn ProcLockWakeup(lockMethodTable: LockMethod, lock: *mut LOCK); + pub fn CheckDeadLockAlert(); + pub fn LockErrorCleanup(); + pub fn GetLockHoldersAndWaiters( + locallock: *mut LOCALLOCK, + lock_holders_sbuf: StringInfo, + lock_waiters_sbuf: StringInfo, + lockHoldersNum: *mut ::core::ffi::c_int, + ); + pub fn ProcWaitForSignal(wait_event_info: uint32); + pub fn ProcSendSignal(procNumber: ProcNumber); + pub fn AuxiliaryPidGetProc(pid: ::core::ffi::c_int) -> *mut PGPROC; + pub fn BecomeLockGroupLeader(); + pub fn BecomeLockGroupMember(leader: *mut PGPROC, pid: ::core::ffi::c_int) -> bool; + pub fn shm_mq_create(address: *mut ::core::ffi::c_void, size: Size) -> *mut shm_mq; + pub fn shm_mq_set_receiver(mq: *mut shm_mq, arg1: *mut PGPROC); + pub fn shm_mq_set_sender(mq: *mut shm_mq, arg1: *mut PGPROC); + pub fn shm_mq_get_receiver(arg1: *mut shm_mq) -> *mut PGPROC; + pub fn shm_mq_get_sender(arg1: *mut shm_mq) -> *mut PGPROC; + pub fn shm_mq_attach( + mq: *mut shm_mq, + seg: *mut dsm_segment, + handle: *mut BackgroundWorkerHandle, + ) -> *mut shm_mq_handle; + pub fn shm_mq_set_handle(arg1: *mut shm_mq_handle, arg2: *mut BackgroundWorkerHandle); + pub fn shm_mq_detach(mqh: *mut shm_mq_handle); + pub fn shm_mq_get_queue(mqh: *mut shm_mq_handle) -> *mut shm_mq; + pub fn shm_mq_send( + mqh: *mut shm_mq_handle, + nbytes: Size, + data: *const ::core::ffi::c_void, + nowait: bool, + force_flush: bool, + ) -> shm_mq_result::Type; + pub fn shm_mq_sendv( + mqh: *mut shm_mq_handle, + iov: *mut shm_mq_iovec, + iovcnt: ::core::ffi::c_int, + nowait: bool, + force_flush: bool, + ) -> shm_mq_result::Type; + pub fn shm_mq_receive( + mqh: *mut shm_mq_handle, + nbytesp: *mut Size, + datap: *mut *mut ::core::ffi::c_void, + nowait: bool, + ) -> shm_mq_result::Type; + pub fn shm_mq_wait_for_attach(mqh: *mut shm_mq_handle) -> shm_mq_result::Type; + pub static shm_mq_minimum_size: Size; + pub static mut ParallelMessagePending: sig_atomic_t; + pub static mut ParallelWorkerNumber: ::core::ffi::c_int; + pub static mut InitializingParallelWorker: bool; + pub fn CreateParallelContext( + library_name: *const ::core::ffi::c_char, + function_name: *const ::core::ffi::c_char, + nworkers: ::core::ffi::c_int, + ) -> *mut ParallelContext; + pub fn InitializeParallelDSM(pcxt: *mut ParallelContext); + pub fn ReinitializeParallelDSM(pcxt: *mut ParallelContext); + pub fn ReinitializeParallelWorkers( + pcxt: *mut ParallelContext, + nworkers_to_launch: ::core::ffi::c_int, + ); + pub fn LaunchParallelWorkers(pcxt: *mut ParallelContext); + pub fn WaitForParallelWorkersToAttach(pcxt: *mut ParallelContext); + pub fn WaitForParallelWorkersToFinish(pcxt: *mut ParallelContext); + pub fn DestroyParallelContext(pcxt: *mut ParallelContext); + pub fn ParallelContextActive() -> bool; + pub fn HandleParallelMessageInterrupt(); + pub fn ProcessParallelMessages(); + pub fn AtEOXact_Parallel(isCommit: bool); + pub fn AtEOSubXact_Parallel(isCommit: bool, mySubId: SubTransactionId); + pub fn ParallelWorkerReportLastRecEnd(last_xlog_end: XLogRecPtr); + pub fn ParallelWorkerMain(main_arg: Datum); + pub fn TidStoreCreateLocal(max_bytes: usize, insert_only: bool) -> *mut TidStore; + pub fn TidStoreCreateShared(max_bytes: usize, tranche_id: ::core::ffi::c_int) -> *mut TidStore; + pub fn TidStoreAttach(area_handle: dsa_handle, handle: dsa_pointer) -> *mut TidStore; + pub fn TidStoreDetach(ts: *mut TidStore); + pub fn TidStoreLockExclusive(ts: *mut TidStore); + pub fn TidStoreLockShare(ts: *mut TidStore); + pub fn TidStoreUnlock(ts: *mut TidStore); + pub fn TidStoreDestroy(ts: *mut TidStore); + pub fn TidStoreSetBlockOffsets( + ts: *mut TidStore, + blkno: BlockNumber, + offsets: *mut OffsetNumber, + num_offsets: ::core::ffi::c_int, + ); + pub fn TidStoreIsMember(ts: *mut TidStore, tid: ItemPointer) -> bool; + pub fn TidStoreBeginIterate(ts: *mut TidStore) -> *mut TidStoreIter; + pub fn TidStoreIterateNext(iter: *mut TidStoreIter) -> *mut TidStoreIterResult; + pub fn TidStoreGetBlockOffsets( + result: *mut TidStoreIterResult, + offsets: *mut OffsetNumber, + max_offsets: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn TidStoreEndIterate(iter: *mut TidStoreIter); + pub fn TidStoreMemoryUsage(ts: *mut TidStore) -> usize; + pub fn TidStoreGetHandle(ts: *mut TidStore) -> dsa_pointer; + pub fn TidStoreGetDSA(ts: *mut TidStore) -> *mut dsa_area; + pub static mut default_statistics_target: ::core::ffi::c_int; + pub static mut vacuum_freeze_min_age: ::core::ffi::c_int; + pub static mut vacuum_freeze_table_age: ::core::ffi::c_int; + pub static mut vacuum_multixact_freeze_min_age: ::core::ffi::c_int; + pub static mut vacuum_multixact_freeze_table_age: ::core::ffi::c_int; + pub static mut vacuum_failsafe_age: ::core::ffi::c_int; + pub static mut vacuum_multixact_failsafe_age: ::core::ffi::c_int; + pub static mut track_cost_delay_timing: bool; + pub static mut vacuum_truncate: bool; + pub static mut vacuum_max_eager_freeze_failure_rate: f64; + pub static mut VacuumSharedCostBalance: *mut pg_atomic_uint32; + pub static mut VacuumActiveNWorkers: *mut pg_atomic_uint32; + pub static mut VacuumCostBalanceLocal: ::core::ffi::c_int; + pub static mut VacuumFailsafeActive: bool; + pub static mut vacuum_cost_delay: f64; + pub static mut vacuum_cost_limit: ::core::ffi::c_int; + pub static mut parallel_vacuum_worker_delay_ns: int64; + pub fn ExecVacuum(pstate: *mut ParseState, vacstmt: *mut VacuumStmt, isTopLevel: bool); + pub fn vacuum( + relations: *mut List, + params: *mut VacuumParams, + bstrategy: BufferAccessStrategy, + vac_context: MemoryContext, + isTopLevel: bool, + ); + pub fn vac_open_indexes( + relation: Relation, + lockmode: LOCKMODE, + nindexes: *mut ::core::ffi::c_int, + Irel: *mut *mut Relation, + ); + pub fn vac_close_indexes(nindexes: ::core::ffi::c_int, Irel: *mut Relation, lockmode: LOCKMODE); + pub fn vac_estimate_reltuples( + relation: Relation, + total_pages: BlockNumber, + scanned_pages: BlockNumber, + scanned_tuples: f64, + ) -> f64; + pub fn vac_update_relstats( + relation: Relation, + num_pages: BlockNumber, + num_tuples: f64, + num_all_visible_pages: BlockNumber, + num_all_frozen_pages: BlockNumber, + hasindex: bool, + frozenxid: TransactionId, + minmulti: MultiXactId, + frozenxid_updated: *mut bool, + minmulti_updated: *mut bool, + in_outer_xact: bool, + ); + pub fn vacuum_get_cutoffs( + rel: Relation, + params: *const VacuumParams, + cutoffs: *mut VacuumCutoffs, + ) -> bool; + pub fn vacuum_xid_failsafe_check(cutoffs: *const VacuumCutoffs) -> bool; + pub fn vac_update_datfrozenxid(); + pub fn vacuum_delay_point(is_analyze: bool); + pub fn vacuum_is_permitted_for_relation( + relid: Oid, + reltuple: Form_pg_class, + options: bits32, + ) -> bool; + pub fn vacuum_open_relation( + relid: Oid, + relation: *mut RangeVar, + options: bits32, + verbose: bool, + lmode: LOCKMODE, + ) -> Relation; + pub fn vac_bulkdel_one_index( + ivinfo: *mut IndexVacuumInfo, + istat: *mut IndexBulkDeleteResult, + dead_items: *mut TidStore, + dead_items_info: *mut VacDeadItemsInfo, + ) -> *mut IndexBulkDeleteResult; + pub fn vac_cleanup_one_index( + ivinfo: *mut IndexVacuumInfo, + istat: *mut IndexBulkDeleteResult, + ) -> *mut IndexBulkDeleteResult; + pub fn AutoVacuumUpdateCostLimit(); + pub fn VacuumUpdateCosts(); + pub fn parallel_vacuum_init( + rel: Relation, + indrels: *mut Relation, + nindexes: ::core::ffi::c_int, + nrequested_workers: ::core::ffi::c_int, + vac_work_mem: ::core::ffi::c_int, + elevel: ::core::ffi::c_int, + bstrategy: BufferAccessStrategy, + ) -> *mut ParallelVacuumState; + pub fn parallel_vacuum_end( + pvs: *mut ParallelVacuumState, + istats: *mut *mut IndexBulkDeleteResult, + ); + pub fn parallel_vacuum_get_dead_items( + pvs: *mut ParallelVacuumState, + dead_items_info_p: *mut *mut VacDeadItemsInfo, + ) -> *mut TidStore; + pub fn parallel_vacuum_reset_dead_items(pvs: *mut ParallelVacuumState); + pub fn parallel_vacuum_bulkdel_all_indexes( + pvs: *mut ParallelVacuumState, + num_table_tuples: ::core::ffi::c_long, + num_index_scans: ::core::ffi::c_int, + ); + pub fn parallel_vacuum_cleanup_all_indexes( + pvs: *mut ParallelVacuumState, + num_table_tuples: ::core::ffi::c_long, + num_index_scans: ::core::ffi::c_int, + estimated_count: bool, + ); + pub fn parallel_vacuum_main(seg: *mut dsm_segment, toc: *mut shm_toc); + pub fn analyze_rel( + relid: Oid, + relation: *mut RangeVar, + params: *mut VacuumParams, + va_cols: *mut List, + in_outer_xact: bool, + bstrategy: BufferAccessStrategy, + ); + pub fn std_typanalyze(stats: *mut VacAttrStats) -> bool; + pub fn anl_random_fract() -> f64; + pub fn anl_init_selection_state(n: ::core::ffi::c_int) -> f64; + pub fn anl_get_next_S(t: f64, n: ::core::ffi::c_int, stateptr: *mut f64) -> f64; + pub fn get_configdata( + my_exec_path: *const ::core::ffi::c_char, + configdata_len: *mut usize, + ) -> *mut ConfigData; + pub fn get_controlfile( + DataDir: *const ::core::ffi::c_char, + crc_ok_p: *mut bool, + ) -> *mut ControlFileData; + pub fn get_controlfile_by_exact_path( + ControlFilePath: *const ::core::ffi::c_char, + crc_ok_p: *mut bool, + ) -> *mut ControlFileData; + pub fn update_controlfile( + DataDir: *const ::core::ffi::c_char, + ControlFile: *mut ControlFileData, + do_sync: bool, + ); + pub fn ExecInitAgg( + node: *mut Agg, + estate: *mut EState, + eflags: ::core::ffi::c_int, + ) -> *mut AggState; + pub fn ExecEndAgg(node: *mut AggState); + pub fn ExecReScanAgg(node: *mut AggState); + pub fn hash_agg_entry_size( + numTrans: ::core::ffi::c_int, + tupleWidth: Size, + transitionSpace: Size, + ) -> Size; + pub fn hash_agg_set_limits( + hashentrysize: f64, + input_groups: f64, + used_bits: ::core::ffi::c_int, + mem_limit: *mut Size, + ngroups_limit: *mut uint64, + num_partitions: *mut ::core::ffi::c_int, + ); + pub fn ExecAggEstimate(node: *mut AggState, pcxt: *mut ParallelContext); + pub fn ExecAggInitializeDSM(node: *mut AggState, pcxt: *mut ParallelContext); + pub fn ExecAggInitializeWorker(node: *mut AggState, pwcxt: *mut ParallelWorkerContext); + pub fn ExecAggRetrieveInstrumentation(node: *mut AggState); + pub fn ExprEvalPushStep(es: *mut ExprState, s: *const ExprEvalStep); + pub fn ExecReadyInterpretedExpr(state: *mut ExprState); + pub fn ExecEvalStepOp(state: *mut ExprState, op: *mut ExprEvalStep) -> ExprEvalOp::Type; + pub fn ExecInterpExprStillValid( + state: *mut ExprState, + econtext: *mut ExprContext, + isNull: *mut bool, + ) -> Datum; + pub fn CheckExprStillValid(state: *mut ExprState, econtext: *mut ExprContext); + pub fn ExecEvalFuncExprFusage( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalFuncExprStrictFusage( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalParamExec( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalParamSet( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalParamExtern( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalCoerceViaIOSafe(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalSQLValueFunction(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalCurrentOfExpr(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalNextValueExpr(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalRowNull( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalRowNotNull( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalArrayExpr(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalArrayCoerce( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalRow(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalMinMax(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalFieldSelect( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalFieldStoreDeForm( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalFieldStoreForm( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalConvertRowtype( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalScalarArrayOp(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalHashedScalarArrayOp( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalConstraintNotNull(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalConstraintCheck(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalXmlExpr(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalJsonConstructor( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalJsonIsPredicate(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalJsonExprPath( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ) -> ::core::ffi::c_int; + pub fn ExecEvalJsonCoercion( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalJsonCoercionFinish(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalGroupingFunc(state: *mut ExprState, op: *mut ExprEvalStep); + pub fn ExecEvalMergeSupportFunc( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalSubPlan( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalWholeRowVar( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalSysVar( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + slot: *mut TupleTableSlot, + ); + pub fn ExecAggInitGroup( + aggstate: *mut AggState, + pertrans: AggStatePerTrans, + pergroup: AggStatePerGroup, + aggcontext: *mut ExprContext, + ); + pub fn ExecAggCopyTransValue( + aggstate: *mut AggState, + pertrans: AggStatePerTrans, + newValue: Datum, + newValueIsNull: bool, + oldValue: Datum, + oldValueIsNull: bool, + ) -> Datum; + pub fn ExecEvalPreOrderedDistinctSingle( + aggstate: *mut AggState, + pertrans: AggStatePerTrans, + ) -> bool; + pub fn ExecEvalPreOrderedDistinctMulti( + aggstate: *mut AggState, + pertrans: AggStatePerTrans, + ) -> bool; + pub fn ExecEvalAggOrderedTransDatum( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub fn ExecEvalAggOrderedTransTuple( + state: *mut ExprState, + op: *mut ExprEvalStep, + econtext: *mut ExprContext, + ); + pub static mut backslash_quote: ::core::ffi::c_int; + pub static mut escape_string_warning: bool; + pub static mut standard_conforming_strings: bool; + pub fn raw_parser(str_: *const ::core::ffi::c_char, mode: RawParseMode::Type) -> *mut List; + pub fn SystemFuncName(name: *mut ::core::ffi::c_char) -> *mut List; + pub fn SystemTypeName(name: *mut ::core::ffi::c_char) -> *mut TypeName; + pub fn EnablePortalManager(); + pub fn PreCommit_Portals(isPrepare: bool) -> bool; + pub fn AtAbort_Portals(); + pub fn AtCleanup_Portals(); + pub fn PortalErrorCleanup(); + pub fn AtSubCommit_Portals( + mySubid: SubTransactionId, + parentSubid: SubTransactionId, + parentLevel: ::core::ffi::c_int, + parentXactOwner: ResourceOwner, + ); + pub fn AtSubAbort_Portals( + mySubid: SubTransactionId, + parentSubid: SubTransactionId, + myXactOwner: ResourceOwner, + parentXactOwner: ResourceOwner, + ); + pub fn AtSubCleanup_Portals(mySubid: SubTransactionId); + pub fn CreatePortal( + name: *const ::core::ffi::c_char, + allowDup: bool, + dupSilent: bool, + ) -> Portal; + pub fn CreateNewPortal() -> Portal; + pub fn PinPortal(portal: Portal); + pub fn UnpinPortal(portal: Portal); + pub fn MarkPortalActive(portal: Portal); + pub fn MarkPortalDone(portal: Portal); + pub fn MarkPortalFailed(portal: Portal); + pub fn PortalDrop(portal: Portal, isTopCommit: bool); + pub fn GetPortalByName(name: *const ::core::ffi::c_char) -> Portal; + pub fn PortalDefineQuery( + portal: Portal, + prepStmtName: *const ::core::ffi::c_char, + sourceText: *const ::core::ffi::c_char, + commandTag: CommandTag::Type, + stmts: *mut List, + cplan: *mut CachedPlan, + plansource: *mut CachedPlanSource, + ); + pub fn PortalGetPrimaryStmt(portal: Portal) -> *mut PlannedStmt; + pub fn PortalCreateHoldStore(portal: Portal); + pub fn PortalHashTableDeleteAll(); + pub fn ThereAreNoReadyPortals() -> bool; + pub fn HoldPinnedPortals(); + pub fn ForgetPortalSnapshots(); + pub static mut SPI_processed: uint64; + pub static mut SPI_tuptable: *mut SPITupleTable; + pub static mut SPI_result: ::core::ffi::c_int; + pub fn SPI_connect() -> ::core::ffi::c_int; + pub fn SPI_connect_ext(options: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn SPI_finish() -> ::core::ffi::c_int; + pub fn SPI_execute( + src: *const ::core::ffi::c_char, + read_only: bool, + tcount: ::core::ffi::c_long, + ) -> ::core::ffi::c_int; + pub fn SPI_execute_extended( + src: *const ::core::ffi::c_char, + options: *const SPIExecuteOptions, + ) -> ::core::ffi::c_int; + pub fn SPI_execute_plan( + plan: SPIPlanPtr, + Values: *mut Datum, + Nulls: *const ::core::ffi::c_char, + read_only: bool, + tcount: ::core::ffi::c_long, + ) -> ::core::ffi::c_int; + pub fn SPI_execute_plan_extended( + plan: SPIPlanPtr, + options: *const SPIExecuteOptions, + ) -> ::core::ffi::c_int; + pub fn SPI_execute_plan_with_paramlist( + plan: SPIPlanPtr, + params: ParamListInfo, + read_only: bool, + tcount: ::core::ffi::c_long, + ) -> ::core::ffi::c_int; + pub fn SPI_exec( + src: *const ::core::ffi::c_char, + tcount: ::core::ffi::c_long, + ) -> ::core::ffi::c_int; + pub fn SPI_execp( + plan: SPIPlanPtr, + Values: *mut Datum, + Nulls: *const ::core::ffi::c_char, + tcount: ::core::ffi::c_long, + ) -> ::core::ffi::c_int; + pub fn SPI_execute_snapshot( + plan: SPIPlanPtr, + Values: *mut Datum, + Nulls: *const ::core::ffi::c_char, + snapshot: Snapshot, + crosscheck_snapshot: Snapshot, + read_only: bool, + fire_triggers: bool, + tcount: ::core::ffi::c_long, + ) -> ::core::ffi::c_int; + pub fn SPI_execute_with_args( + src: *const ::core::ffi::c_char, + nargs: ::core::ffi::c_int, + argtypes: *mut Oid, + Values: *mut Datum, + Nulls: *const ::core::ffi::c_char, + read_only: bool, + tcount: ::core::ffi::c_long, + ) -> ::core::ffi::c_int; + pub fn SPI_prepare( + src: *const ::core::ffi::c_char, + nargs: ::core::ffi::c_int, + argtypes: *mut Oid, + ) -> SPIPlanPtr; + pub fn SPI_prepare_cursor( + src: *const ::core::ffi::c_char, + nargs: ::core::ffi::c_int, + argtypes: *mut Oid, + cursorOptions: ::core::ffi::c_int, + ) -> SPIPlanPtr; + pub fn SPI_prepare_extended( + src: *const ::core::ffi::c_char, + options: *const SPIPrepareOptions, + ) -> SPIPlanPtr; + pub fn SPI_prepare_params( + src: *const ::core::ffi::c_char, + parserSetup: ParserSetupHook, + parserSetupArg: *mut ::core::ffi::c_void, + cursorOptions: ::core::ffi::c_int, + ) -> SPIPlanPtr; + pub fn SPI_keepplan(plan: SPIPlanPtr) -> ::core::ffi::c_int; + pub fn SPI_saveplan(plan: SPIPlanPtr) -> SPIPlanPtr; + pub fn SPI_freeplan(plan: SPIPlanPtr) -> ::core::ffi::c_int; + pub fn SPI_getargtypeid(plan: SPIPlanPtr, argIndex: ::core::ffi::c_int) -> Oid; + pub fn SPI_getargcount(plan: SPIPlanPtr) -> ::core::ffi::c_int; + pub fn SPI_is_cursor_plan(plan: SPIPlanPtr) -> bool; + pub fn SPI_plan_is_valid(plan: SPIPlanPtr) -> bool; + pub fn SPI_result_code_string(code: ::core::ffi::c_int) -> *const ::core::ffi::c_char; + pub fn SPI_plan_get_plan_sources(plan: SPIPlanPtr) -> *mut List; + pub fn SPI_plan_get_cached_plan(plan: SPIPlanPtr) -> *mut CachedPlan; + pub fn SPI_copytuple(tuple: HeapTuple) -> HeapTuple; + pub fn SPI_returntuple(tuple: HeapTuple, tupdesc: TupleDesc) -> HeapTupleHeader; + pub fn SPI_modifytuple( + rel: Relation, + tuple: HeapTuple, + natts: ::core::ffi::c_int, + attnum: *mut ::core::ffi::c_int, + Values: *mut Datum, + Nulls: *const ::core::ffi::c_char, + ) -> HeapTuple; + pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) + -> ::core::ffi::c_int; + pub fn SPI_fname(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) -> *mut ::core::ffi::c_char; + pub fn SPI_getvalue( + tuple: HeapTuple, + tupdesc: TupleDesc, + fnumber: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn SPI_getbinval( + tuple: HeapTuple, + tupdesc: TupleDesc, + fnumber: ::core::ffi::c_int, + isnull: *mut bool, + ) -> Datum; + pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) + -> *mut ::core::ffi::c_char; + pub fn SPI_gettypeid(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) -> Oid; + pub fn SPI_getrelname(rel: Relation) -> *mut ::core::ffi::c_char; + pub fn SPI_getnspname(rel: Relation) -> *mut ::core::ffi::c_char; + pub fn SPI_palloc(size: Size) -> *mut ::core::ffi::c_void; + pub fn SPI_repalloc(pointer: *mut ::core::ffi::c_void, size: Size) -> *mut ::core::ffi::c_void; + pub fn SPI_pfree(pointer: *mut ::core::ffi::c_void); + pub fn SPI_datumTransfer(value: Datum, typByVal: bool, typLen: ::core::ffi::c_int) -> Datum; + pub fn SPI_freetuple(tuple: HeapTuple); + pub fn SPI_freetuptable(tuptable: *mut SPITupleTable); + pub fn SPI_cursor_open( + name: *const ::core::ffi::c_char, + plan: SPIPlanPtr, + Values: *mut Datum, + Nulls: *const ::core::ffi::c_char, + read_only: bool, + ) -> Portal; + pub fn SPI_cursor_open_with_args( + name: *const ::core::ffi::c_char, + src: *const ::core::ffi::c_char, + nargs: ::core::ffi::c_int, + argtypes: *mut Oid, + Values: *mut Datum, + Nulls: *const ::core::ffi::c_char, + read_only: bool, + cursorOptions: ::core::ffi::c_int, + ) -> Portal; + pub fn SPI_cursor_open_with_paramlist( + name: *const ::core::ffi::c_char, + plan: SPIPlanPtr, + params: ParamListInfo, + read_only: bool, + ) -> Portal; + pub fn SPI_cursor_parse_open( + name: *const ::core::ffi::c_char, + src: *const ::core::ffi::c_char, + options: *const SPIParseOpenOptions, + ) -> Portal; + pub fn SPI_cursor_find(name: *const ::core::ffi::c_char) -> Portal; + pub fn SPI_cursor_fetch(portal: Portal, forward: bool, count: ::core::ffi::c_long); + pub fn SPI_cursor_move(portal: Portal, forward: bool, count: ::core::ffi::c_long); + pub fn SPI_scroll_cursor_fetch( + arg1: Portal, + direction: FetchDirection::Type, + count: ::core::ffi::c_long, + ); + pub fn SPI_scroll_cursor_move( + arg1: Portal, + direction: FetchDirection::Type, + count: ::core::ffi::c_long, + ); + pub fn SPI_cursor_close(portal: Portal); + pub fn SPI_register_relation(enr: EphemeralNamedRelation) -> ::core::ffi::c_int; + pub fn SPI_unregister_relation(name: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn SPI_register_trigger_data(tdata: *mut TriggerData) -> ::core::ffi::c_int; + pub fn SPI_start_transaction(); + pub fn SPI_commit(); + pub fn SPI_commit_and_chain(); + pub fn SPI_rollback(); + pub fn SPI_rollback_and_chain(); + pub fn AtEOXact_SPI(isCommit: bool); + pub fn AtEOSubXact_SPI(isCommit: bool, mySubid: SubTransactionId); + pub fn SPI_inside_nonatomic_context() -> bool; + pub fn is_dummy_rel(rel: *mut RelOptInfo) -> bool; + pub fn GetFdwRoutine(fdwhandler: Oid) -> *mut FdwRoutine; + pub fn GetForeignServerIdByRelId(relid: Oid) -> Oid; + pub fn GetFdwRoutineByServerId(serverid: Oid) -> *mut FdwRoutine; + pub fn GetFdwRoutineByRelId(relid: Oid) -> *mut FdwRoutine; + pub fn GetFdwRoutineForRelation(relation: Relation, makecopy: bool) -> *mut FdwRoutine; + pub fn IsImportableForeignTable( + tablename: *const ::core::ffi::c_char, + stmt: *mut ImportForeignSchemaStmt, + ) -> bool; + pub fn GetExistingLocalJoinPath(joinrel: *mut RelOptInfo) -> *mut Path; + pub fn GetForeignServer(serverid: Oid) -> *mut ForeignServer; + pub fn GetForeignServerExtended(serverid: Oid, flags: bits16) -> *mut ForeignServer; + pub fn GetForeignServerByName( + srvname: *const ::core::ffi::c_char, + missing_ok: bool, + ) -> *mut ForeignServer; + pub fn GetUserMapping(userid: Oid, serverid: Oid) -> *mut UserMapping; + pub fn GetForeignDataWrapper(fdwid: Oid) -> *mut ForeignDataWrapper; + pub fn GetForeignDataWrapperExtended(fdwid: Oid, flags: bits16) -> *mut ForeignDataWrapper; + pub fn GetForeignDataWrapperByName( + fdwname: *const ::core::ffi::c_char, + missing_ok: bool, + ) -> *mut ForeignDataWrapper; + pub fn GetForeignTable(relid: Oid) -> *mut ForeignTable; + pub fn GetForeignColumnOptions(relid: Oid, attnum: AttrNumber) -> *mut List; + pub fn get_foreign_data_wrapper_oid( + fdwname: *const ::core::ffi::c_char, + missing_ok: bool, + ) -> Oid; + pub fn get_foreign_server_oid(servername: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn _PG_jit_provider_init(cb: *mut JitProviderCallbacks); + pub static mut jit_enabled: bool; + pub static mut jit_provider: *mut ::core::ffi::c_char; + pub static mut jit_debugging_support: bool; + pub static mut jit_dump_bitcode: bool; + pub static mut jit_expressions: bool; + pub static mut jit_profiling_support: bool; + pub static mut jit_tuple_deforming: bool; + pub static mut jit_above_cost: f64; + pub static mut jit_inline_above_cost: f64; + pub static mut jit_optimize_above_cost: f64; + pub fn jit_reset_after_error(); + pub fn jit_release_context(context: *mut JitContext); + pub fn jit_compile_expr(state: *mut ExprState) -> bool; + pub fn InstrJitAgg(dst: *mut JitInstrumentation, add: *mut JitInstrumentation); + pub static pg_enc2name_tbl: [pg_enc2name; 0usize]; + pub static mut pg_enc2gettext_tbl: [*const ::core::ffi::c_char; 0usize]; + pub static pg_wchar_table: [pg_wchar_tbl; 0usize]; + pub fn pg_char_to_encoding_private(name: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_encoding_to_char_private(encoding: ::core::ffi::c_int) -> *const ::core::ffi::c_char; + pub fn pg_valid_server_encoding_id_private(encoding: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn pg_encoding_set_invalid(encoding: ::core::ffi::c_int, dst: *mut ::core::ffi::c_char); + pub fn pg_encoding_mblen( + encoding: ::core::ffi::c_int, + mbstr: *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn pg_encoding_mblen_or_incomplete( + encoding: ::core::ffi::c_int, + mbstr: *const ::core::ffi::c_char, + remaining: usize, + ) -> ::core::ffi::c_int; + pub fn pg_encoding_mblen_bounded( + encoding: ::core::ffi::c_int, + mbstr: *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn pg_encoding_dsplen( + encoding: ::core::ffi::c_int, + mbstr: *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn pg_encoding_verifymbchar( + encoding: ::core::ffi::c_int, + mbstr: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn pg_encoding_verifymbstr( + encoding: ::core::ffi::c_int, + mbstr: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn pg_encoding_max_length(encoding: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn pg_valid_client_encoding(name: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_valid_server_encoding_private(name: *const ::core::ffi::c_char) + -> ::core::ffi::c_int; + pub fn is_encoding_supported_by_icu(encoding: ::core::ffi::c_int) -> bool; + pub fn get_encoding_name_for_icu(encoding: ::core::ffi::c_int) -> *const ::core::ffi::c_char; + pub fn pg_utf8_islegal(source: *const ::core::ffi::c_uchar, length: ::core::ffi::c_int) + -> bool; + pub fn pg_utf_mblen_private(s: *const ::core::ffi::c_uchar) -> ::core::ffi::c_int; + pub fn pg_mule_mblen(s: *const ::core::ffi::c_uchar) -> ::core::ffi::c_int; + pub fn pg_mb2wchar(from: *const ::core::ffi::c_char, to: *mut pg_wchar) -> ::core::ffi::c_int; + pub fn pg_mb2wchar_with_len( + from: *const ::core::ffi::c_char, + to: *mut pg_wchar, + len: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn pg_encoding_mb2wchar_with_len( + encoding: ::core::ffi::c_int, + from: *const ::core::ffi::c_char, + to: *mut pg_wchar, + len: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn pg_wchar2mb(from: *const pg_wchar, to: *mut ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_wchar2mb_with_len( + from: *const pg_wchar, + to: *mut ::core::ffi::c_char, + len: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn pg_encoding_wchar2mb_with_len( + encoding: ::core::ffi::c_int, + from: *const pg_wchar, + to: *mut ::core::ffi::c_char, + len: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn pg_char_and_wchar_strcmp( + s1: *const ::core::ffi::c_char, + s2: *const pg_wchar, + ) -> ::core::ffi::c_int; + pub fn pg_wchar_strncmp( + s1: *const pg_wchar, + s2: *const pg_wchar, + n: usize, + ) -> ::core::ffi::c_int; + pub fn pg_char_and_wchar_strncmp( + s1: *const ::core::ffi::c_char, + s2: *const pg_wchar, + n: usize, + ) -> ::core::ffi::c_int; + pub fn pg_wchar_strlen(str_: *const pg_wchar) -> usize; + pub fn pg_mblen(mbstr: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_dsplen(mbstr: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_mbstrlen(mbstr: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_mbstrlen_with_len( + mbstr: *const ::core::ffi::c_char, + limit: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn pg_mbcliplen( + mbstr: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + limit: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn pg_encoding_mbcliplen( + encoding: ::core::ffi::c_int, + mbstr: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + limit: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn pg_mbcharcliplen( + mbstr: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + limit: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn pg_database_encoding_max_length() -> ::core::ffi::c_int; + pub fn pg_database_encoding_character_incrementer() -> mbcharacter_incrementer; + pub fn PrepareClientEncoding(encoding: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn SetClientEncoding(encoding: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn InitializeClientEncoding(); + pub fn pg_get_client_encoding() -> ::core::ffi::c_int; + pub fn pg_get_client_encoding_name() -> *const ::core::ffi::c_char; + pub fn SetDatabaseEncoding(encoding: ::core::ffi::c_int); + pub fn GetDatabaseEncoding() -> ::core::ffi::c_int; + pub fn GetDatabaseEncodingName() -> *const ::core::ffi::c_char; + pub fn SetMessageEncoding(encoding: ::core::ffi::c_int); + pub fn GetMessageEncoding() -> ::core::ffi::c_int; + pub fn pg_do_encoding_conversion( + src: *mut ::core::ffi::c_uchar, + len: ::core::ffi::c_int, + src_encoding: ::core::ffi::c_int, + dest_encoding: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_uchar; + pub fn pg_do_encoding_conversion_buf( + proc_: Oid, + src_encoding: ::core::ffi::c_int, + dest_encoding: ::core::ffi::c_int, + src: *mut ::core::ffi::c_uchar, + srclen: ::core::ffi::c_int, + dest: *mut ::core::ffi::c_uchar, + destlen: ::core::ffi::c_int, + noError: bool, + ) -> ::core::ffi::c_int; + pub fn pg_client_to_server( + s: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn pg_server_to_client( + s: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn pg_any_to_server( + s: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + encoding: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn pg_server_to_any( + s: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + encoding: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn pg_unicode_to_server(c: pg_wchar, s: *mut ::core::ffi::c_uchar); + pub fn pg_unicode_to_server_noerror(c: pg_wchar, s: *mut ::core::ffi::c_uchar) -> bool; + pub fn BIG5toCNS( + big5: ::core::ffi::c_ushort, + lc: *mut ::core::ffi::c_uchar, + ) -> ::core::ffi::c_ushort; + pub fn CNStoBIG5(cns: ::core::ffi::c_ushort, lc: ::core::ffi::c_uchar) + -> ::core::ffi::c_ushort; + pub fn UtfToLocal( + utf: *const ::core::ffi::c_uchar, + len: ::core::ffi::c_int, + iso: *mut ::core::ffi::c_uchar, + map: *const pg_mb_radix_tree, + cmap: *const pg_utf_to_local_combined, + cmapsize: ::core::ffi::c_int, + conv_func: utf_local_conversion_func, + encoding: ::core::ffi::c_int, + noError: bool, + ) -> ::core::ffi::c_int; + pub fn LocalToUtf( + iso: *const ::core::ffi::c_uchar, + len: ::core::ffi::c_int, + utf: *mut ::core::ffi::c_uchar, + map: *const pg_mb_radix_tree, + cmap: *const pg_local_to_utf_combined, + cmapsize: ::core::ffi::c_int, + conv_func: utf_local_conversion_func, + encoding: ::core::ffi::c_int, + noError: bool, + ) -> ::core::ffi::c_int; + pub fn pg_verifymbstr( + mbstr: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + noError: bool, + ) -> bool; + pub fn pg_verify_mbstr( + encoding: ::core::ffi::c_int, + mbstr: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + noError: bool, + ) -> bool; + pub fn pg_verify_mbstr_len( + encoding: ::core::ffi::c_int, + mbstr: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + noError: bool, + ) -> ::core::ffi::c_int; + pub fn check_encoding_conversion_args( + src_encoding: ::core::ffi::c_int, + dest_encoding: ::core::ffi::c_int, + len: ::core::ffi::c_int, + expected_src_encoding: ::core::ffi::c_int, + expected_dest_encoding: ::core::ffi::c_int, + ); + pub fn report_invalid_encoding( + encoding: ::core::ffi::c_int, + mbstr: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + ); + pub fn report_untranslatable_char( + src_encoding: ::core::ffi::c_int, + dest_encoding: ::core::ffi::c_int, + mbstr: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + ); + pub fn local2local( + l: *const ::core::ffi::c_uchar, + p: *mut ::core::ffi::c_uchar, + len: ::core::ffi::c_int, + src_encoding: ::core::ffi::c_int, + dest_encoding: ::core::ffi::c_int, + tab: *const ::core::ffi::c_uchar, + noError: bool, + ) -> ::core::ffi::c_int; + pub fn latin2mic( + l: *const ::core::ffi::c_uchar, + p: *mut ::core::ffi::c_uchar, + len: ::core::ffi::c_int, + lc: ::core::ffi::c_int, + encoding: ::core::ffi::c_int, + noError: bool, + ) -> ::core::ffi::c_int; + pub fn mic2latin( + mic: *const ::core::ffi::c_uchar, + p: *mut ::core::ffi::c_uchar, + len: ::core::ffi::c_int, + lc: ::core::ffi::c_int, + encoding: ::core::ffi::c_int, + noError: bool, + ) -> ::core::ffi::c_int; + pub fn latin2mic_with_table( + l: *const ::core::ffi::c_uchar, + p: *mut ::core::ffi::c_uchar, + len: ::core::ffi::c_int, + lc: ::core::ffi::c_int, + encoding: ::core::ffi::c_int, + tab: *const ::core::ffi::c_uchar, + noError: bool, + ) -> ::core::ffi::c_int; + pub fn mic2latin_with_table( + mic: *const ::core::ffi::c_uchar, + p: *mut ::core::ffi::c_uchar, + len: ::core::ffi::c_int, + lc: ::core::ffi::c_int, + encoding: ::core::ffi::c_int, + tab: *const ::core::ffi::c_uchar, + noError: bool, + ) -> ::core::ffi::c_int; + pub fn pq_beginmessage(buf: StringInfo, msgtype: ::core::ffi::c_char); + pub fn pq_beginmessage_reuse(buf: StringInfo, msgtype: ::core::ffi::c_char); + pub fn pq_endmessage(buf: StringInfo); + pub fn pq_endmessage_reuse(buf: StringInfo); + pub fn pq_sendbytes( + buf: StringInfo, + data: *const ::core::ffi::c_void, + datalen: ::core::ffi::c_int, + ); + pub fn pq_sendcountedtext( + buf: StringInfo, + str_: *const ::core::ffi::c_char, + slen: ::core::ffi::c_int, + ); + pub fn pq_sendtext(buf: StringInfo, str_: *const ::core::ffi::c_char, slen: ::core::ffi::c_int); + pub fn pq_sendstring(buf: StringInfo, str_: *const ::core::ffi::c_char); + pub fn pq_send_ascii_string(buf: StringInfo, str_: *const ::core::ffi::c_char); + pub fn pq_sendfloat4(buf: StringInfo, f: float4); + pub fn pq_sendfloat8(buf: StringInfo, f: float8); + pub fn pq_begintypsend(buf: StringInfo); + pub fn pq_endtypsend(buf: StringInfo) -> *mut bytea; + pub fn pq_puttextmessage(msgtype: ::core::ffi::c_char, str_: *const ::core::ffi::c_char); + pub fn pq_putemptymessage(msgtype: ::core::ffi::c_char); + pub fn pq_getmsgbyte(msg: StringInfo) -> ::core::ffi::c_int; + pub fn pq_getmsgint(msg: StringInfo, b: ::core::ffi::c_int) -> ::core::ffi::c_uint; + pub fn pq_getmsgint64(msg: StringInfo) -> int64; + pub fn pq_getmsgfloat4(msg: StringInfo) -> float4; + pub fn pq_getmsgfloat8(msg: StringInfo) -> float8; + pub fn pq_getmsgbytes( + msg: StringInfo, + datalen: ::core::ffi::c_int, + ) -> *const ::core::ffi::c_char; + pub fn pq_copymsgbytes( + msg: StringInfo, + buf: *mut ::core::ffi::c_void, + datalen: ::core::ffi::c_int, + ); + pub fn pq_getmsgtext( + msg: StringInfo, + rawbytes: ::core::ffi::c_int, + nbytes: *mut ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn pq_getmsgstring(msg: StringInfo) -> *const ::core::ffi::c_char; + pub fn pq_getmsgrawstring(msg: StringInfo) -> *const ::core::ffi::c_char; + pub fn pq_getmsgend(msg: StringInfo); + pub fn RegisterExtensibleNodeMethods(methods: *const ExtensibleNodeMethods); + pub fn GetExtensibleNodeMethods( + extnodename: *const ::core::ffi::c_char, + missing_ok: bool, + ) -> *const ExtensibleNodeMethods; + pub fn RegisterCustomScanMethods(methods: *const CustomScanMethods); + pub fn GetCustomScanMethods( + CustomName: *const ::core::ffi::c_char, + missing_ok: bool, + ) -> *const CustomScanMethods; + pub fn makeA_Expr( + kind: A_Expr_Kind::Type, + name: *mut List, + lexpr: *mut Node, + rexpr: *mut Node, + location: ::core::ffi::c_int, + ) -> *mut A_Expr; + pub fn makeSimpleA_Expr( + kind: A_Expr_Kind::Type, + name: *mut ::core::ffi::c_char, + lexpr: *mut Node, + rexpr: *mut Node, + location: ::core::ffi::c_int, + ) -> *mut A_Expr; + pub fn makeVar( + varno: ::core::ffi::c_int, + varattno: AttrNumber, + vartype: Oid, + vartypmod: int32, + varcollid: Oid, + varlevelsup: Index, + ) -> *mut Var; + pub fn makeVarFromTargetEntry(varno: ::core::ffi::c_int, tle: *mut TargetEntry) -> *mut Var; + pub fn makeWholeRowVar( + rte: *mut RangeTblEntry, + varno: ::core::ffi::c_int, + varlevelsup: Index, + allowScalar: bool, + ) -> *mut Var; + pub fn makeTargetEntry( + expr: *mut Expr, + resno: AttrNumber, + resname: *mut ::core::ffi::c_char, + resjunk: bool, + ) -> *mut TargetEntry; + pub fn flatCopyTargetEntry(src_tle: *mut TargetEntry) -> *mut TargetEntry; + pub fn makeFromExpr(fromlist: *mut List, quals: *mut Node) -> *mut FromExpr; + pub fn makeConst( + consttype: Oid, + consttypmod: int32, + constcollid: Oid, + constlen: ::core::ffi::c_int, + constvalue: Datum, + constisnull: bool, + constbyval: bool, + ) -> *mut Const; + pub fn makeNullConst(consttype: Oid, consttypmod: int32, constcollid: Oid) -> *mut Const; + pub fn makeBoolConst(value: bool, isnull: bool) -> *mut Node; + pub fn makeBoolExpr( + boolop: BoolExprType::Type, + args: *mut List, + location: ::core::ffi::c_int, + ) -> *mut Expr; + pub fn makeAlias(aliasname: *const ::core::ffi::c_char, colnames: *mut List) -> *mut Alias; + pub fn makeRelabelType( + arg: *mut Expr, + rtype: Oid, + rtypmod: int32, + rcollid: Oid, + rformat: CoercionForm::Type, + ) -> *mut RelabelType; + pub fn makeRangeVar( + schemaname: *mut ::core::ffi::c_char, + relname: *mut ::core::ffi::c_char, + location: ::core::ffi::c_int, + ) -> *mut RangeVar; + pub fn makeNotNullConstraint(colname: *mut String) -> *mut Constraint; + pub fn makeTypeName(typnam: *mut ::core::ffi::c_char) -> *mut TypeName; + pub fn makeTypeNameFromNameList(names: *mut List) -> *mut TypeName; + pub fn makeTypeNameFromOid(typeOid: Oid, typmod: int32) -> *mut TypeName; + pub fn makeColumnDef( + colname: *const ::core::ffi::c_char, + typeOid: Oid, + typmod: int32, + collOid: Oid, + ) -> *mut ColumnDef; + pub fn makeFuncExpr( + funcid: Oid, + rettype: Oid, + args: *mut List, + funccollid: Oid, + inputcollid: Oid, + fformat: CoercionForm::Type, + ) -> *mut FuncExpr; + pub fn makeFuncCall( + name: *mut List, + args: *mut List, + funcformat: CoercionForm::Type, + location: ::core::ffi::c_int, + ) -> *mut FuncCall; + pub fn make_opclause( + opno: Oid, + opresulttype: Oid, + opretset: bool, + leftop: *mut Expr, + rightop: *mut Expr, + opcollid: Oid, + inputcollid: Oid, + ) -> *mut Expr; + pub fn make_andclause(andclauses: *mut List) -> *mut Expr; + pub fn make_orclause(orclauses: *mut List) -> *mut Expr; + pub fn make_notclause(notclause: *mut Expr) -> *mut Expr; + pub fn make_and_qual(qual1: *mut Node, qual2: *mut Node) -> *mut Node; + pub fn make_ands_explicit(andclauses: *mut List) -> *mut Expr; + pub fn make_ands_implicit(clause: *mut Expr) -> *mut List; + pub fn makeIndexInfo( + numattrs: ::core::ffi::c_int, + numkeyattrs: ::core::ffi::c_int, + amoid: Oid, + expressions: *mut List, + predicates: *mut List, + unique: bool, + nulls_not_distinct: bool, + isready: bool, + concurrent: bool, + summarizing: bool, + withoutoverlaps: bool, + ) -> *mut IndexInfo; + pub fn makeStringConst( + str_: *mut ::core::ffi::c_char, + location: ::core::ffi::c_int, + ) -> *mut Node; + pub fn makeDefElem( + name: *mut ::core::ffi::c_char, + arg: *mut Node, + location: ::core::ffi::c_int, + ) -> *mut DefElem; + pub fn makeDefElemExtended( + nameSpace: *mut ::core::ffi::c_char, + name: *mut ::core::ffi::c_char, + arg: *mut Node, + defaction: DefElemAction::Type, + location: ::core::ffi::c_int, + ) -> *mut DefElem; + pub fn makeGroupingSet( + kind: GroupingSetKind::Type, + content: *mut List, + location: ::core::ffi::c_int, + ) -> *mut GroupingSet; + pub fn makeVacuumRelation( + relation: *mut RangeVar, + oid: Oid, + va_cols: *mut List, + ) -> *mut VacuumRelation; + pub fn makeJsonFormat( + type_: JsonFormatType::Type, + encoding: JsonEncoding::Type, + location: ::core::ffi::c_int, + ) -> *mut JsonFormat; + pub fn makeJsonValueExpr( + raw_expr: *mut Expr, + formatted_expr: *mut Expr, + format: *mut JsonFormat, + ) -> *mut JsonValueExpr; + pub fn makeJsonKeyValue(key: *mut Node, value: *mut Node) -> *mut Node; + pub fn makeJsonIsPredicate( + expr: *mut Node, + format: *mut JsonFormat, + item_type: JsonValueType::Type, + unique_keys: bool, + location: ::core::ffi::c_int, + ) -> *mut Node; + pub fn makeJsonBehavior( + btype: JsonBehaviorType::Type, + expr: *mut Node, + location: ::core::ffi::c_int, + ) -> *mut JsonBehavior; + pub fn makeJsonTablePath( + pathvalue: *mut Const, + pathname: *mut ::core::ffi::c_char, + ) -> *mut JsonTablePath; + pub fn makeJsonTablePathSpec( + string: *mut ::core::ffi::c_char, + name: *mut ::core::ffi::c_char, + string_location: ::core::ffi::c_int, + name_location: ::core::ffi::c_int, + ) -> *mut JsonTablePathSpec; + pub fn exprType(expr: *const Node) -> Oid; + pub fn exprTypmod(expr: *const Node) -> int32; + pub fn exprIsLengthCoercion(expr: *const Node, coercedTypmod: *mut int32) -> bool; + pub fn applyRelabelType( + arg: *mut Node, + rtype: Oid, + rtypmod: int32, + rcollid: Oid, + rformat: CoercionForm::Type, + rlocation: ::core::ffi::c_int, + overwrite_ok: bool, + ) -> *mut Node; + pub fn relabel_to_typmod(expr: *mut Node, typmod: int32) -> *mut Node; + pub fn strip_implicit_coercions(node: *mut Node) -> *mut Node; + pub fn expression_returns_set(clause: *mut Node) -> bool; + pub fn exprCollation(expr: *const Node) -> Oid; + pub fn exprInputCollation(expr: *const Node) -> Oid; + pub fn exprSetCollation(expr: *mut Node, collation: Oid); + pub fn exprSetInputCollation(expr: *mut Node, inputcollation: Oid); + pub fn exprLocation(expr: *const Node) -> ::core::ffi::c_int; + pub fn fix_opfuncids(node: *mut Node); + pub fn set_opfuncid(opexpr: *mut OpExpr); + pub fn set_sa_opfuncid(opexpr: *mut ScalarArrayOpExpr); + pub fn check_functions_in_node( + node: *mut Node, + checker: check_function_callback, + context: *mut ::core::ffi::c_void, + ) -> bool; + pub fn expression_tree_walker_impl( + node: *mut Node, + walker: tree_walker_callback, + context: *mut ::core::ffi::c_void, + ) -> bool; + pub fn expression_tree_mutator_impl( + node: *mut Node, + mutator: tree_mutator_callback, + context: *mut ::core::ffi::c_void, + ) -> *mut Node; + pub fn query_tree_walker_impl( + query: *mut Query, + walker: tree_walker_callback, + context: *mut ::core::ffi::c_void, + flags: ::core::ffi::c_int, + ) -> bool; + pub fn query_tree_mutator_impl( + query: *mut Query, + mutator: tree_mutator_callback, + context: *mut ::core::ffi::c_void, + flags: ::core::ffi::c_int, + ) -> *mut Query; + pub fn range_table_walker_impl( + rtable: *mut List, + walker: tree_walker_callback, + context: *mut ::core::ffi::c_void, + flags: ::core::ffi::c_int, + ) -> bool; + pub fn range_table_mutator_impl( + rtable: *mut List, + mutator: tree_mutator_callback, + context: *mut ::core::ffi::c_void, + flags: ::core::ffi::c_int, + ) -> *mut List; + pub fn range_table_entry_walker_impl( + rte: *mut RangeTblEntry, + walker: tree_walker_callback, + context: *mut ::core::ffi::c_void, + flags: ::core::ffi::c_int, + ) -> bool; + pub fn query_or_expression_tree_walker_impl( + node: *mut Node, + walker: tree_walker_callback, + context: *mut ::core::ffi::c_void, + flags: ::core::ffi::c_int, + ) -> bool; + pub fn query_or_expression_tree_mutator_impl( + node: *mut Node, + mutator: tree_mutator_callback, + context: *mut ::core::ffi::c_void, + flags: ::core::ffi::c_int, + ) -> *mut Node; + pub fn raw_expression_tree_walker_impl( + node: *mut Node, + walker: tree_walker_callback, + context: *mut ::core::ffi::c_void, + ) -> bool; + pub fn planstate_tree_walker_impl( + planstate: *mut PlanState, + walker: planstate_tree_walker_callback, + context: *mut ::core::ffi::c_void, + ) -> bool; + pub fn print(obj: *const ::core::ffi::c_void); + pub fn pprint(obj: *const ::core::ffi::c_void); + pub fn elog_node_display( + lev: ::core::ffi::c_int, + title: *const ::core::ffi::c_char, + obj: *const ::core::ffi::c_void, + pretty: bool, + ); + pub fn format_node_dump(dump: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char; + pub fn pretty_format_node_dump(dump: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char; + pub fn print_rt(rtable: *const List); + pub fn print_expr(expr: *const Node, rtable: *const List); + pub fn print_pathkeys(pathkeys: *const List, rtable: *const List); + pub fn print_tl(tlist: *const List, rtable: *const List); + pub fn print_slot(slot: *mut TupleTableSlot); + pub fn make_append_rel_info( + parentrel: Relation, + childrel: Relation, + parentRTindex: Index, + childRTindex: Index, + ) -> *mut AppendRelInfo; + pub fn adjust_appendrel_attrs( + root: *mut PlannerInfo, + node: *mut Node, + nappinfos: ::core::ffi::c_int, + appinfos: *mut *mut AppendRelInfo, + ) -> *mut Node; + pub fn adjust_appendrel_attrs_multilevel( + root: *mut PlannerInfo, + node: *mut Node, + childrel: *mut RelOptInfo, + parentrel: *mut RelOptInfo, + ) -> *mut Node; + pub fn adjust_child_relids( + relids: Relids, + nappinfos: ::core::ffi::c_int, + appinfos: *mut *mut AppendRelInfo, + ) -> Relids; + pub fn adjust_child_relids_multilevel( + root: *mut PlannerInfo, + relids: Relids, + childrel: *mut RelOptInfo, + parentrel: *mut RelOptInfo, + ) -> Relids; + pub fn adjust_inherited_attnums(attnums: *mut List, context: *mut AppendRelInfo) -> *mut List; + pub fn adjust_inherited_attnums_multilevel( + root: *mut PlannerInfo, + attnums: *mut List, + child_relid: Index, + top_parent_relid: Index, + ) -> *mut List; + pub fn get_translated_update_targetlist( + root: *mut PlannerInfo, + relid: Index, + processed_tlist: *mut *mut List, + update_colnos: *mut *mut List, + ); + pub fn find_appinfos_by_relids( + root: *mut PlannerInfo, + relids: Relids, + nappinfos: *mut ::core::ffi::c_int, + ) -> *mut *mut AppendRelInfo; + pub fn add_row_identity_var( + root: *mut PlannerInfo, + orig_var: *mut Var, + rtindex: Index, + rowid_name: *const ::core::ffi::c_char, + ); + pub fn add_row_identity_columns( + root: *mut PlannerInfo, + rtindex: Index, + target_rte: *mut RangeTblEntry, + target_relation: Relation, + ); + pub fn distribute_row_identity_vars(root: *mut PlannerInfo); + pub fn contain_agg_clause(clause: *mut Node) -> bool; + pub fn contain_window_function(clause: *mut Node) -> bool; + pub fn find_window_functions(clause: *mut Node, maxWinRef: Index) -> *mut WindowFuncLists; + pub fn expression_returns_set_rows(root: *mut PlannerInfo, clause: *mut Node) -> f64; + pub fn contain_subplans(clause: *mut Node) -> bool; + pub fn max_parallel_hazard(parse: *mut Query) -> ::core::ffi::c_char; + pub fn is_parallel_safe(root: *mut PlannerInfo, node: *mut Node) -> bool; + pub fn contain_nonstrict_functions(clause: *mut Node) -> bool; + pub fn contain_exec_param(clause: *mut Node, param_ids: *mut List) -> bool; + pub fn contain_leaked_vars(clause: *mut Node) -> bool; + pub fn find_nonnullable_rels(clause: *mut Node) -> Relids; + pub fn find_nonnullable_vars(clause: *mut Node) -> *mut List; + pub fn find_forced_null_vars(node: *mut Node) -> *mut List; + pub fn find_forced_null_var(node: *mut Node) -> *mut Var; + pub fn is_pseudo_constant_clause(clause: *mut Node) -> bool; + pub fn is_pseudo_constant_clause_relids(clause: *mut Node, relids: Relids) -> bool; + pub fn NumRelids(root: *mut PlannerInfo, clause: *mut Node) -> ::core::ffi::c_int; + pub fn CommuteOpExpr(clause: *mut OpExpr); + pub fn inline_set_returning_function( + root: *mut PlannerInfo, + rte: *mut RangeTblEntry, + ) -> *mut Query; + pub fn pull_paramids(expr: *mut Expr) -> *mut Bitmapset; + pub static mut disable_cost: Cost; + pub static mut max_parallel_workers_per_gather: ::core::ffi::c_int; + pub static mut enable_seqscan: bool; + pub static mut enable_indexscan: bool; + pub static mut enable_indexonlyscan: bool; + pub static mut enable_bitmapscan: bool; + pub static mut enable_tidscan: bool; + pub static mut enable_sort: bool; + pub static mut enable_incremental_sort: bool; + pub static mut enable_hashagg: bool; + pub static mut enable_nestloop: bool; + pub static mut enable_material: bool; + pub static mut enable_memoize: bool; + pub static mut enable_mergejoin: bool; + pub static mut enable_hashjoin: bool; + pub static mut enable_gathermerge: bool; + pub static mut enable_partitionwise_join: bool; + pub static mut enable_partitionwise_aggregate: bool; + pub static mut enable_parallel_append: bool; + pub static mut enable_parallel_hash: bool; + pub static mut enable_partition_pruning: bool; + pub static mut enable_presorted_aggregate: bool; + pub static mut enable_async_append: bool; + pub static mut constraint_exclusion: ::core::ffi::c_int; + pub fn index_pages_fetched( + tuples_fetched: f64, + pages: BlockNumber, + index_pages: f64, + root: *mut PlannerInfo, + ) -> f64; + pub fn cost_seqscan( + path: *mut Path, + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + param_info: *mut ParamPathInfo, + ); + pub fn cost_samplescan( + path: *mut Path, + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + param_info: *mut ParamPathInfo, + ); + pub fn cost_index( + path: *mut IndexPath, + root: *mut PlannerInfo, + loop_count: f64, + partial_path: bool, + ); + pub fn cost_bitmap_heap_scan( + path: *mut Path, + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + param_info: *mut ParamPathInfo, + bitmapqual: *mut Path, + loop_count: f64, + ); + pub fn cost_bitmap_and_node(path: *mut BitmapAndPath, root: *mut PlannerInfo); + pub fn cost_bitmap_or_node(path: *mut BitmapOrPath, root: *mut PlannerInfo); + pub fn cost_bitmap_tree_node(path: *mut Path, cost: *mut Cost, selec: *mut Selectivity); + pub fn cost_tidscan( + path: *mut Path, + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + tidquals: *mut List, + param_info: *mut ParamPathInfo, + ); + pub fn cost_tidrangescan( + path: *mut Path, + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + tidrangequals: *mut List, + param_info: *mut ParamPathInfo, + ); + pub fn cost_subqueryscan( + path: *mut SubqueryScanPath, + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + param_info: *mut ParamPathInfo, + trivial_pathtarget: bool, + ); + pub fn cost_functionscan( + path: *mut Path, + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + param_info: *mut ParamPathInfo, + ); + pub fn cost_valuesscan( + path: *mut Path, + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + param_info: *mut ParamPathInfo, + ); + pub fn cost_tablefuncscan( + path: *mut Path, + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + param_info: *mut ParamPathInfo, + ); + pub fn cost_ctescan( + path: *mut Path, + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + param_info: *mut ParamPathInfo, + ); + pub fn cost_namedtuplestorescan( + path: *mut Path, + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + param_info: *mut ParamPathInfo, + ); + pub fn cost_resultscan( + path: *mut Path, + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + param_info: *mut ParamPathInfo, + ); + pub fn cost_recursive_union(runion: *mut Path, nrterm: *mut Path, rterm: *mut Path); + pub fn cost_sort( + path: *mut Path, + root: *mut PlannerInfo, + pathkeys: *mut List, + input_disabled_nodes: ::core::ffi::c_int, + input_cost: Cost, + tuples: f64, + width: ::core::ffi::c_int, + comparison_cost: Cost, + sort_mem: ::core::ffi::c_int, + limit_tuples: f64, + ); + pub fn cost_incremental_sort( + path: *mut Path, + root: *mut PlannerInfo, + pathkeys: *mut List, + presorted_keys: ::core::ffi::c_int, + input_disabled_nodes: ::core::ffi::c_int, + input_startup_cost: Cost, + input_total_cost: Cost, + input_tuples: f64, + width: ::core::ffi::c_int, + comparison_cost: Cost, + sort_mem: ::core::ffi::c_int, + limit_tuples: f64, + ); + pub fn cost_append(apath: *mut AppendPath); + pub fn cost_merge_append( + path: *mut Path, + root: *mut PlannerInfo, + pathkeys: *mut List, + n_streams: ::core::ffi::c_int, + input_disabled_nodes: ::core::ffi::c_int, + input_startup_cost: Cost, + input_total_cost: Cost, + tuples: f64, + ); + pub fn cost_material( + path: *mut Path, + input_disabled_nodes: ::core::ffi::c_int, + input_startup_cost: Cost, + input_total_cost: Cost, + tuples: f64, + width: ::core::ffi::c_int, + ); + pub fn cost_agg( + path: *mut Path, + root: *mut PlannerInfo, + aggstrategy: AggStrategy::Type, + aggcosts: *const AggClauseCosts, + numGroupCols: ::core::ffi::c_int, + numGroups: f64, + quals: *mut List, + disabled_nodes: ::core::ffi::c_int, + input_startup_cost: Cost, + input_total_cost: Cost, + input_tuples: f64, + input_width: f64, + ); + pub fn cost_windowagg( + path: *mut Path, + root: *mut PlannerInfo, + windowFuncs: *mut List, + winclause: *mut WindowClause, + input_disabled_nodes: ::core::ffi::c_int, + input_startup_cost: Cost, + input_total_cost: Cost, + input_tuples: f64, + ); + pub fn cost_group( + path: *mut Path, + root: *mut PlannerInfo, + numGroupCols: ::core::ffi::c_int, + numGroups: f64, + quals: *mut List, + input_disabled_nodes: ::core::ffi::c_int, + input_startup_cost: Cost, + input_total_cost: Cost, + input_tuples: f64, + ); + pub fn initial_cost_nestloop( + root: *mut PlannerInfo, + workspace: *mut JoinCostWorkspace, + jointype: JoinType::Type, + outer_path: *mut Path, + inner_path: *mut Path, + extra: *mut JoinPathExtraData, + ); + pub fn final_cost_nestloop( + root: *mut PlannerInfo, + path: *mut NestPath, + workspace: *mut JoinCostWorkspace, + extra: *mut JoinPathExtraData, + ); + pub fn initial_cost_mergejoin( + root: *mut PlannerInfo, + workspace: *mut JoinCostWorkspace, + jointype: JoinType::Type, + mergeclauses: *mut List, + outer_path: *mut Path, + inner_path: *mut Path, + outersortkeys: *mut List, + innersortkeys: *mut List, + extra: *mut JoinPathExtraData, + ); + pub fn final_cost_mergejoin( + root: *mut PlannerInfo, + path: *mut MergePath, + workspace: *mut JoinCostWorkspace, + extra: *mut JoinPathExtraData, + ); + pub fn initial_cost_hashjoin( + root: *mut PlannerInfo, + workspace: *mut JoinCostWorkspace, + jointype: JoinType::Type, + hashclauses: *mut List, + outer_path: *mut Path, + inner_path: *mut Path, + extra: *mut JoinPathExtraData, + parallel_hash: bool, + ); + pub fn final_cost_hashjoin( + root: *mut PlannerInfo, + path: *mut HashPath, + workspace: *mut JoinCostWorkspace, + extra: *mut JoinPathExtraData, + ); + pub fn cost_gather( + path: *mut GatherPath, + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + param_info: *mut ParamPathInfo, + rows: *mut f64, + ); + pub fn cost_gather_merge( + path: *mut GatherMergePath, + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + param_info: *mut ParamPathInfo, + input_disabled_nodes: ::core::ffi::c_int, + input_startup_cost: Cost, + input_total_cost: Cost, + rows: *mut f64, + ); + pub fn cost_subplan(root: *mut PlannerInfo, subplan: *mut SubPlan, plan: *mut Plan); + pub fn cost_qual_eval(cost: *mut QualCost, quals: *mut List, root: *mut PlannerInfo); + pub fn cost_qual_eval_node(cost: *mut QualCost, qual: *mut Node, root: *mut PlannerInfo); + pub fn compute_semi_anti_join_factors( + root: *mut PlannerInfo, + joinrel: *mut RelOptInfo, + outerrel: *mut RelOptInfo, + innerrel: *mut RelOptInfo, + jointype: JoinType::Type, + sjinfo: *mut SpecialJoinInfo, + restrictlist: *mut List, + semifactors: *mut SemiAntiJoinFactors, + ); + pub fn set_baserel_size_estimates(root: *mut PlannerInfo, rel: *mut RelOptInfo); + pub fn get_parameterized_baserel_size( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + param_clauses: *mut List, + ) -> f64; + pub fn get_parameterized_joinrel_size( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + outer_path: *mut Path, + inner_path: *mut Path, + sjinfo: *mut SpecialJoinInfo, + restrict_clauses: *mut List, + ) -> f64; + pub fn set_joinrel_size_estimates( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + outer_rel: *mut RelOptInfo, + inner_rel: *mut RelOptInfo, + sjinfo: *mut SpecialJoinInfo, + restrictlist: *mut List, + ); + pub fn set_subquery_size_estimates(root: *mut PlannerInfo, rel: *mut RelOptInfo); + pub fn set_function_size_estimates(root: *mut PlannerInfo, rel: *mut RelOptInfo); + pub fn set_values_size_estimates(root: *mut PlannerInfo, rel: *mut RelOptInfo); + pub fn set_cte_size_estimates(root: *mut PlannerInfo, rel: *mut RelOptInfo, cte_rows: f64); + pub fn set_tablefunc_size_estimates(root: *mut PlannerInfo, rel: *mut RelOptInfo); + pub fn set_namedtuplestore_size_estimates(root: *mut PlannerInfo, rel: *mut RelOptInfo); + pub fn set_result_size_estimates(root: *mut PlannerInfo, rel: *mut RelOptInfo); + pub fn set_foreign_size_estimates(root: *mut PlannerInfo, rel: *mut RelOptInfo); + pub fn set_pathtarget_cost_width( + root: *mut PlannerInfo, + target: *mut PathTarget, + ) -> *mut PathTarget; + pub fn compute_bitmap_pages( + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + bitmapqual: *mut Path, + loop_count: f64, + cost_p: *mut Cost, + tuples_p: *mut f64, + ) -> f64; + pub fn compute_gather_rows(path: *mut Path) -> f64; + pub fn clause_selectivity( + root: *mut PlannerInfo, + clause: *mut Node, + varRelid: ::core::ffi::c_int, + jointype: JoinType::Type, + sjinfo: *mut SpecialJoinInfo, + ) -> Selectivity; + pub fn clause_selectivity_ext( + root: *mut PlannerInfo, + clause: *mut Node, + varRelid: ::core::ffi::c_int, + jointype: JoinType::Type, + sjinfo: *mut SpecialJoinInfo, + use_extended_stats: bool, + ) -> Selectivity; + pub fn clauselist_selectivity( + root: *mut PlannerInfo, + clauses: *mut List, + varRelid: ::core::ffi::c_int, + jointype: JoinType::Type, + sjinfo: *mut SpecialJoinInfo, + ) -> Selectivity; + pub fn clauselist_selectivity_ext( + root: *mut PlannerInfo, + clauses: *mut List, + varRelid: ::core::ffi::c_int, + jointype: JoinType::Type, + sjinfo: *mut SpecialJoinInfo, + use_extended_stats: bool, + ) -> Selectivity; + pub static mut seq_page_cost: f64; + pub static mut random_page_cost: f64; + pub static mut cpu_tuple_cost: f64; + pub static mut cpu_index_tuple_cost: f64; + pub static mut cpu_operator_cost: f64; + pub static mut parallel_tuple_cost: f64; + pub static mut parallel_setup_cost: f64; + pub static mut recursive_worktable_factor: f64; + pub static mut effective_cache_size: ::core::ffi::c_int; + pub fn clamp_row_est(nrows: f64) -> f64; + pub fn clamp_width_est(tuple_width: int64) -> int32; + pub fn clamp_cardinality_to_long(x: Cardinality) -> ::core::ffi::c_long; + pub fn is_pseudo_constant_for_index( + root: *mut PlannerInfo, + expr: *mut Node, + index: *mut IndexOptInfo, + ) -> bool; + pub static mut debug_parallel_query: ::core::ffi::c_int; + pub static mut parallel_leader_participation: bool; + pub static mut enable_distinct_reordering: bool; + pub fn planner( + parse: *mut Query, + query_string: *const ::core::ffi::c_char, + cursorOptions: ::core::ffi::c_int, + boundParams: *mut ParamListInfoData, + ) -> *mut PlannedStmt; + pub fn expression_planner(expr: *mut Expr) -> *mut Expr; + pub fn expression_planner_with_deps( + expr: *mut Expr, + relationOids: *mut *mut List, + invalItems: *mut *mut List, + ) -> *mut Expr; + pub fn plan_cluster_use_sort(tableOid: Oid, indexOid: Oid) -> bool; + pub fn plan_create_index_workers(tableOid: Oid, indexOid: Oid) -> ::core::ffi::c_int; + pub fn extract_query_dependencies( + query: *mut Node, + relationOids: *mut *mut List, + invalItems: *mut *mut List, + hasRowSecurity: *mut bool, + ); + pub fn negate_clause(node: *mut Node) -> *mut Node; + pub fn canonicalize_qual(qual: *mut Expr, is_check: bool) -> *mut Expr; + pub fn contain_mutable_functions(clause: *mut Node) -> bool; + pub fn contain_mutable_functions_after_planning(expr: *mut Expr) -> bool; + pub fn contain_volatile_functions(clause: *mut Node) -> bool; + pub fn contain_volatile_functions_after_planning(expr: *mut Expr) -> bool; + pub fn contain_volatile_functions_not_nextval(clause: *mut Node) -> bool; + pub fn eval_const_expressions(root: *mut PlannerInfo, node: *mut Node) -> *mut Node; + pub fn convert_saop_to_hashed_saop(node: *mut Node); + pub fn estimate_expression_value(root: *mut PlannerInfo, node: *mut Node) -> *mut Node; + pub fn evaluate_expr( + expr: *mut Expr, + result_type: Oid, + result_typmod: int32, + result_collation: Oid, + ) -> *mut Expr; + pub fn expand_function_arguments( + args: *mut List, + include_out_arguments: bool, + result_type: Oid, + func_tuple: *mut HeapTupleData, + ) -> *mut List; + pub fn make_SAOP_expr( + oper: Oid, + leftexpr: *mut Node, + coltype: Oid, + arraycollid: Oid, + inputcollid: Oid, + exprs: *mut List, + haveNonConst: bool, + ) -> *mut ScalarArrayOpExpr; + pub fn predicate_implied_by( + predicate_list: *mut List, + clause_list: *mut List, + weak: bool, + ) -> bool; + pub fn predicate_refuted_by( + predicate_list: *mut List, + clause_list: *mut List, + weak: bool, + ) -> bool; + pub fn count_nonjunk_tlist_entries(tlist: *mut List) -> ::core::ffi::c_int; + pub fn get_sortgroupref_tle(sortref: Index, targetList: *mut List) -> *mut TargetEntry; + pub fn get_sortgroupclause_tle( + sgClause: *mut SortGroupClause, + targetList: *mut List, + ) -> *mut TargetEntry; + pub fn get_sortgroupclause_expr( + sgClause: *mut SortGroupClause, + targetList: *mut List, + ) -> *mut Node; + pub fn get_sortgrouplist_exprs(sgClauses: *mut List, targetList: *mut List) -> *mut List; + pub fn get_sortgroupref_clause(sortref: Index, clauses: *mut List) -> *mut SortGroupClause; + pub fn get_sortgroupref_clause_noerr( + sortref: Index, + clauses: *mut List, + ) -> *mut SortGroupClause; + pub fn pull_varnos(root: *mut PlannerInfo, node: *mut Node) -> *mut Bitmapset; + pub fn pull_varnos_of_level( + root: *mut PlannerInfo, + node: *mut Node, + levelsup: ::core::ffi::c_int, + ) -> *mut Bitmapset; + pub fn pull_varattnos(node: *mut Node, varno: Index, varattnos: *mut *mut Bitmapset); + pub fn pull_vars_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> *mut List; + pub fn contain_var_clause(node: *mut Node) -> bool; + pub fn contain_vars_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; + pub fn contain_vars_returning_old_or_new(node: *mut Node) -> bool; + pub fn locate_var_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) + -> ::core::ffi::c_int; + pub fn pull_var_clause(node: *mut Node, flags: ::core::ffi::c_int) -> *mut List; + pub fn flatten_join_alias_vars( + root: *mut PlannerInfo, + query: *mut Query, + node: *mut Node, + ) -> *mut Node; + pub fn flatten_group_exprs( + root: *mut PlannerInfo, + query: *mut Query, + node: *mut Node, + ) -> *mut Node; + pub fn compare_path_costs( + path1: *mut Path, + path2: *mut Path, + criterion: CostSelector::Type, + ) -> ::core::ffi::c_int; + pub fn compare_fractional_path_costs( + path1: *mut Path, + path2: *mut Path, + fraction: f64, + ) -> ::core::ffi::c_int; + pub fn set_cheapest(parent_rel: *mut RelOptInfo); + pub fn add_path(parent_rel: *mut RelOptInfo, new_path: *mut Path); + pub fn add_path_precheck( + parent_rel: *mut RelOptInfo, + disabled_nodes: ::core::ffi::c_int, + startup_cost: Cost, + total_cost: Cost, + pathkeys: *mut List, + required_outer: Relids, + ) -> bool; + pub fn add_partial_path(parent_rel: *mut RelOptInfo, new_path: *mut Path); + pub fn add_partial_path_precheck( + parent_rel: *mut RelOptInfo, + disabled_nodes: ::core::ffi::c_int, + total_cost: Cost, + pathkeys: *mut List, + ) -> bool; + pub fn create_seqscan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + required_outer: Relids, + parallel_workers: ::core::ffi::c_int, + ) -> *mut Path; + pub fn create_samplescan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + required_outer: Relids, + ) -> *mut Path; + pub fn create_index_path( + root: *mut PlannerInfo, + index: *mut IndexOptInfo, + indexclauses: *mut List, + indexorderbys: *mut List, + indexorderbycols: *mut List, + pathkeys: *mut List, + indexscandir: ScanDirection::Type, + indexonly: bool, + required_outer: Relids, + loop_count: f64, + partial_path: bool, + ) -> *mut IndexPath; + pub fn create_bitmap_heap_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + bitmapqual: *mut Path, + required_outer: Relids, + loop_count: f64, + parallel_degree: ::core::ffi::c_int, + ) -> *mut BitmapHeapPath; + pub fn create_bitmap_and_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + bitmapquals: *mut List, + ) -> *mut BitmapAndPath; + pub fn create_bitmap_or_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + bitmapquals: *mut List, + ) -> *mut BitmapOrPath; + pub fn create_tidscan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + tidquals: *mut List, + required_outer: Relids, + ) -> *mut TidPath; + pub fn create_tidrangescan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + tidrangequals: *mut List, + required_outer: Relids, + ) -> *mut TidRangePath; + pub fn create_append_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpaths: *mut List, + partial_subpaths: *mut List, + pathkeys: *mut List, + required_outer: Relids, + parallel_workers: ::core::ffi::c_int, + parallel_aware: bool, + rows: f64, + ) -> *mut AppendPath; + pub fn create_merge_append_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpaths: *mut List, + pathkeys: *mut List, + required_outer: Relids, + ) -> *mut MergeAppendPath; + pub fn create_group_result_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + target: *mut PathTarget, + havingqual: *mut List, + ) -> *mut GroupResultPath; + pub fn create_material_path(rel: *mut RelOptInfo, subpath: *mut Path) -> *mut MaterialPath; + pub fn create_memoize_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + param_exprs: *mut List, + hash_operators: *mut List, + singlerow: bool, + binary_mode: bool, + calls: f64, + ) -> *mut MemoizePath; + pub fn create_unique_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + sjinfo: *mut SpecialJoinInfo, + ) -> *mut UniquePath; + pub fn create_gather_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + target: *mut PathTarget, + required_outer: Relids, + rows: *mut f64, + ) -> *mut GatherPath; + pub fn create_gather_merge_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + target: *mut PathTarget, + pathkeys: *mut List, + required_outer: Relids, + rows: *mut f64, + ) -> *mut GatherMergePath; + pub fn create_subqueryscan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + trivial_pathtarget: bool, + pathkeys: *mut List, + required_outer: Relids, + ) -> *mut SubqueryScanPath; + pub fn create_functionscan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + pathkeys: *mut List, + required_outer: Relids, + ) -> *mut Path; + pub fn create_valuesscan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + required_outer: Relids, + ) -> *mut Path; + pub fn create_tablefuncscan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + required_outer: Relids, + ) -> *mut Path; + pub fn create_ctescan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + pathkeys: *mut List, + required_outer: Relids, + ) -> *mut Path; + pub fn create_namedtuplestorescan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + required_outer: Relids, + ) -> *mut Path; + pub fn create_resultscan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + required_outer: Relids, + ) -> *mut Path; + pub fn create_worktablescan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + required_outer: Relids, + ) -> *mut Path; + pub fn create_foreignscan_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + target: *mut PathTarget, + rows: f64, + disabled_nodes: ::core::ffi::c_int, + startup_cost: Cost, + total_cost: Cost, + pathkeys: *mut List, + required_outer: Relids, + fdw_outerpath: *mut Path, + fdw_restrictinfo: *mut List, + fdw_private: *mut List, + ) -> *mut ForeignPath; + pub fn create_foreign_join_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + target: *mut PathTarget, + rows: f64, + disabled_nodes: ::core::ffi::c_int, + startup_cost: Cost, + total_cost: Cost, + pathkeys: *mut List, + required_outer: Relids, + fdw_outerpath: *mut Path, + fdw_restrictinfo: *mut List, + fdw_private: *mut List, + ) -> *mut ForeignPath; + pub fn create_foreign_upper_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + target: *mut PathTarget, + rows: f64, + disabled_nodes: ::core::ffi::c_int, + startup_cost: Cost, + total_cost: Cost, + pathkeys: *mut List, + fdw_outerpath: *mut Path, + fdw_restrictinfo: *mut List, + fdw_private: *mut List, + ) -> *mut ForeignPath; + pub fn calc_nestloop_required_outer( + outerrelids: Relids, + outer_paramrels: Relids, + innerrelids: Relids, + inner_paramrels: Relids, + ) -> Relids; + pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) + -> Relids; + pub fn create_nestloop_path( + root: *mut PlannerInfo, + joinrel: *mut RelOptInfo, + jointype: JoinType::Type, + workspace: *mut JoinCostWorkspace, + extra: *mut JoinPathExtraData, + outer_path: *mut Path, + inner_path: *mut Path, + restrict_clauses: *mut List, + pathkeys: *mut List, + required_outer: Relids, + ) -> *mut NestPath; + pub fn create_mergejoin_path( + root: *mut PlannerInfo, + joinrel: *mut RelOptInfo, + jointype: JoinType::Type, + workspace: *mut JoinCostWorkspace, + extra: *mut JoinPathExtraData, + outer_path: *mut Path, + inner_path: *mut Path, + restrict_clauses: *mut List, + pathkeys: *mut List, + required_outer: Relids, + mergeclauses: *mut List, + outersortkeys: *mut List, + innersortkeys: *mut List, + ) -> *mut MergePath; + pub fn create_hashjoin_path( + root: *mut PlannerInfo, + joinrel: *mut RelOptInfo, + jointype: JoinType::Type, + workspace: *mut JoinCostWorkspace, + extra: *mut JoinPathExtraData, + outer_path: *mut Path, + inner_path: *mut Path, + parallel_hash: bool, + restrict_clauses: *mut List, + required_outer: Relids, + hashclauses: *mut List, + ) -> *mut HashPath; + pub fn create_projection_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + target: *mut PathTarget, + ) -> *mut ProjectionPath; + pub fn apply_projection_to_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + path: *mut Path, + target: *mut PathTarget, + ) -> *mut Path; + pub fn create_set_projection_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + target: *mut PathTarget, + ) -> *mut ProjectSetPath; + pub fn create_sort_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + pathkeys: *mut List, + limit_tuples: f64, + ) -> *mut SortPath; + pub fn create_incremental_sort_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + pathkeys: *mut List, + presorted_keys: ::core::ffi::c_int, + limit_tuples: f64, + ) -> *mut IncrementalSortPath; + pub fn create_group_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + groupClause: *mut List, + qual: *mut List, + numGroups: f64, + ) -> *mut GroupPath; + pub fn create_upper_unique_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + numCols: ::core::ffi::c_int, + numGroups: f64, + ) -> *mut UpperUniquePath; + pub fn create_agg_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + target: *mut PathTarget, + aggstrategy: AggStrategy::Type, + aggsplit: AggSplit::Type, + groupClause: *mut List, + qual: *mut List, + aggcosts: *const AggClauseCosts, + numGroups: f64, + ) -> *mut AggPath; + pub fn create_groupingsets_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + having_qual: *mut List, + aggstrategy: AggStrategy::Type, + rollups: *mut List, + agg_costs: *const AggClauseCosts, + ) -> *mut GroupingSetsPath; + pub fn create_minmaxagg_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + target: *mut PathTarget, + mmaggregates: *mut List, + quals: *mut List, + ) -> *mut MinMaxAggPath; + pub fn create_windowagg_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + target: *mut PathTarget, + windowFuncs: *mut List, + runCondition: *mut List, + winclause: *mut WindowClause, + qual: *mut List, + topwindow: bool, + ) -> *mut WindowAggPath; + pub fn create_setop_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + leftpath: *mut Path, + rightpath: *mut Path, + cmd: SetOpCmd::Type, + strategy: SetOpStrategy::Type, + groupList: *mut List, + numGroups: f64, + outputRows: f64, + ) -> *mut SetOpPath; + pub fn create_recursiveunion_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + leftpath: *mut Path, + rightpath: *mut Path, + target: *mut PathTarget, + distinctList: *mut List, + wtParam: ::core::ffi::c_int, + numGroups: f64, + ) -> *mut RecursiveUnionPath; + pub fn create_lockrows_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + rowMarks: *mut List, + epqParam: ::core::ffi::c_int, + ) -> *mut LockRowsPath; + pub fn create_modifytable_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + operation: CmdType::Type, + canSetTag: bool, + nominalRelation: Index, + rootRelation: Index, + partColsUpdated: bool, + resultRelations: *mut List, + updateColnosLists: *mut List, + withCheckOptionLists: *mut List, + returningLists: *mut List, + rowMarks: *mut List, + onconflict: *mut OnConflictExpr, + mergeActionLists: *mut List, + mergeJoinConditions: *mut List, + epqParam: ::core::ffi::c_int, + ) -> *mut ModifyTablePath; + pub fn create_limit_path( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subpath: *mut Path, + limitOffset: *mut Node, + limitCount: *mut Node, + limitOption: LimitOption::Type, + offset_est: int64, + count_est: int64, + ) -> *mut LimitPath; + pub fn adjust_limit_rows_costs( + rows: *mut f64, + startup_cost: *mut Cost, + total_cost: *mut Cost, + offset_est: int64, + count_est: int64, + ); + pub fn reparameterize_path( + root: *mut PlannerInfo, + path: *mut Path, + required_outer: Relids, + loop_count: f64, + ) -> *mut Path; + pub fn reparameterize_path_by_child( + root: *mut PlannerInfo, + path: *mut Path, + child_rel: *mut RelOptInfo, + ) -> *mut Path; + pub fn path_is_reparameterizable_by_child(path: *mut Path, child_rel: *mut RelOptInfo) -> bool; + pub fn setup_simple_rel_arrays(root: *mut PlannerInfo); + pub fn expand_planner_arrays(root: *mut PlannerInfo, add_size: ::core::ffi::c_int); + pub fn build_simple_rel( + root: *mut PlannerInfo, + relid: ::core::ffi::c_int, + parent: *mut RelOptInfo, + ) -> *mut RelOptInfo; + pub fn find_base_rel(root: *mut PlannerInfo, relid: ::core::ffi::c_int) -> *mut RelOptInfo; + pub fn find_base_rel_noerr( + root: *mut PlannerInfo, + relid: ::core::ffi::c_int, + ) -> *mut RelOptInfo; + pub fn find_base_rel_ignore_join( + root: *mut PlannerInfo, + relid: ::core::ffi::c_int, + ) -> *mut RelOptInfo; + pub fn find_join_rel(root: *mut PlannerInfo, relids: Relids) -> *mut RelOptInfo; + pub fn build_join_rel( + root: *mut PlannerInfo, + joinrelids: Relids, + outer_rel: *mut RelOptInfo, + inner_rel: *mut RelOptInfo, + sjinfo: *mut SpecialJoinInfo, + pushed_down_joins: *mut List, + restrictlist_ptr: *mut *mut List, + ) -> *mut RelOptInfo; + pub fn min_join_parameterization( + root: *mut PlannerInfo, + joinrelids: Relids, + outer_rel: *mut RelOptInfo, + inner_rel: *mut RelOptInfo, + ) -> Relids; + pub fn fetch_upper_rel( + root: *mut PlannerInfo, + kind: UpperRelationKind::Type, + relids: Relids, + ) -> *mut RelOptInfo; + pub fn find_childrel_parents(root: *mut PlannerInfo, rel: *mut RelOptInfo) -> Relids; + pub fn get_baserel_parampathinfo( + root: *mut PlannerInfo, + baserel: *mut RelOptInfo, + required_outer: Relids, + ) -> *mut ParamPathInfo; + pub fn get_joinrel_parampathinfo( + root: *mut PlannerInfo, + joinrel: *mut RelOptInfo, + outer_path: *mut Path, + inner_path: *mut Path, + sjinfo: *mut SpecialJoinInfo, + required_outer: Relids, + restrict_clauses: *mut *mut List, + ) -> *mut ParamPathInfo; + pub fn get_appendrel_parampathinfo( + appendrel: *mut RelOptInfo, + required_outer: Relids, + ) -> *mut ParamPathInfo; + pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) + -> *mut ParamPathInfo; + pub fn get_param_path_clause_serials(path: *mut Path) -> *mut Bitmapset; + pub fn build_child_join_rel( + root: *mut PlannerInfo, + outer_rel: *mut RelOptInfo, + inner_rel: *mut RelOptInfo, + parent_joinrel: *mut RelOptInfo, + restrictlist: *mut List, + sjinfo: *mut SpecialJoinInfo, + nappinfos: ::core::ffi::c_int, + appinfos: *mut *mut AppendRelInfo, + ) -> *mut RelOptInfo; + pub static mut enable_geqo: bool; + pub static mut geqo_threshold: ::core::ffi::c_int; + pub static mut min_parallel_table_scan_size: ::core::ffi::c_int; + pub static mut min_parallel_index_scan_size: ::core::ffi::c_int; + pub static mut enable_group_by_reordering: bool; + pub static mut set_rel_pathlist_hook: set_rel_pathlist_hook_type; + pub static mut set_join_pathlist_hook: set_join_pathlist_hook_type; + pub static mut join_search_hook: join_search_hook_type; + pub fn make_one_rel(root: *mut PlannerInfo, joinlist: *mut List) -> *mut RelOptInfo; + pub fn standard_join_search( + root: *mut PlannerInfo, + levels_needed: ::core::ffi::c_int, + initial_rels: *mut List, + ) -> *mut RelOptInfo; + pub fn generate_gather_paths(root: *mut PlannerInfo, rel: *mut RelOptInfo, override_rows: bool); + pub fn generate_useful_gather_paths( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + override_rows: bool, + ); + pub fn compute_parallel_worker( + rel: *mut RelOptInfo, + heap_pages: f64, + index_pages: f64, + max_workers: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn create_partial_bitmap_paths( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + bitmapqual: *mut Path, + ); + pub fn generate_partitionwise_join_paths(root: *mut PlannerInfo, rel: *mut RelOptInfo); + pub fn create_index_paths(root: *mut PlannerInfo, rel: *mut RelOptInfo); + pub fn relation_has_unique_index_for( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + restrictlist: *mut List, + exprlist: *mut List, + oprlist: *mut List, + ) -> bool; + pub fn relation_has_unique_index_ext( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + restrictlist: *mut List, + exprlist: *mut List, + oprlist: *mut List, + extra_clauses: *mut *mut List, + ) -> bool; + pub fn indexcol_is_bool_constant_for_query( + root: *mut PlannerInfo, + index: *mut IndexOptInfo, + indexcol: ::core::ffi::c_int, + ) -> bool; + pub fn match_index_to_operand( + operand: *mut Node, + indexcol: ::core::ffi::c_int, + index: *mut IndexOptInfo, + ) -> bool; + pub fn check_index_predicates(root: *mut PlannerInfo, rel: *mut RelOptInfo); + pub fn create_tidscan_paths(root: *mut PlannerInfo, rel: *mut RelOptInfo) -> bool; + pub fn add_paths_to_joinrel( + root: *mut PlannerInfo, + joinrel: *mut RelOptInfo, + outerrel: *mut RelOptInfo, + innerrel: *mut RelOptInfo, + jointype: JoinType::Type, + sjinfo: *mut SpecialJoinInfo, + restrictlist: *mut List, + ); + pub fn join_search_one_level(root: *mut PlannerInfo, level: ::core::ffi::c_int); + pub fn make_join_rel( + root: *mut PlannerInfo, + rel1: *mut RelOptInfo, + rel2: *mut RelOptInfo, + ) -> *mut RelOptInfo; + pub fn add_outer_joins_to_relids( + root: *mut PlannerInfo, + input_relids: Relids, + sjinfo: *mut SpecialJoinInfo, + pushed_down_joins: *mut *mut List, + ) -> Relids; + pub fn have_join_order_restriction( + root: *mut PlannerInfo, + rel1: *mut RelOptInfo, + rel2: *mut RelOptInfo, + ) -> bool; + pub fn have_dangerous_phv( + root: *mut PlannerInfo, + outer_relids: Relids, + inner_params: Relids, + ) -> bool; + pub fn mark_dummy_rel(rel: *mut RelOptInfo); + pub fn init_dummy_sjinfo( + sjinfo: *mut SpecialJoinInfo, + left_relids: Relids, + right_relids: Relids, + ); + pub fn process_equivalence( + root: *mut PlannerInfo, + p_restrictinfo: *mut *mut RestrictInfo, + jdomain: *mut JoinDomain, + ) -> bool; + pub fn canonicalize_ec_expression( + expr: *mut Expr, + req_type: Oid, + req_collation: Oid, + ) -> *mut Expr; + pub fn reconsider_outer_join_clauses(root: *mut PlannerInfo); + pub fn rebuild_eclass_attr_needed(root: *mut PlannerInfo); + pub fn get_eclass_for_sort_expr( + root: *mut PlannerInfo, + expr: *mut Expr, + opfamilies: *mut List, + opcintype: Oid, + collation: Oid, + sortref: Index, + rel: Relids, + create_it: bool, + ) -> *mut EquivalenceClass; + pub fn find_ec_member_matching_expr( + ec: *mut EquivalenceClass, + expr: *mut Expr, + relids: Relids, + ) -> *mut EquivalenceMember; + pub fn find_computable_ec_member( + root: *mut PlannerInfo, + ec: *mut EquivalenceClass, + exprs: *mut List, + relids: Relids, + require_parallel_safe: bool, + ) -> *mut EquivalenceMember; + pub fn relation_can_be_sorted_early( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + ec: *mut EquivalenceClass, + require_parallel_safe: bool, + ) -> bool; + pub fn generate_base_implied_equalities(root: *mut PlannerInfo); + pub fn generate_join_implied_equalities( + root: *mut PlannerInfo, + join_relids: Relids, + outer_relids: Relids, + inner_rel: *mut RelOptInfo, + sjinfo: *mut SpecialJoinInfo, + ) -> *mut List; + pub fn generate_join_implied_equalities_for_ecs( + root: *mut PlannerInfo, + eclasses: *mut List, + join_relids: Relids, + outer_relids: Relids, + inner_rel: *mut RelOptInfo, + ) -> *mut List; + pub fn exprs_known_equal( + root: *mut PlannerInfo, + item1: *mut Node, + item2: *mut Node, + opfamily: Oid, + ) -> bool; + pub fn match_eclasses_to_foreign_key_col( + root: *mut PlannerInfo, + fkinfo: *mut ForeignKeyOptInfo, + colno: ::core::ffi::c_int, + ) -> *mut EquivalenceClass; + pub fn find_derived_clause_for_ec_member( + root: *mut PlannerInfo, + ec: *mut EquivalenceClass, + em: *mut EquivalenceMember, + ) -> *mut RestrictInfo; + pub fn add_child_rel_equivalences( + root: *mut PlannerInfo, + appinfo: *mut AppendRelInfo, + parent_rel: *mut RelOptInfo, + child_rel: *mut RelOptInfo, + ); + pub fn add_child_join_rel_equivalences( + root: *mut PlannerInfo, + nappinfos: ::core::ffi::c_int, + appinfos: *mut *mut AppendRelInfo, + parent_joinrel: *mut RelOptInfo, + child_joinrel: *mut RelOptInfo, + ); + pub fn add_setop_child_rel_equivalences( + root: *mut PlannerInfo, + child_rel: *mut RelOptInfo, + child_tlist: *mut List, + setop_pathkeys: *mut List, + ); + pub fn setup_eclass_member_iterator( + it: *mut EquivalenceMemberIterator, + ec: *mut EquivalenceClass, + child_relids: Relids, + ); + pub fn eclass_member_iterator_next( + it: *mut EquivalenceMemberIterator, + ) -> *mut EquivalenceMember; + pub fn generate_implied_equalities_for_column( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + callback: ec_matches_callback_type, + callback_arg: *mut ::core::ffi::c_void, + prohibited_rels: Relids, + ) -> *mut List; + pub fn have_relevant_eclass_joinclause( + root: *mut PlannerInfo, + rel1: *mut RelOptInfo, + rel2: *mut RelOptInfo, + ) -> bool; + pub fn has_relevant_eclass_joinclause(root: *mut PlannerInfo, rel1: *mut RelOptInfo) -> bool; + pub fn eclass_useful_for_merging( + root: *mut PlannerInfo, + eclass: *mut EquivalenceClass, + rel: *mut RelOptInfo, + ) -> bool; + pub fn is_redundant_derived_clause(rinfo: *mut RestrictInfo, clauselist: *mut List) -> bool; + pub fn is_redundant_with_indexclauses( + rinfo: *mut RestrictInfo, + indexclauses: *mut List, + ) -> bool; + pub fn ec_clear_derived_clauses(ec: *mut EquivalenceClass); + pub fn compare_pathkeys(keys1: *mut List, keys2: *mut List) -> PathKeysComparison::Type; + pub fn pathkeys_contained_in(keys1: *mut List, keys2: *mut List) -> bool; + pub fn pathkeys_count_contained_in( + keys1: *mut List, + keys2: *mut List, + n_common: *mut ::core::ffi::c_int, + ) -> bool; + pub fn get_useful_group_keys_orderings(root: *mut PlannerInfo, path: *mut Path) -> *mut List; + pub fn get_cheapest_path_for_pathkeys( + paths: *mut List, + pathkeys: *mut List, + required_outer: Relids, + cost_criterion: CostSelector::Type, + require_parallel_safe: bool, + ) -> *mut Path; + pub fn get_cheapest_fractional_path_for_pathkeys( + paths: *mut List, + pathkeys: *mut List, + required_outer: Relids, + fraction: f64, + ) -> *mut Path; + pub fn get_cheapest_parallel_safe_total_inner(paths: *mut List) -> *mut Path; + pub fn build_index_pathkeys( + root: *mut PlannerInfo, + index: *mut IndexOptInfo, + scandir: ScanDirection::Type, + ) -> *mut List; + pub fn build_partition_pathkeys( + root: *mut PlannerInfo, + partrel: *mut RelOptInfo, + scandir: ScanDirection::Type, + partialkeys: *mut bool, + ) -> *mut List; + pub fn build_expression_pathkey( + root: *mut PlannerInfo, + expr: *mut Expr, + opno: Oid, + rel: Relids, + create_it: bool, + ) -> *mut List; + pub fn convert_subquery_pathkeys( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + subquery_pathkeys: *mut List, + subquery_tlist: *mut List, + ) -> *mut List; + pub fn build_join_pathkeys( + root: *mut PlannerInfo, + joinrel: *mut RelOptInfo, + jointype: JoinType::Type, + outer_pathkeys: *mut List, + ) -> *mut List; + pub fn make_pathkeys_for_sortclauses( + root: *mut PlannerInfo, + sortclauses: *mut List, + tlist: *mut List, + ) -> *mut List; + pub fn make_pathkeys_for_sortclauses_extended( + root: *mut PlannerInfo, + sortclauses: *mut *mut List, + tlist: *mut List, + remove_redundant: bool, + remove_group_rtindex: bool, + sortable: *mut bool, + set_ec_sortref: bool, + ) -> *mut List; + pub fn initialize_mergeclause_eclasses(root: *mut PlannerInfo, restrictinfo: *mut RestrictInfo); + pub fn update_mergeclause_eclasses(root: *mut PlannerInfo, restrictinfo: *mut RestrictInfo); + pub fn find_mergeclauses_for_outer_pathkeys( + root: *mut PlannerInfo, + pathkeys: *mut List, + restrictinfos: *mut List, + ) -> *mut List; + pub fn select_outer_pathkeys_for_merge( + root: *mut PlannerInfo, + mergeclauses: *mut List, + joinrel: *mut RelOptInfo, + ) -> *mut List; + pub fn make_inner_pathkeys_for_merge( + root: *mut PlannerInfo, + mergeclauses: *mut List, + outer_pathkeys: *mut List, + ) -> *mut List; + pub fn trim_mergeclauses_for_inner_pathkeys( + root: *mut PlannerInfo, + mergeclauses: *mut List, + pathkeys: *mut List, + ) -> *mut List; + pub fn truncate_useless_pathkeys( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + pathkeys: *mut List, + ) -> *mut List; + pub fn has_useful_pathkeys(root: *mut PlannerInfo, rel: *mut RelOptInfo) -> bool; + pub fn append_pathkeys(target: *mut List, source: *mut List) -> *mut List; + pub fn make_canonical_pathkey( + root: *mut PlannerInfo, + eclass: *mut EquivalenceClass, + opfamily: Oid, + cmptype: CompareType::Type, + nulls_first: bool, + ) -> *mut PathKey; + pub fn add_paths_to_append_rel( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + live_childrels: *mut List, + ); + pub static mut get_relation_info_hook: get_relation_info_hook_type; + pub fn get_relation_info( + root: *mut PlannerInfo, + relationObjectId: Oid, + inhparent: bool, + rel: *mut RelOptInfo, + ); + pub fn infer_arbiter_indexes(root: *mut PlannerInfo) -> *mut List; + pub fn estimate_rel_size( + rel: Relation, + attr_widths: *mut int32, + pages: *mut BlockNumber, + tuples: *mut f64, + allvisfrac: *mut f64, + ); + pub fn get_rel_data_width(rel: Relation, attr_widths: *mut int32) -> int32; + pub fn get_relation_data_width(relid: Oid, attr_widths: *mut int32) -> int32; + pub fn relation_excluded_by_constraints( + root: *mut PlannerInfo, + rel: *mut RelOptInfo, + rte: *mut RangeTblEntry, + ) -> bool; + pub fn build_physical_tlist(root: *mut PlannerInfo, rel: *mut RelOptInfo) -> *mut List; + pub fn has_unique_index(rel: *mut RelOptInfo, attno: AttrNumber) -> bool; + pub fn restriction_selectivity( + root: *mut PlannerInfo, + operatorid: Oid, + args: *mut List, + inputcollid: Oid, + varRelid: ::core::ffi::c_int, + ) -> Selectivity; + pub fn join_selectivity( + root: *mut PlannerInfo, + operatorid: Oid, + args: *mut List, + inputcollid: Oid, + jointype: JoinType::Type, + sjinfo: *mut SpecialJoinInfo, + ) -> Selectivity; + pub fn function_selectivity( + root: *mut PlannerInfo, + funcid: Oid, + args: *mut List, + inputcollid: Oid, + is_join: bool, + varRelid: ::core::ffi::c_int, + jointype: JoinType::Type, + sjinfo: *mut SpecialJoinInfo, + ) -> Selectivity; + pub fn add_function_cost( + root: *mut PlannerInfo, + funcid: Oid, + node: *mut Node, + cost: *mut QualCost, + ); + pub fn get_function_rows(root: *mut PlannerInfo, funcid: Oid, node: *mut Node) -> f64; + pub fn has_row_triggers(root: *mut PlannerInfo, rti: Index, event: CmdType::Type) -> bool; + pub fn has_stored_generated_columns(root: *mut PlannerInfo, rti: Index) -> bool; + pub fn get_dependent_generated_columns( + root: *mut PlannerInfo, + rti: Index, + target_cols: *mut Bitmapset, + ) -> *mut Bitmapset; + pub static mut cursor_tuple_fraction: f64; + pub static mut enable_self_join_elimination: bool; + pub fn query_planner( + root: *mut PlannerInfo, + qp_callback: query_pathkeys_callback, + qp_extra: *mut ::core::ffi::c_void, + ) -> *mut RelOptInfo; + pub fn preprocess_minmax_aggregates(root: *mut PlannerInfo); + pub fn create_plan(root: *mut PlannerInfo, best_path: *mut Path) -> *mut Plan; + pub fn make_foreignscan( + qptlist: *mut List, + qpqual: *mut List, + scanrelid: Index, + fdw_exprs: *mut List, + fdw_private: *mut List, + fdw_scan_tlist: *mut List, + fdw_recheck_quals: *mut List, + outer_plan: *mut Plan, + ) -> *mut ForeignScan; + pub fn change_plan_targetlist( + subplan: *mut Plan, + tlist: *mut List, + tlist_parallel_safe: bool, + ) -> *mut Plan; + pub fn materialize_finished_plan(subplan: *mut Plan) -> *mut Plan; + pub fn is_projection_capable_path(path: *mut Path) -> bool; + pub fn is_projection_capable_plan(plan: *mut Plan) -> bool; + pub fn make_sort_from_sortclauses(sortcls: *mut List, lefttree: *mut Plan) -> *mut Sort; + pub fn make_agg( + tlist: *mut List, + qual: *mut List, + aggstrategy: AggStrategy::Type, + aggsplit: AggSplit::Type, + numGroupCols: ::core::ffi::c_int, + grpColIdx: *mut AttrNumber, + grpOperators: *mut Oid, + grpCollations: *mut Oid, + groupingSets: *mut List, + chain: *mut List, + dNumGroups: f64, + transitionSpace: Size, + lefttree: *mut Plan, + ) -> *mut Agg; + pub fn make_limit( + lefttree: *mut Plan, + limitOffset: *mut Node, + limitCount: *mut Node, + limitOption: LimitOption::Type, + uniqNumCols: ::core::ffi::c_int, + uniqColIdx: *mut AttrNumber, + uniqOperators: *mut Oid, + uniqCollations: *mut Oid, + ) -> *mut Limit; + pub static mut from_collapse_limit: ::core::ffi::c_int; + pub static mut join_collapse_limit: ::core::ffi::c_int; + pub fn add_base_rels_to_query(root: *mut PlannerInfo, jtnode: *mut Node); + pub fn add_other_rels_to_query(root: *mut PlannerInfo); + pub fn build_base_rel_tlists(root: *mut PlannerInfo, final_tlist: *mut List); + pub fn add_vars_to_targetlist(root: *mut PlannerInfo, vars: *mut List, where_needed: Relids); + pub fn add_vars_to_attr_needed(root: *mut PlannerInfo, vars: *mut List, where_needed: Relids); + pub fn remove_useless_groupby_columns(root: *mut PlannerInfo); + pub fn find_lateral_references(root: *mut PlannerInfo); + pub fn rebuild_lateral_attr_needed(root: *mut PlannerInfo); + pub fn create_lateral_join_info(root: *mut PlannerInfo); + pub fn deconstruct_jointree(root: *mut PlannerInfo) -> *mut List; + pub fn restriction_is_always_true( + root: *mut PlannerInfo, + restrictinfo: *mut RestrictInfo, + ) -> bool; + pub fn restriction_is_always_false( + root: *mut PlannerInfo, + restrictinfo: *mut RestrictInfo, + ) -> bool; + pub fn distribute_restrictinfo_to_rels(root: *mut PlannerInfo, restrictinfo: *mut RestrictInfo); + pub fn process_implied_equality( + root: *mut PlannerInfo, + opno: Oid, + collation: Oid, + item1: *mut Expr, + item2: *mut Expr, + qualscope: Relids, + security_level: Index, + both_const: bool, + ) -> *mut RestrictInfo; + pub fn build_implied_join_equality( + root: *mut PlannerInfo, + opno: Oid, + collation: Oid, + item1: *mut Expr, + item2: *mut Expr, + qualscope: Relids, + security_level: Index, + ) -> *mut RestrictInfo; + pub fn rebuild_joinclause_attr_needed(root: *mut PlannerInfo); + pub fn match_foreign_keys_to_quals(root: *mut PlannerInfo); + pub fn remove_useless_joins(root: *mut PlannerInfo, joinlist: *mut List) -> *mut List; + pub fn reduce_unique_semijoins(root: *mut PlannerInfo); + pub fn query_supports_distinctness(query: *mut Query) -> bool; + pub fn query_is_distinct_for(query: *mut Query, colnos: *mut List, opids: *mut List) -> bool; + pub fn innerrel_is_unique( + root: *mut PlannerInfo, + joinrelids: Relids, + outerrelids: Relids, + innerrel: *mut RelOptInfo, + jointype: JoinType::Type, + restrictlist: *mut List, + force_cache: bool, + ) -> bool; + pub fn innerrel_is_unique_ext( + root: *mut PlannerInfo, + joinrelids: Relids, + outerrelids: Relids, + innerrel: *mut RelOptInfo, + jointype: JoinType::Type, + restrictlist: *mut List, + force_cache: bool, + extra_clauses: *mut *mut List, + ) -> bool; + pub fn remove_useless_self_joins(root: *mut PlannerInfo, joinlist: *mut List) -> *mut List; + pub fn set_plan_references(root: *mut PlannerInfo, plan: *mut Plan) -> *mut Plan; + pub fn trivial_subqueryscan(plan: *mut SubqueryScan) -> bool; + pub fn find_minmax_agg_replacement_param( + root: *mut PlannerInfo, + aggref: *mut Aggref, + ) -> *mut Param; + pub fn record_plan_function_dependency(root: *mut PlannerInfo, funcid: Oid); + pub fn record_plan_type_dependency(root: *mut PlannerInfo, typid: Oid); + pub fn extract_query_dependencies_walker(node: *mut Node, context: *mut PlannerInfo) -> bool; + pub static mut planner_hook: planner_hook_type; + pub static mut create_upper_paths_hook: create_upper_paths_hook_type; + pub fn standard_planner( + parse: *mut Query, + query_string: *const ::core::ffi::c_char, + cursorOptions: ::core::ffi::c_int, + boundParams: ParamListInfo, + ) -> *mut PlannedStmt; + pub fn subquery_planner( + glob: *mut PlannerGlobal, + parse: *mut Query, + parent_root: *mut PlannerInfo, + hasRecursion: bool, + tuple_fraction: f64, + setops: *mut SetOperationStmt, + ) -> *mut PlannerInfo; + pub fn select_rowmark_type( + rte: *mut RangeTblEntry, + strength: LockClauseStrength::Type, + ) -> RowMarkType::Type; + pub fn limit_needed(parse: *mut Query) -> bool; + pub fn mark_partial_aggref(agg: *mut Aggref, aggsplit: AggSplit::Type); + pub fn get_cheapest_fractional_path(rel: *mut RelOptInfo, tuple_fraction: f64) -> *mut Path; + pub fn preprocess_phv_expression(root: *mut PlannerInfo, expr: *mut Expr) -> *mut Expr; + pub fn make_plain_restrictinfo( + root: *mut PlannerInfo, + clause: *mut Expr, + orclause: *mut Expr, + is_pushed_down: bool, + has_clone: bool, + is_clone: bool, + pseudoconstant: bool, + security_level: Index, + required_relids: Relids, + incompatible_relids: Relids, + outer_relids: Relids, + ) -> *mut RestrictInfo; + pub fn make_restrictinfo( + root: *mut PlannerInfo, + clause: *mut Expr, + is_pushed_down: bool, + has_clone: bool, + is_clone: bool, + pseudoconstant: bool, + security_level: Index, + required_relids: Relids, + incompatible_relids: Relids, + outer_relids: Relids, + ) -> *mut RestrictInfo; + pub fn commute_restrictinfo(rinfo: *mut RestrictInfo, comm_op: Oid) -> *mut RestrictInfo; + pub fn restriction_is_or_clause(restrictinfo: *mut RestrictInfo) -> bool; + pub fn restriction_is_securely_promotable( + restrictinfo: *mut RestrictInfo, + rel: *mut RelOptInfo, + ) -> bool; + pub fn get_actual_clauses(restrictinfo_list: *mut List) -> *mut List; + pub fn extract_actual_clauses(restrictinfo_list: *mut List, pseudoconstant: bool) -> *mut List; + pub fn extract_actual_join_clauses( + restrictinfo_list: *mut List, + joinrelids: Relids, + joinquals: *mut *mut List, + otherquals: *mut *mut List, + ); + pub fn join_clause_is_movable_to(rinfo: *mut RestrictInfo, baserel: *mut RelOptInfo) -> bool; + pub fn join_clause_is_movable_into( + rinfo: *mut RestrictInfo, + currentrelids: Relids, + current_and_outer: Relids, + ) -> bool; + pub fn tlist_member(node: *mut Expr, targetlist: *mut List) -> *mut TargetEntry; + pub fn add_to_flat_tlist(tlist: *mut List, exprs: *mut List) -> *mut List; + pub fn get_tlist_exprs(tlist: *mut List, includeJunk: bool) -> *mut List; + pub fn tlist_same_exprs(tlist1: *mut List, tlist2: *mut List) -> bool; + pub fn tlist_same_datatypes(tlist: *mut List, colTypes: *mut List, junkOK: bool) -> bool; + pub fn tlist_same_collations(tlist: *mut List, colCollations: *mut List, junkOK: bool) -> bool; + pub fn apply_tlist_labeling(dest_tlist: *mut List, src_tlist: *mut List); + pub fn extract_grouping_ops(groupClause: *mut List) -> *mut Oid; + pub fn extract_grouping_collations(groupClause: *mut List, tlist: *mut List) -> *mut Oid; + pub fn extract_grouping_cols(groupClause: *mut List, tlist: *mut List) -> *mut AttrNumber; + pub fn grouping_is_sortable(groupClause: *mut List) -> bool; + pub fn grouping_is_hashable(groupClause: *mut List) -> bool; + pub fn make_pathtarget_from_tlist(tlist: *mut List) -> *mut PathTarget; + pub fn make_tlist_from_pathtarget(target: *mut PathTarget) -> *mut List; + pub fn copy_pathtarget(src: *mut PathTarget) -> *mut PathTarget; + pub fn create_empty_pathtarget() -> *mut PathTarget; + pub fn add_column_to_pathtarget(target: *mut PathTarget, expr: *mut Expr, sortgroupref: Index); + pub fn add_new_column_to_pathtarget(target: *mut PathTarget, expr: *mut Expr); + pub fn add_new_columns_to_pathtarget(target: *mut PathTarget, exprs: *mut List); + pub fn apply_pathtarget_labeling_to_tlist(tlist: *mut List, target: *mut PathTarget); + pub fn split_pathtarget_at_srfs( + root: *mut PlannerInfo, + target: *mut PathTarget, + input_target: *mut PathTarget, + targets: *mut *mut List, + targets_contain_srfs: *mut *mut List, + ); + pub static mut compute_query_id: ::core::ffi::c_int; + pub fn CleanQuerytext( + query: *const ::core::ffi::c_char, + location: *mut ::core::ffi::c_int, + len: *mut ::core::ffi::c_int, + ) -> *const ::core::ffi::c_char; + pub fn JumbleQuery(query: *mut Query) -> *mut JumbleState; + pub fn EnableQueryId(); + pub static mut query_id_enabled: bool; + pub static mut post_parse_analyze_hook: post_parse_analyze_hook_type; + pub fn parse_analyze_fixedparams( + parseTree: *mut RawStmt, + sourceText: *const ::core::ffi::c_char, + paramTypes: *const Oid, + numParams: ::core::ffi::c_int, + queryEnv: *mut QueryEnvironment, + ) -> *mut Query; + pub fn parse_analyze_varparams( + parseTree: *mut RawStmt, + sourceText: *const ::core::ffi::c_char, + paramTypes: *mut *mut Oid, + numParams: *mut ::core::ffi::c_int, + queryEnv: *mut QueryEnvironment, + ) -> *mut Query; + pub fn parse_analyze_withcb( + parseTree: *mut RawStmt, + sourceText: *const ::core::ffi::c_char, + parserSetup: ParserSetupHook, + parserSetupArg: *mut ::core::ffi::c_void, + queryEnv: *mut QueryEnvironment, + ) -> *mut Query; + pub fn parse_sub_analyze( + parseTree: *mut Node, + parentParseState: *mut ParseState, + parentCTE: *mut CommonTableExpr, + locked_from_parent: bool, + resolve_unknowns: bool, + ) -> *mut Query; + pub fn transformInsertRow( + pstate: *mut ParseState, + exprlist: *mut List, + stmtcols: *mut List, + icolumns: *mut List, + attrnos: *mut List, + strip_indirection: bool, + ) -> *mut List; + pub fn transformUpdateTargetList(pstate: *mut ParseState, origTlist: *mut List) -> *mut List; + pub fn transformReturningClause( + pstate: *mut ParseState, + qry: *mut Query, + returningClause: *mut ReturningClause, + exprKind: ParseExprKind::Type, + ); + pub fn transformTopLevelStmt(pstate: *mut ParseState, parseTree: *mut RawStmt) -> *mut Query; + pub fn transformStmt(pstate: *mut ParseState, parseTree: *mut Node) -> *mut Query; + pub fn stmt_requires_parse_analysis(parseTree: *mut RawStmt) -> bool; + pub fn analyze_requires_snapshot(parseTree: *mut RawStmt) -> bool; + pub fn query_requires_rewrite_plan(query: *mut Query) -> bool; + pub fn LCS_asString(strength: LockClauseStrength::Type) -> *const ::core::ffi::c_char; + pub fn CheckSelectLocking(qry: *mut Query, strength: LockClauseStrength::Type); + pub fn applyLockingClause( + qry: *mut Query, + rtindex: Index, + strength: LockClauseStrength::Type, + waitPolicy: LockWaitPolicy::Type, + pushedDown: bool, + ); + pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) + -> *mut List; + pub fn makeSortGroupClauseForSetOp(rescoltype: Oid, require_hash: bool) + -> *mut SortGroupClause; + pub fn assign_query_collations(pstate: *mut ParseState, query: *mut Query); + pub fn assign_list_collations(pstate: *mut ParseState, exprs: *mut List); + pub fn assign_expr_collations(pstate: *mut ParseState, expr: *mut Node); + pub fn select_common_collation(pstate: *mut ParseState, exprs: *mut List, none_ok: bool) + -> Oid; + pub static mut Transform_null_equals: bool; + pub fn transformExpr( + pstate: *mut ParseState, + expr: *mut Node, + exprKind: ParseExprKind::Type, + ) -> *mut Node; + pub fn ParseExprKindName(exprKind: ParseExprKind::Type) -> *const ::core::ffi::c_char; + pub fn ParseFuncOrColumn( + pstate: *mut ParseState, + funcname: *mut List, + fargs: *mut List, + last_srf: *mut Node, + fn_: *mut FuncCall, + proc_call: bool, + location: ::core::ffi::c_int, + ) -> *mut Node; + pub fn func_get_detail( + funcname: *mut List, + fargs: *mut List, + fargnames: *mut List, + nargs: ::core::ffi::c_int, + argtypes: *mut Oid, + expand_variadic: bool, + expand_defaults: bool, + include_out_arguments: bool, + funcid: *mut Oid, + rettype: *mut Oid, + retset: *mut bool, + nvargs: *mut ::core::ffi::c_int, + vatype: *mut Oid, + true_typeids: *mut *mut Oid, + argdefaults: *mut *mut List, + ) -> FuncDetailCode::Type; + pub fn func_match_argtypes( + nargs: ::core::ffi::c_int, + input_typeids: *mut Oid, + raw_candidates: FuncCandidateList, + candidates: *mut FuncCandidateList, + ) -> ::core::ffi::c_int; + pub fn func_select_candidate( + nargs: ::core::ffi::c_int, + input_typeids: *mut Oid, + candidates: FuncCandidateList, + ) -> FuncCandidateList; + pub fn make_fn_arguments( + pstate: *mut ParseState, + fargs: *mut List, + actual_arg_types: *mut Oid, + declared_arg_types: *mut Oid, + ); + pub fn funcname_signature_string( + funcname: *const ::core::ffi::c_char, + nargs: ::core::ffi::c_int, + argnames: *mut List, + argtypes: *const Oid, + ) -> *const ::core::ffi::c_char; + pub fn func_signature_string( + funcname: *mut List, + nargs: ::core::ffi::c_int, + argnames: *mut List, + argtypes: *const Oid, + ) -> *const ::core::ffi::c_char; + pub fn LookupFuncName( + funcname: *mut List, + nargs: ::core::ffi::c_int, + argtypes: *const Oid, + missing_ok: bool, + ) -> Oid; + pub fn LookupFuncWithArgs( + objtype: ObjectType::Type, + func: *mut ObjectWithArgs, + missing_ok: bool, + ) -> Oid; + pub fn check_srf_call_placement( + pstate: *mut ParseState, + last_srf: *mut Node, + location: ::core::ffi::c_int, + ); + pub fn LookupOperName( + pstate: *mut ParseState, + opername: *mut List, + oprleft: Oid, + oprright: Oid, + noError: bool, + location: ::core::ffi::c_int, + ) -> Oid; + pub fn LookupOperWithArgs(oper: *mut ObjectWithArgs, noError: bool) -> Oid; + pub fn oper( + pstate: *mut ParseState, + opname: *mut List, + ltypeId: Oid, + rtypeId: Oid, + noError: bool, + location: ::core::ffi::c_int, + ) -> Operator; + pub fn left_oper( + pstate: *mut ParseState, + op: *mut List, + arg: Oid, + noError: bool, + location: ::core::ffi::c_int, + ) -> Operator; + pub fn compatible_oper( + pstate: *mut ParseState, + op: *mut List, + arg1: Oid, + arg2: Oid, + noError: bool, + location: ::core::ffi::c_int, + ) -> Operator; + pub fn op_signature_string(op: *mut List, arg1: Oid, arg2: Oid) -> *const ::core::ffi::c_char; + pub fn get_sort_group_operators( + argtype: Oid, + needLT: bool, + needEQ: bool, + needGT: bool, + ltOpr: *mut Oid, + eqOpr: *mut Oid, + gtOpr: *mut Oid, + isHashable: *mut bool, + ); + pub fn compatible_oper_opid(op: *mut List, arg1: Oid, arg2: Oid, noError: bool) -> Oid; + pub fn oprid(op: Operator) -> Oid; + pub fn oprfuncid(op: Operator) -> Oid; + pub fn make_op( + pstate: *mut ParseState, + opname: *mut List, + ltree: *mut Node, + rtree: *mut Node, + last_srf: *mut Node, + location: ::core::ffi::c_int, + ) -> *mut Expr; + pub fn make_scalar_array_op( + pstate: *mut ParseState, + opname: *mut List, + useOr: bool, + ltree: *mut Node, + rtree: *mut Node, + location: ::core::ffi::c_int, + ) -> *mut Expr; + pub fn refnameNamespaceItem( + pstate: *mut ParseState, + schemaname: *const ::core::ffi::c_char, + refname: *const ::core::ffi::c_char, + location: ::core::ffi::c_int, + sublevels_up: *mut ::core::ffi::c_int, + ) -> *mut ParseNamespaceItem; + pub fn scanNameSpaceForCTE( + pstate: *mut ParseState, + refname: *const ::core::ffi::c_char, + ctelevelsup: *mut Index, + ) -> *mut CommonTableExpr; + pub fn scanNameSpaceForENR( + pstate: *mut ParseState, + refname: *const ::core::ffi::c_char, + ) -> bool; + pub fn checkNameSpaceConflicts( + pstate: *mut ParseState, + namespace1: *mut List, + namespace2: *mut List, + ); + pub fn GetNSItemByRangeTablePosn( + pstate: *mut ParseState, + varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ) -> *mut ParseNamespaceItem; + pub fn GetRTEByRangeTablePosn( + pstate: *mut ParseState, + varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ) -> *mut RangeTblEntry; + pub fn GetCTEForRTE( + pstate: *mut ParseState, + rte: *mut RangeTblEntry, + rtelevelsup: ::core::ffi::c_int, + ) -> *mut CommonTableExpr; + pub fn scanNSItemForColumn( + pstate: *mut ParseState, + nsitem: *mut ParseNamespaceItem, + sublevels_up: ::core::ffi::c_int, + colname: *const ::core::ffi::c_char, + location: ::core::ffi::c_int, + ) -> *mut Node; + pub fn colNameToVar( + pstate: *mut ParseState, + colname: *const ::core::ffi::c_char, + localonly: bool, + location: ::core::ffi::c_int, + ) -> *mut Node; + pub fn markNullableIfNeeded(pstate: *mut ParseState, var: *mut Var); + pub fn markVarForSelectPriv(pstate: *mut ParseState, var: *mut Var); + pub fn parserOpenTable( + pstate: *mut ParseState, + relation: *const RangeVar, + lockmode: ::core::ffi::c_int, + ) -> Relation; + pub fn addRangeTableEntry( + pstate: *mut ParseState, + relation: *mut RangeVar, + alias: *mut Alias, + inh: bool, + inFromCl: bool, + ) -> *mut ParseNamespaceItem; + pub fn addRangeTableEntryForRelation( + pstate: *mut ParseState, + rel: Relation, + lockmode: ::core::ffi::c_int, + alias: *mut Alias, + inh: bool, + inFromCl: bool, + ) -> *mut ParseNamespaceItem; + pub fn addRangeTableEntryForSubquery( + pstate: *mut ParseState, + subquery: *mut Query, + alias: *mut Alias, + lateral: bool, + inFromCl: bool, + ) -> *mut ParseNamespaceItem; + pub fn addRangeTableEntryForFunction( + pstate: *mut ParseState, + funcnames: *mut List, + funcexprs: *mut List, + coldeflists: *mut List, + rangefunc: *mut RangeFunction, + lateral: bool, + inFromCl: bool, + ) -> *mut ParseNamespaceItem; + pub fn addRangeTableEntryForValues( + pstate: *mut ParseState, + exprs: *mut List, + coltypes: *mut List, + coltypmods: *mut List, + colcollations: *mut List, + alias: *mut Alias, + lateral: bool, + inFromCl: bool, + ) -> *mut ParseNamespaceItem; + pub fn addRangeTableEntryForTableFunc( + pstate: *mut ParseState, + tf: *mut TableFunc, + alias: *mut Alias, + lateral: bool, + inFromCl: bool, + ) -> *mut ParseNamespaceItem; + pub fn addRangeTableEntryForJoin( + pstate: *mut ParseState, + colnames: *mut List, + nscolumns: *mut ParseNamespaceColumn, + jointype: JoinType::Type, + nummergedcols: ::core::ffi::c_int, + aliasvars: *mut List, + leftcols: *mut List, + rightcols: *mut List, + join_using_alias: *mut Alias, + alias: *mut Alias, + inFromCl: bool, + ) -> *mut ParseNamespaceItem; + pub fn addRangeTableEntryForCTE( + pstate: *mut ParseState, + cte: *mut CommonTableExpr, + levelsup: Index, + rv: *mut RangeVar, + inFromCl: bool, + ) -> *mut ParseNamespaceItem; + pub fn addRangeTableEntryForENR( + pstate: *mut ParseState, + rv: *mut RangeVar, + inFromCl: bool, + ) -> *mut ParseNamespaceItem; + pub fn addRangeTableEntryForGroup( + pstate: *mut ParseState, + groupClauses: *mut List, + ) -> *mut ParseNamespaceItem; + pub fn addRTEPermissionInfo( + rteperminfos: *mut *mut List, + rte: *mut RangeTblEntry, + ) -> *mut RTEPermissionInfo; + pub fn getRTEPermissionInfo( + rteperminfos: *mut List, + rte: *mut RangeTblEntry, + ) -> *mut RTEPermissionInfo; + pub fn isLockedRefname(pstate: *mut ParseState, refname: *const ::core::ffi::c_char) -> bool; + pub fn addNSItemToQuery( + pstate: *mut ParseState, + nsitem: *mut ParseNamespaceItem, + addToJoinList: bool, + addToRelNameSpace: bool, + addToVarNameSpace: bool, + ); + pub fn errorMissingRTE(pstate: *mut ParseState, relation: *mut RangeVar); + pub fn errorMissingColumn( + pstate: *mut ParseState, + relname: *const ::core::ffi::c_char, + colname: *const ::core::ffi::c_char, + location: ::core::ffi::c_int, + ); + pub fn expandRTE( + rte: *mut RangeTblEntry, + rtindex: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + returning_type: VarReturningType::Type, + location: ::core::ffi::c_int, + include_dropped: bool, + colnames: *mut *mut List, + colvars: *mut *mut List, + ); + pub fn expandNSItemVars( + pstate: *mut ParseState, + nsitem: *mut ParseNamespaceItem, + sublevels_up: ::core::ffi::c_int, + location: ::core::ffi::c_int, + colnames: *mut *mut List, + ) -> *mut List; + pub fn expandNSItemAttrs( + pstate: *mut ParseState, + nsitem: *mut ParseNamespaceItem, + sublevels_up: ::core::ffi::c_int, + require_col_privs: bool, + location: ::core::ffi::c_int, + ) -> *mut List; + pub fn attnameAttNum( + rd: Relation, + attname: *const ::core::ffi::c_char, + sysColOK: bool, + ) -> ::core::ffi::c_int; + pub fn attnumAttName(rd: Relation, attid: ::core::ffi::c_int) -> *const NameData; + pub fn attnumTypeId(rd: Relation, attid: ::core::ffi::c_int) -> Oid; + pub fn attnumCollationId(rd: Relation, attid: ::core::ffi::c_int) -> Oid; + pub fn isQueryUsingTempRelation(query: *mut Query) -> bool; + pub fn LookupTypeName( + pstate: *mut ParseState, + typeName: *const TypeName, + typmod_p: *mut int32, + missing_ok: bool, + ) -> Type; + pub fn LookupTypeNameExtended( + pstate: *mut ParseState, + typeName: *const TypeName, + typmod_p: *mut int32, + temp_ok: bool, + missing_ok: bool, + ) -> Type; + pub fn LookupTypeNameOid( + pstate: *mut ParseState, + typeName: *const TypeName, + missing_ok: bool, + ) -> Oid; + pub fn typenameType( + pstate: *mut ParseState, + typeName: *const TypeName, + typmod_p: *mut int32, + ) -> Type; + pub fn typenameTypeId(pstate: *mut ParseState, typeName: *const TypeName) -> Oid; + pub fn typenameTypeIdAndMod( + pstate: *mut ParseState, + typeName: *const TypeName, + typeid_p: *mut Oid, + typmod_p: *mut int32, + ); + pub fn TypeNameToString(typeName: *const TypeName) -> *mut ::core::ffi::c_char; + pub fn TypeNameListToString(typenames: *mut List) -> *mut ::core::ffi::c_char; + pub fn LookupCollation( + pstate: *mut ParseState, + collnames: *mut List, + location: ::core::ffi::c_int, + ) -> Oid; + pub fn GetColumnDefCollation( + pstate: *mut ParseState, + coldef: *const ColumnDef, + typeOid: Oid, + ) -> Oid; + pub fn typeidType(id: Oid) -> Type; + pub fn typeTypeId(tp: Type) -> Oid; + pub fn typeLen(t: Type) -> int16; + pub fn typeByVal(t: Type) -> bool; + pub fn typeTypeName(t: Type) -> *mut ::core::ffi::c_char; + pub fn typeTypeRelid(typ: Type) -> Oid; + pub fn typeTypeCollation(typ: Type) -> Oid; + pub fn stringTypeDatum(tp: Type, string: *mut ::core::ffi::c_char, atttypmod: int32) -> Datum; + pub fn typeidTypeRelid(type_id: Oid) -> Oid; + pub fn typeOrDomainTypeRelid(type_id: Oid) -> Oid; + pub fn typeStringToTypeName( + str_: *const ::core::ffi::c_char, + escontext: *mut Node, + ) -> *mut TypeName; + pub fn parseTypeString( + str_: *const ::core::ffi::c_char, + typeid_p: *mut Oid, + typmod_p: *mut int32, + escontext: *mut Node, + ) -> bool; + pub fn IsBinaryCoercible(srctype: Oid, targettype: Oid) -> bool; + pub fn IsBinaryCoercibleWithCast(srctype: Oid, targettype: Oid, castoid: *mut Oid) -> bool; + pub fn IsPreferredType(category: TYPCATEGORY, type_: Oid) -> bool; + pub fn TypeCategory(type_: Oid) -> TYPCATEGORY; + pub fn coerce_to_target_type( + pstate: *mut ParseState, + expr: *mut Node, + exprtype: Oid, + targettype: Oid, + targettypmod: int32, + ccontext: CoercionContext::Type, + cformat: CoercionForm::Type, + location: ::core::ffi::c_int, + ) -> *mut Node; + pub fn can_coerce_type( + nargs: ::core::ffi::c_int, + input_typeids: *const Oid, + target_typeids: *const Oid, + ccontext: CoercionContext::Type, + ) -> bool; + pub fn coerce_type( + pstate: *mut ParseState, + node: *mut Node, + inputTypeId: Oid, + targetTypeId: Oid, + targetTypeMod: int32, + ccontext: CoercionContext::Type, + cformat: CoercionForm::Type, + location: ::core::ffi::c_int, + ) -> *mut Node; + pub fn coerce_to_domain( + arg: *mut Node, + baseTypeId: Oid, + baseTypeMod: int32, + typeId: Oid, + ccontext: CoercionContext::Type, + cformat: CoercionForm::Type, + location: ::core::ffi::c_int, + hideInputCoercion: bool, + ) -> *mut Node; + pub fn coerce_to_boolean( + pstate: *mut ParseState, + node: *mut Node, + constructName: *const ::core::ffi::c_char, + ) -> *mut Node; + pub fn coerce_to_specific_type( + pstate: *mut ParseState, + node: *mut Node, + targetTypeId: Oid, + constructName: *const ::core::ffi::c_char, + ) -> *mut Node; + pub fn coerce_to_specific_type_typmod( + pstate: *mut ParseState, + node: *mut Node, + targetTypeId: Oid, + targetTypmod: int32, + constructName: *const ::core::ffi::c_char, + ) -> *mut Node; + pub fn coerce_null_to_domain( + typid: Oid, + typmod: int32, + collation: Oid, + typlen: ::core::ffi::c_int, + typbyval: bool, + ) -> *mut Node; + pub fn parser_coercion_errposition( + pstate: *mut ParseState, + coerce_location: ::core::ffi::c_int, + input_expr: *mut Node, + ) -> ::core::ffi::c_int; + pub fn select_common_type( + pstate: *mut ParseState, + exprs: *mut List, + context: *const ::core::ffi::c_char, + which_expr: *mut *mut Node, + ) -> Oid; + pub fn coerce_to_common_type( + pstate: *mut ParseState, + node: *mut Node, + targetTypeId: Oid, + context: *const ::core::ffi::c_char, + ) -> *mut Node; + pub fn verify_common_type(common_type: Oid, exprs: *mut List) -> bool; + pub fn select_common_typmod( + pstate: *mut ParseState, + exprs: *mut List, + common_type: Oid, + ) -> int32; + pub fn check_generic_type_consistency( + actual_arg_types: *const Oid, + declared_arg_types: *const Oid, + nargs: ::core::ffi::c_int, + ) -> bool; + pub fn enforce_generic_type_consistency( + actual_arg_types: *const Oid, + declared_arg_types: *mut Oid, + nargs: ::core::ffi::c_int, + rettype: Oid, + allow_poly: bool, + ) -> Oid; + pub fn check_valid_polymorphic_signature( + ret_type: Oid, + declared_arg_types: *const Oid, + nargs: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn check_valid_internal_signature( + ret_type: Oid, + declared_arg_types: *const Oid, + nargs: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn find_coercion_pathway( + targetTypeId: Oid, + sourceTypeId: Oid, + ccontext: CoercionContext::Type, + funcid: *mut Oid, + ) -> CoercionPathType::Type; + pub fn find_typmod_coercion_function(typeId: Oid, funcid: *mut Oid) -> CoercionPathType::Type; + pub fn get_rte_attribute_name( + rte: *mut RangeTblEntry, + attnum: AttrNumber, + ) -> *mut ::core::ffi::c_char; + pub fn get_rte_attribute_is_dropped(rte: *mut RangeTblEntry, attnum: AttrNumber) -> bool; + pub fn get_tle_by_resno(tlist: *mut List, resno: AttrNumber) -> *mut TargetEntry; + pub fn get_parse_rowmark(qry: *mut Query, rtindex: Index) -> *mut RowMarkClause; + pub fn downcase_truncate_identifier( + ident: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + warn: bool, + ) -> *mut ::core::ffi::c_char; + pub fn downcase_identifier( + ident: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + warn: bool, + truncate: bool, + ) -> *mut ::core::ffi::c_char; + pub fn truncate_identifier( + ident: *mut ::core::ffi::c_char, + len: ::core::ffi::c_int, + warn: bool, + ); + pub fn scanner_isspace(ch: ::core::ffi::c_char) -> bool; + pub fn get_hash_partition_greatest_modulus(bound: PartitionBoundInfo) -> ::core::ffi::c_int; + pub fn compute_partition_hash_value( + partnatts: ::core::ffi::c_int, + partsupfunc: *mut FmgrInfo, + partcollation: *const Oid, + values: *const Datum, + isnull: *const bool, + ) -> uint64; + pub fn get_qual_from_partbound(parent: Relation, spec: *mut PartitionBoundSpec) -> *mut List; + pub fn partition_bounds_create( + boundspecs: *mut *mut PartitionBoundSpec, + nparts: ::core::ffi::c_int, + key: PartitionKey, + mapping: *mut *mut ::core::ffi::c_int, + ) -> PartitionBoundInfo; + pub fn partition_bounds_equal( + partnatts: ::core::ffi::c_int, + parttyplen: *mut int16, + parttypbyval: *mut bool, + b1: PartitionBoundInfo, + b2: PartitionBoundInfo, + ) -> bool; + pub fn partition_bounds_copy(src: PartitionBoundInfo, key: PartitionKey) -> PartitionBoundInfo; + pub fn partition_bounds_merge( + partnatts: ::core::ffi::c_int, + partsupfunc: *mut FmgrInfo, + partcollation: *mut Oid, + outer_rel: *mut RelOptInfo, + inner_rel: *mut RelOptInfo, + jointype: JoinType::Type, + outer_parts: *mut *mut List, + inner_parts: *mut *mut List, + ) -> PartitionBoundInfo; + pub fn partitions_are_ordered( + boundinfo: PartitionBoundInfo, + live_parts: *mut Bitmapset, + ) -> bool; + pub fn check_new_partition_bound( + relname: *mut ::core::ffi::c_char, + parent: Relation, + spec: *mut PartitionBoundSpec, + pstate: *mut ParseState, + ); + pub fn check_default_partition_contents( + parent: Relation, + default_rel: Relation, + new_spec: *mut PartitionBoundSpec, + ); + pub fn partition_rbound_datum_cmp( + partsupfunc: *mut FmgrInfo, + partcollation: *mut Oid, + rb_datums: *mut Datum, + rb_kind: *mut PartitionRangeDatumKind::Type, + tuple_datums: *mut Datum, + n_tuple_datums: ::core::ffi::c_int, + ) -> int32; + pub fn partition_list_bsearch( + partsupfunc: *mut FmgrInfo, + partcollation: *mut Oid, + boundinfo: PartitionBoundInfo, + value: Datum, + is_equal: *mut bool, + ) -> ::core::ffi::c_int; + pub fn partition_range_datum_bsearch( + partsupfunc: *mut FmgrInfo, + partcollation: *mut Oid, + boundinfo: PartitionBoundInfo, + nvalues: ::core::ffi::c_int, + values: *mut Datum, + is_equal: *mut bool, + ) -> ::core::ffi::c_int; + pub fn partition_hash_bsearch( + boundinfo: PartitionBoundInfo, + modulus: ::core::ffi::c_int, + remainder: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn RelationGetPartitionDesc(rel: Relation, omit_detached: bool) -> PartitionDesc; + pub fn CreatePartitionDirectory(mcxt: MemoryContext, omit_detached: bool) + -> PartitionDirectory; + pub fn PartitionDirectoryLookup(arg1: PartitionDirectory, arg2: Relation) -> PartitionDesc; + pub fn DestroyPartitionDirectory(pdir: PartitionDirectory); + pub fn get_default_oid_from_partdesc(partdesc: PartitionDesc) -> Oid; + pub fn make_partition_pruneinfo( + root: *mut PlannerInfo, + parentrel: *mut RelOptInfo, + subpaths: *mut List, + prunequal: *mut List, + ) -> ::core::ffi::c_int; + pub fn prune_append_rel_partitions(rel: *mut RelOptInfo) -> *mut Bitmapset; + pub fn get_matching_partitions( + context: *mut PartitionPruneContext, + pruning_steps: *mut List, + ) -> *mut Bitmapset; + pub fn make_expanded_record_from_typeid( + type_id: Oid, + typmod: int32, + parentcontext: MemoryContext, + ) -> *mut ExpandedRecordHeader; + pub fn make_expanded_record_from_tupdesc( + tupdesc: TupleDesc, + parentcontext: MemoryContext, + ) -> *mut ExpandedRecordHeader; + pub fn make_expanded_record_from_exprecord( + olderh: *mut ExpandedRecordHeader, + parentcontext: MemoryContext, + ) -> *mut ExpandedRecordHeader; + pub fn expanded_record_set_tuple( + erh: *mut ExpandedRecordHeader, + tuple: HeapTuple, + copy: bool, + expand_external: bool, + ); + pub fn make_expanded_record_from_datum( + recorddatum: Datum, + parentcontext: MemoryContext, + ) -> Datum; + pub fn expanded_record_fetch_tupdesc(erh: *mut ExpandedRecordHeader) -> TupleDesc; + pub fn expanded_record_get_tuple(erh: *mut ExpandedRecordHeader) -> HeapTuple; + pub fn DatumGetExpandedRecord(d: Datum) -> *mut ExpandedRecordHeader; + pub fn deconstruct_expanded_record(erh: *mut ExpandedRecordHeader); + pub fn expanded_record_lookup_field( + erh: *mut ExpandedRecordHeader, + fieldname: *const ::core::ffi::c_char, + finfo: *mut ExpandedRecordFieldInfo, + ) -> bool; + pub fn expanded_record_fetch_field( + erh: *mut ExpandedRecordHeader, + fnumber: ::core::ffi::c_int, + isnull: *mut bool, + ) -> Datum; + pub fn expanded_record_set_field_internal( + erh: *mut ExpandedRecordHeader, + fnumber: ::core::ffi::c_int, + newValue: Datum, + isnull: bool, + expand_external: bool, + check_constraints: bool, + ); + pub fn expanded_record_set_fields( + erh: *mut ExpandedRecordHeader, + newValues: *const Datum, + isnulls: *const bool, + expand_external: bool, + ); + pub fn cached_function_compile( + fcinfo: FunctionCallInfo, + function: *mut CachedFunction, + ccallback: CachedFunctionCompileCallback, + dcallback: CachedFunctionDeleteCallback, + cacheEntrySize: Size, + includeResultType: bool, + forValidator: bool, + ) -> *mut CachedFunction; + pub fn cfunc_resolve_polymorphic_argtypes( + numargs: ::core::ffi::c_int, + argtypes: *mut Oid, + argmodes: *mut ::core::ffi::c_char, + call_expr: *mut Node, + forValidator: bool, + proname: *const ::core::ffi::c_char, + ); + pub static mut plpgsql_IdentifierLookup: IdentifierLookup::Type; + pub static mut plpgsql_variable_conflict: ::core::ffi::c_int; + pub static mut plpgsql_print_strict_params: bool; + pub static mut plpgsql_check_asserts: bool; + pub static mut plpgsql_extra_warnings: ::core::ffi::c_int; + pub static mut plpgsql_extra_errors: ::core::ffi::c_int; + pub static mut plpgsql_check_syntax: bool; + pub static mut plpgsql_DumpExecTree: bool; + pub static mut plpgsql_nDatums: ::core::ffi::c_int; + pub static mut plpgsql_Datums: *mut *mut PLpgSQL_datum; + pub static mut plpgsql_error_funcname: *mut ::core::ffi::c_char; + pub static mut plpgsql_curr_compile: *mut PLpgSQL_function; + pub static mut plpgsql_compile_tmp_cxt: MemoryContext; + pub static mut plpgsql_plugin_ptr: *mut *mut PLpgSQL_plugin; + #[doc = " Function declarations"] + pub fn plpgsql_compile(fcinfo: FunctionCallInfo, forValidator: bool) -> *mut PLpgSQL_function; + pub fn plpgsql_compile_inline(proc_source: *mut ::core::ffi::c_char) -> *mut PLpgSQL_function; + pub fn plpgsql_parser_setup(pstate: *mut ParseState, expr: *mut PLpgSQL_expr); + pub fn plpgsql_parse_word( + word1: *mut ::core::ffi::c_char, + yytxt: *const ::core::ffi::c_char, + lookup: bool, + wdatum: *mut PLwdatum, + word: *mut PLword, + ) -> bool; + pub fn plpgsql_parse_dblword( + word1: *mut ::core::ffi::c_char, + word2: *mut ::core::ffi::c_char, + wdatum: *mut PLwdatum, + cword: *mut PLcword, + ) -> bool; + pub fn plpgsql_parse_tripword( + word1: *mut ::core::ffi::c_char, + word2: *mut ::core::ffi::c_char, + word3: *mut ::core::ffi::c_char, + wdatum: *mut PLwdatum, + cword: *mut PLcword, + ) -> bool; + pub fn plpgsql_parse_wordtype(ident: *mut ::core::ffi::c_char) -> *mut PLpgSQL_type; + pub fn plpgsql_parse_cwordtype(idents: *mut List) -> *mut PLpgSQL_type; + pub fn plpgsql_parse_wordrowtype(ident: *mut ::core::ffi::c_char) -> *mut PLpgSQL_type; + pub fn plpgsql_parse_cwordrowtype(idents: *mut List) -> *mut PLpgSQL_type; + pub fn plpgsql_build_datatype( + typeOid: Oid, + typmod: int32, + collation: Oid, + origtypname: *mut TypeName, + ) -> *mut PLpgSQL_type; + pub fn plpgsql_build_datatype_arrayof(dtype: *mut PLpgSQL_type) -> *mut PLpgSQL_type; + pub fn plpgsql_build_variable( + refname: *const ::core::ffi::c_char, + lineno: ::core::ffi::c_int, + dtype: *mut PLpgSQL_type, + add2namespace: bool, + ) -> *mut PLpgSQL_variable; + pub fn plpgsql_build_record( + refname: *const ::core::ffi::c_char, + lineno: ::core::ffi::c_int, + dtype: *mut PLpgSQL_type, + rectypeid: Oid, + add2namespace: bool, + ) -> *mut PLpgSQL_rec; + pub fn plpgsql_build_recfield( + rec: *mut PLpgSQL_rec, + fldname: *const ::core::ffi::c_char, + ) -> *mut PLpgSQL_recfield; + pub fn plpgsql_recognize_err_condition( + condname: *const ::core::ffi::c_char, + allow_sqlstate: bool, + ) -> ::core::ffi::c_int; + pub fn plpgsql_parse_err_condition( + condname: *mut ::core::ffi::c_char, + ) -> *mut PLpgSQL_condition; + pub fn plpgsql_adddatum(newdatum: *mut PLpgSQL_datum); + pub fn plpgsql_add_initdatums(varnos: *mut *mut ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn plpgsql_exec_function( + func: *mut PLpgSQL_function, + fcinfo: FunctionCallInfo, + simple_eval_estate: *mut EState, + simple_eval_resowner: ResourceOwner, + procedure_resowner: ResourceOwner, + atomic: bool, + ) -> Datum; + pub fn plpgsql_exec_trigger( + func: *mut PLpgSQL_function, + trigdata: *mut TriggerData, + ) -> HeapTuple; + pub fn plpgsql_exec_event_trigger(func: *mut PLpgSQL_function, trigdata: *mut EventTriggerData); + pub fn plpgsql_xact_cb(event: XactEvent::Type, arg: *mut ::core::ffi::c_void); + pub fn plpgsql_subxact_cb( + event: SubXactEvent::Type, + mySubid: SubTransactionId, + parentSubid: SubTransactionId, + arg: *mut ::core::ffi::c_void, + ); + pub fn plpgsql_exec_get_datum_type( + estate: *mut PLpgSQL_execstate, + datum: *mut PLpgSQL_datum, + ) -> Oid; + pub fn plpgsql_exec_get_datum_type_info( + estate: *mut PLpgSQL_execstate, + datum: *mut PLpgSQL_datum, + typeId: *mut Oid, + typMod: *mut int32, + collation: *mut Oid, + ); + pub fn plpgsql_ns_init(); + pub fn plpgsql_ns_push(label: *const ::core::ffi::c_char, label_type: PLpgSQL_label_type::Type); + pub fn plpgsql_ns_pop(); + pub fn plpgsql_ns_top() -> *mut PLpgSQL_nsitem; + pub fn plpgsql_ns_additem( + itemtype: PLpgSQL_nsitem_type::Type, + itemno: ::core::ffi::c_int, + name: *const ::core::ffi::c_char, + ); + pub fn plpgsql_ns_lookup( + ns_cur: *mut PLpgSQL_nsitem, + localmode: bool, + name1: *const ::core::ffi::c_char, + name2: *const ::core::ffi::c_char, + name3: *const ::core::ffi::c_char, + names_used: *mut ::core::ffi::c_int, + ) -> *mut PLpgSQL_nsitem; + pub fn plpgsql_ns_lookup_label( + ns_cur: *mut PLpgSQL_nsitem, + name: *const ::core::ffi::c_char, + ) -> *mut PLpgSQL_nsitem; + pub fn plpgsql_ns_find_nearest_loop(ns_cur: *mut PLpgSQL_nsitem) -> *mut PLpgSQL_nsitem; + pub fn plpgsql_stmt_typename(stmt: *mut PLpgSQL_stmt) -> *const ::core::ffi::c_char; + pub fn plpgsql_getdiag_kindname(kind: PLpgSQL_getdiag_kind::Type) + -> *const ::core::ffi::c_char; + pub fn plpgsql_mark_local_assignment_targets(func: *mut PLpgSQL_function); + pub fn plpgsql_free_function_memory(func: *mut PLpgSQL_function); + pub fn plpgsql_delete_callback(cfunc: *mut CachedFunction); + pub fn plpgsql_dumptree(func: *mut PLpgSQL_function); + pub fn plpgsql_yylex( + yylvalp: *mut YYSTYPE, + yyllocp: *mut ::core::ffi::c_int, + yyscanner: yyscan_t, + ) -> ::core::ffi::c_int; + pub fn plpgsql_token_length(yyscanner: yyscan_t) -> ::core::ffi::c_int; + pub fn plpgsql_push_back_token( + token: ::core::ffi::c_int, + yylvalp: *mut YYSTYPE, + yyllocp: *mut ::core::ffi::c_int, + yyscanner: yyscan_t, + ); + pub fn plpgsql_token_is_unreserved_keyword(token: ::core::ffi::c_int) -> bool; + pub fn plpgsql_append_source_text( + buf: StringInfo, + startlocation: ::core::ffi::c_int, + endlocation: ::core::ffi::c_int, + yyscanner: yyscan_t, + ); + pub fn plpgsql_peek(yyscanner: yyscan_t) -> ::core::ffi::c_int; + pub fn plpgsql_peek2( + tok1_p: *mut ::core::ffi::c_int, + tok2_p: *mut ::core::ffi::c_int, + tok1_loc: *mut ::core::ffi::c_int, + tok2_loc: *mut ::core::ffi::c_int, + yyscanner: yyscan_t, + ); + pub fn plpgsql_scanner_errposition( + location: ::core::ffi::c_int, + yyscanner: yyscan_t, + ) -> ::core::ffi::c_int; + pub fn plpgsql_yyerror( + yyllocp: *mut ::core::ffi::c_int, + plpgsql_parse_result_p: *mut *mut PLpgSQL_stmt_block, + yyscanner: yyscan_t, + message: *const ::core::ffi::c_char, + ); + pub fn plpgsql_location_to_lineno( + location: ::core::ffi::c_int, + yyscanner: yyscan_t, + ) -> ::core::ffi::c_int; + pub fn plpgsql_latest_lineno(yyscanner: yyscan_t) -> ::core::ffi::c_int; + pub fn plpgsql_scanner_init(str_: *const ::core::ffi::c_char) -> yyscan_t; + pub fn plpgsql_scanner_finish(yyscanner: yyscan_t); + pub fn plpgsql_yyparse( + plpgsql_parse_result_p: *mut *mut PLpgSQL_stmt_block, + yyscanner: yyscan_t, + ) -> ::core::ffi::c_int; + pub static mut EnableSSL: bool; + pub static mut SuperuserReservedConnections: ::core::ffi::c_int; + pub static mut ReservedConnections: ::core::ffi::c_int; + pub static mut PostPortNumber: ::core::ffi::c_int; + pub static mut Unix_socket_permissions: ::core::ffi::c_int; + pub static mut Unix_socket_group: *mut ::core::ffi::c_char; + pub static mut Unix_socket_directories: *mut ::core::ffi::c_char; + pub static mut ListenAddresses: *mut ::core::ffi::c_char; + pub static mut ClientAuthInProgress: bool; + pub static mut PreAuthDelay: ::core::ffi::c_int; + pub static mut AuthenticationTimeout: ::core::ffi::c_int; + pub static mut log_hostname: bool; + pub static mut enable_bonjour: bool; + pub static mut bonjour_name: *mut ::core::ffi::c_char; + pub static mut restart_after_crash: bool; + pub static mut remove_temp_files_after_crash: bool; + pub static mut send_abort_for_crash: bool; + pub static mut send_abort_for_kill: bool; + pub static mut postmaster_alive_fds: [::core::ffi::c_int; 2usize]; + pub static mut progname: *const ::core::ffi::c_char; + pub static mut redirection_done: bool; + pub static mut LoadedSSL: bool; + pub fn PostmasterMain(argc: ::core::ffi::c_int, argv: *mut *mut ::core::ffi::c_char); + pub fn ClosePostmasterPorts(am_syslogger: bool); + pub fn InitProcessGlobals(); + pub fn MaxLivePostmasterChildren() -> ::core::ffi::c_int; + pub fn PostmasterMarkPIDForWorkerNotify(arg1: ::core::ffi::c_int) -> bool; + pub static mut MyClientSocket: *mut ClientSocket; + pub fn postmaster_child_launch( + child_type: BackendType::Type, + child_slot: ::core::ffi::c_int, + startup_data: *const ::core::ffi::c_void, + startup_data_len: usize, + client_sock: *mut ClientSocket, + ) -> pid_t; + pub fn PostmasterChildName(child_type: BackendType::Type) -> *const ::core::ffi::c_char; + pub static mut ActiveChildList: dlist_head; + pub fn InitPostmasterChildSlots(); + pub fn AssignPostmasterChildSlot(btype: BackendType::Type) -> *mut PMChild; + pub fn AllocDeadEndChild() -> *mut PMChild; + pub fn ReleasePostmasterChildSlot(pmchild: *mut PMChild) -> bool; + pub fn FindPostmasterChildByPid(pid: ::core::ffi::c_int) -> *mut PMChild; + pub fn parse_dispatch_option(name: *const ::core::ffi::c_char) -> DispatchOption::Type; + pub static mut Logging_collector: bool; + pub static mut Log_RotationAge: ::core::ffi::c_int; + pub static mut Log_RotationSize: ::core::ffi::c_int; + pub static mut Log_directory: *mut ::core::ffi::c_char; + pub static mut Log_filename: *mut ::core::ffi::c_char; + pub static mut Log_truncate_on_rotation: bool; + pub static mut Log_file_mode: ::core::ffi::c_int; + pub static mut syslogPipe: [::core::ffi::c_int; 2usize]; + pub fn SysLogger_Start(child_slot: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn write_syslogger_file( + buffer: *const ::core::ffi::c_char, + count: ::core::ffi::c_int, + destination: ::core::ffi::c_int, + ); + pub fn SysLoggerMain(startup_data: *const ::core::ffi::c_void, startup_data_len: usize); + pub fn CheckLogrotateSignal() -> bool; + pub fn RemoveLogrotateSignalFiles(); + pub static mut logical_decoding_work_mem: ::core::ffi::c_int; + pub static mut debug_logical_replication_streaming: ::core::ffi::c_int; + pub fn ReorderBufferAllocate() -> *mut ReorderBuffer; + pub fn ReorderBufferFree(rb: *mut ReorderBuffer); + pub fn ReorderBufferAllocTupleBuf(rb: *mut ReorderBuffer, tuple_len: Size) -> HeapTuple; + pub fn ReorderBufferFreeTupleBuf(tuple: HeapTuple); + pub fn ReorderBufferAllocChange(rb: *mut ReorderBuffer) -> *mut ReorderBufferChange; + pub fn ReorderBufferFreeChange( + rb: *mut ReorderBuffer, + change: *mut ReorderBufferChange, + upd_mem: bool, + ); + pub fn ReorderBufferAllocRelids( + rb: *mut ReorderBuffer, + nrelids: ::core::ffi::c_int, + ) -> *mut Oid; + pub fn ReorderBufferFreeRelids(rb: *mut ReorderBuffer, relids: *mut Oid); + pub fn ReorderBufferQueueChange( + rb: *mut ReorderBuffer, + xid: TransactionId, + lsn: XLogRecPtr, + change: *mut ReorderBufferChange, + toast_insert: bool, + ); + pub fn ReorderBufferQueueMessage( + rb: *mut ReorderBuffer, + xid: TransactionId, + snap: Snapshot, + lsn: XLogRecPtr, + transactional: bool, + prefix: *const ::core::ffi::c_char, + message_size: Size, + message: *const ::core::ffi::c_char, + ); + pub fn ReorderBufferCommit( + rb: *mut ReorderBuffer, + xid: TransactionId, + commit_lsn: XLogRecPtr, + end_lsn: XLogRecPtr, + commit_time: TimestampTz, + origin_id: RepOriginId, + origin_lsn: XLogRecPtr, + ); + pub fn ReorderBufferFinishPrepared( + rb: *mut ReorderBuffer, + xid: TransactionId, + commit_lsn: XLogRecPtr, + end_lsn: XLogRecPtr, + two_phase_at: XLogRecPtr, + commit_time: TimestampTz, + origin_id: RepOriginId, + origin_lsn: XLogRecPtr, + gid: *mut ::core::ffi::c_char, + is_commit: bool, + ); + pub fn ReorderBufferAssignChild( + rb: *mut ReorderBuffer, + xid: TransactionId, + subxid: TransactionId, + lsn: XLogRecPtr, + ); + pub fn ReorderBufferCommitChild( + rb: *mut ReorderBuffer, + xid: TransactionId, + subxid: TransactionId, + commit_lsn: XLogRecPtr, + end_lsn: XLogRecPtr, + ); + pub fn ReorderBufferAbort( + rb: *mut ReorderBuffer, + xid: TransactionId, + lsn: XLogRecPtr, + abort_time: TimestampTz, + ); + pub fn ReorderBufferAbortOld(rb: *mut ReorderBuffer, oldestRunningXid: TransactionId); + pub fn ReorderBufferForget(rb: *mut ReorderBuffer, xid: TransactionId, lsn: XLogRecPtr); + pub fn ReorderBufferInvalidate(rb: *mut ReorderBuffer, xid: TransactionId, lsn: XLogRecPtr); + pub fn ReorderBufferSetBaseSnapshot( + rb: *mut ReorderBuffer, + xid: TransactionId, + lsn: XLogRecPtr, + snap: Snapshot, + ); + pub fn ReorderBufferAddSnapshot( + rb: *mut ReorderBuffer, + xid: TransactionId, + lsn: XLogRecPtr, + snap: Snapshot, + ); + pub fn ReorderBufferAddNewCommandId( + rb: *mut ReorderBuffer, + xid: TransactionId, + lsn: XLogRecPtr, + cid: CommandId, + ); + pub fn ReorderBufferAddNewTupleCids( + rb: *mut ReorderBuffer, + xid: TransactionId, + lsn: XLogRecPtr, + locator: RelFileLocator, + tid: ItemPointerData, + cmin: CommandId, + cmax: CommandId, + combocid: CommandId, + ); + pub fn ReorderBufferAddInvalidations( + rb: *mut ReorderBuffer, + xid: TransactionId, + lsn: XLogRecPtr, + nmsgs: Size, + msgs: *mut SharedInvalidationMessage, + ); + pub fn ReorderBufferImmediateInvalidation( + rb: *mut ReorderBuffer, + ninvalidations: uint32, + invalidations: *mut SharedInvalidationMessage, + ); + pub fn ReorderBufferProcessXid(rb: *mut ReorderBuffer, xid: TransactionId, lsn: XLogRecPtr); + pub fn ReorderBufferXidSetCatalogChanges( + rb: *mut ReorderBuffer, + xid: TransactionId, + lsn: XLogRecPtr, + ); + pub fn ReorderBufferXidHasCatalogChanges(rb: *mut ReorderBuffer, xid: TransactionId) -> bool; + pub fn ReorderBufferXidHasBaseSnapshot(rb: *mut ReorderBuffer, xid: TransactionId) -> bool; + pub fn ReorderBufferRememberPrepareInfo( + rb: *mut ReorderBuffer, + xid: TransactionId, + prepare_lsn: XLogRecPtr, + end_lsn: XLogRecPtr, + prepare_time: TimestampTz, + origin_id: RepOriginId, + origin_lsn: XLogRecPtr, + ) -> bool; + pub fn ReorderBufferSkipPrepare(rb: *mut ReorderBuffer, xid: TransactionId); + pub fn ReorderBufferPrepare( + rb: *mut ReorderBuffer, + xid: TransactionId, + gid: *mut ::core::ffi::c_char, + ); + pub fn ReorderBufferGetOldestTXN(rb: *mut ReorderBuffer) -> *mut ReorderBufferTXN; + pub fn ReorderBufferGetOldestXmin(rb: *mut ReorderBuffer) -> TransactionId; + pub fn ReorderBufferGetCatalogChangesXacts(rb: *mut ReorderBuffer) -> *mut TransactionId; + pub fn ReorderBufferSetRestartPoint(rb: *mut ReorderBuffer, ptr: XLogRecPtr); + pub fn ReorderBufferGetInvalidations( + rb: *mut ReorderBuffer, + xid: TransactionId, + msgs: *mut *mut SharedInvalidationMessage, + ) -> uint32; + pub fn StartupReorderBuffer(); + pub fn _PG_output_plugin_init(cb: *mut OutputPluginCallbacks); + pub fn OutputPluginPrepareWrite(ctx: *mut LogicalDecodingContext, last_write: bool); + pub fn OutputPluginWrite(ctx: *mut LogicalDecodingContext, last_write: bool); + pub fn OutputPluginUpdateProgress(ctx: *mut LogicalDecodingContext, skipped_xact: bool); + pub fn logicalrep_write_begin(out: StringInfo, txn: *mut ReorderBufferTXN); + pub fn logicalrep_read_begin(in_: StringInfo, begin_data: *mut LogicalRepBeginData); + pub fn logicalrep_write_commit( + out: StringInfo, + txn: *mut ReorderBufferTXN, + commit_lsn: XLogRecPtr, + ); + pub fn logicalrep_read_commit(in_: StringInfo, commit_data: *mut LogicalRepCommitData); + pub fn logicalrep_write_begin_prepare(out: StringInfo, txn: *mut ReorderBufferTXN); + pub fn logicalrep_read_begin_prepare( + in_: StringInfo, + begin_data: *mut LogicalRepPreparedTxnData, + ); + pub fn logicalrep_write_prepare( + out: StringInfo, + txn: *mut ReorderBufferTXN, + prepare_lsn: XLogRecPtr, + ); + pub fn logicalrep_read_prepare(in_: StringInfo, prepare_data: *mut LogicalRepPreparedTxnData); + pub fn logicalrep_write_commit_prepared( + out: StringInfo, + txn: *mut ReorderBufferTXN, + commit_lsn: XLogRecPtr, + ); + pub fn logicalrep_read_commit_prepared( + in_: StringInfo, + prepare_data: *mut LogicalRepCommitPreparedTxnData, + ); + pub fn logicalrep_write_rollback_prepared( + out: StringInfo, + txn: *mut ReorderBufferTXN, + prepare_end_lsn: XLogRecPtr, + prepare_time: TimestampTz, + ); + pub fn logicalrep_read_rollback_prepared( + in_: StringInfo, + rollback_data: *mut LogicalRepRollbackPreparedTxnData, + ); + pub fn logicalrep_write_stream_prepare( + out: StringInfo, + txn: *mut ReorderBufferTXN, + prepare_lsn: XLogRecPtr, + ); + pub fn logicalrep_read_stream_prepare( + in_: StringInfo, + prepare_data: *mut LogicalRepPreparedTxnData, + ); + pub fn logicalrep_write_origin( + out: StringInfo, + origin: *const ::core::ffi::c_char, + origin_lsn: XLogRecPtr, + ); + pub fn logicalrep_read_origin( + in_: StringInfo, + origin_lsn: *mut XLogRecPtr, + ) -> *mut ::core::ffi::c_char; + pub fn logicalrep_write_insert( + out: StringInfo, + xid: TransactionId, + rel: Relation, + newslot: *mut TupleTableSlot, + binary: bool, + columns: *mut Bitmapset, + include_gencols_type: PublishGencolsType::Type, + ); + pub fn logicalrep_read_insert( + in_: StringInfo, + newtup: *mut LogicalRepTupleData, + ) -> LogicalRepRelId; + pub fn logicalrep_write_update( + out: StringInfo, + xid: TransactionId, + rel: Relation, + oldslot: *mut TupleTableSlot, + newslot: *mut TupleTableSlot, + binary: bool, + columns: *mut Bitmapset, + include_gencols_type: PublishGencolsType::Type, + ); + pub fn logicalrep_read_update( + in_: StringInfo, + has_oldtuple: *mut bool, + oldtup: *mut LogicalRepTupleData, + newtup: *mut LogicalRepTupleData, + ) -> LogicalRepRelId; + pub fn logicalrep_write_delete( + out: StringInfo, + xid: TransactionId, + rel: Relation, + oldslot: *mut TupleTableSlot, + binary: bool, + columns: *mut Bitmapset, + include_gencols_type: PublishGencolsType::Type, + ); + pub fn logicalrep_read_delete( + in_: StringInfo, + oldtup: *mut LogicalRepTupleData, + ) -> LogicalRepRelId; + pub fn logicalrep_write_truncate( + out: StringInfo, + xid: TransactionId, + nrelids: ::core::ffi::c_int, + relids: *mut Oid, + cascade: bool, + restart_seqs: bool, + ); + pub fn logicalrep_read_truncate( + in_: StringInfo, + cascade: *mut bool, + restart_seqs: *mut bool, + ) -> *mut List; + pub fn logicalrep_write_message( + out: StringInfo, + xid: TransactionId, + lsn: XLogRecPtr, + transactional: bool, + prefix: *const ::core::ffi::c_char, + sz: Size, + message: *const ::core::ffi::c_char, + ); + pub fn logicalrep_write_rel( + out: StringInfo, + xid: TransactionId, + rel: Relation, + columns: *mut Bitmapset, + include_gencols_type: PublishGencolsType::Type, + ); + pub fn logicalrep_read_rel(in_: StringInfo) -> *mut LogicalRepRelation; + pub fn logicalrep_write_typ(out: StringInfo, xid: TransactionId, typoid: Oid); + pub fn logicalrep_read_typ(in_: StringInfo, ltyp: *mut LogicalRepTyp); + pub fn logicalrep_write_stream_start(out: StringInfo, xid: TransactionId, first_segment: bool); + pub fn logicalrep_read_stream_start(in_: StringInfo, first_segment: *mut bool) + -> TransactionId; + pub fn logicalrep_write_stream_stop(out: StringInfo); + pub fn logicalrep_write_stream_commit( + out: StringInfo, + txn: *mut ReorderBufferTXN, + commit_lsn: XLogRecPtr, + ); + pub fn logicalrep_read_stream_commit( + in_: StringInfo, + commit_data: *mut LogicalRepCommitData, + ) -> TransactionId; + pub fn logicalrep_write_stream_abort( + out: StringInfo, + xid: TransactionId, + subxid: TransactionId, + abort_lsn: XLogRecPtr, + abort_time: TimestampTz, + write_abort_info: bool, + ); + pub fn logicalrep_read_stream_abort( + in_: StringInfo, + abort_data: *mut LogicalRepStreamAbortData, + read_abort_info: bool, + ); + pub fn logicalrep_message_type(action: LogicalRepMsgType::Type) -> *const ::core::ffi::c_char; + pub fn logicalrep_should_publish_column( + att: Form_pg_attribute, + columns: *mut Bitmapset, + include_gencols_type: PublishGencolsType::Type, + ) -> bool; + pub static mut am_walsender: bool; + pub static mut am_cascading_walsender: bool; + pub static mut am_db_walsender: bool; + pub static mut wake_wal_senders: bool; + pub static mut max_wal_senders: ::core::ffi::c_int; + pub static mut wal_sender_timeout: ::core::ffi::c_int; + pub static mut log_replication_commands: bool; + pub fn InitWalSender(); + pub fn exec_replication_command(cmd_string: *const ::core::ffi::c_char) -> bool; + pub fn WalSndErrorCleanup(); + pub fn PhysicalWakeupLogicalWalSnd(); + pub fn GetStandbyFlushRecPtr(tli: *mut TimeLineID) -> XLogRecPtr; + pub fn WalSndSignals(); + pub fn WalSndShmemSize() -> Size; + pub fn WalSndShmemInit(); + pub fn WalSndWakeup(physical: bool, logical: bool); + pub fn WalSndInitStopping(); + pub fn WalSndWaitStopping(); + pub fn HandleWalSndInitStopping(); + pub fn WalSndRqstFileReload(); + pub static mut wal_receiver_status_interval: ::core::ffi::c_int; + pub static mut wal_receiver_timeout: ::core::ffi::c_int; + pub static mut hot_standby_feedback: bool; + pub static mut WalRcv: *mut WalRcvData; + pub static mut WalReceiverFunctions: *mut WalReceiverFunctionsType; + pub fn WalReceiverMain(startup_data: *const ::core::ffi::c_void, startup_data_len: usize); + pub fn WalRcvForceReply(); + pub fn WalRcvShmemSize() -> Size; + pub fn WalRcvShmemInit(); + pub fn ShutdownWalRcv(); + pub fn WalRcvStreaming() -> bool; + pub fn WalRcvRunning() -> bool; + pub fn RequestXLogStreaming( + tli: TimeLineID, + recptr: XLogRecPtr, + conninfo: *const ::core::ffi::c_char, + slotname: *const ::core::ffi::c_char, + create_temp_slot: bool, + ); + pub fn GetWalRcvFlushRecPtr( + latestChunkStart: *mut XLogRecPtr, + receiveTLI: *mut TimeLineID, + ) -> XLogRecPtr; + pub fn GetWalRcvWriteRecPtr() -> XLogRecPtr; + pub fn GetReplicationApplyDelay() -> ::core::ffi::c_int; + pub fn GetReplicationTransferLatency() -> ::core::ffi::c_int; + pub static mut ReplicationSlotCtl: *mut ReplicationSlotCtlData; + pub static mut MyReplicationSlot: *mut ReplicationSlot; + pub static mut max_replication_slots: ::core::ffi::c_int; + pub static mut synchronized_standby_slots: *mut ::core::ffi::c_char; + pub static mut idle_replication_slot_timeout_mins: ::core::ffi::c_int; + pub fn ReplicationSlotsShmemSize() -> Size; + pub fn ReplicationSlotsShmemInit(); + pub fn ReplicationSlotCreate( + name: *const ::core::ffi::c_char, + db_specific: bool, + persistency: ReplicationSlotPersistency::Type, + two_phase: bool, + failover: bool, + synced: bool, + ); + pub fn ReplicationSlotPersist(); + pub fn ReplicationSlotDrop(name: *const ::core::ffi::c_char, nowait: bool); + pub fn ReplicationSlotDropAcquired(); + pub fn ReplicationSlotAlter( + name: *const ::core::ffi::c_char, + failover: *const bool, + two_phase: *const bool, + ); + pub fn ReplicationSlotAcquire( + name: *const ::core::ffi::c_char, + nowait: bool, + error_if_invalid: bool, + ); + pub fn ReplicationSlotRelease(); + pub fn ReplicationSlotCleanup(synced_only: bool); + pub fn ReplicationSlotSave(); + pub fn ReplicationSlotMarkDirty(); + pub fn ReplicationSlotInitialize(); + pub fn ReplicationSlotValidateName( + name: *const ::core::ffi::c_char, + elevel: ::core::ffi::c_int, + ) -> bool; + pub fn ReplicationSlotReserveWal(); + pub fn ReplicationSlotsComputeRequiredXmin(already_locked: bool); + pub fn ReplicationSlotsComputeRequiredLSN(); + pub fn ReplicationSlotsComputeLogicalRestartLSN() -> XLogRecPtr; + pub fn ReplicationSlotsCountDBSlots( + dboid: Oid, + nslots: *mut ::core::ffi::c_int, + nactive: *mut ::core::ffi::c_int, + ) -> bool; + pub fn ReplicationSlotsDropDBSlots(dboid: Oid); + pub fn InvalidateObsoleteReplicationSlots( + possible_causes: uint32, + oldestSegno: XLogSegNo, + dboid: Oid, + snapshotConflictHorizon: TransactionId, + ) -> bool; + pub fn SearchNamedReplicationSlot( + name: *const ::core::ffi::c_char, + need_lock: bool, + ) -> *mut ReplicationSlot; + pub fn ReplicationSlotIndex(slot: *mut ReplicationSlot) -> ::core::ffi::c_int; + pub fn ReplicationSlotName(index: ::core::ffi::c_int, name: Name) -> bool; + pub fn ReplicationSlotNameForTablesync( + suboid: Oid, + relid: Oid, + syncslotname: *mut ::core::ffi::c_char, + szslot: Size, + ); + pub fn ReplicationSlotDropAtPubNode( + wrconn: *mut WalReceiverConn, + slotname: *mut ::core::ffi::c_char, + missing_ok: bool, + ); + pub fn StartupReplicationSlots(); + pub fn CheckPointReplicationSlots(is_shutdown: bool); + pub fn CheckSlotRequirements(); + pub fn CheckSlotPermissions(); + pub fn GetSlotInvalidationCause( + cause_name: *const ::core::ffi::c_char, + ) -> ReplicationSlotInvalidationCause::Type; + pub fn GetSlotInvalidationCauseName( + cause: ReplicationSlotInvalidationCause::Type, + ) -> *const ::core::ffi::c_char; + pub fn SlotExistsInSyncStandbySlots(slot_name: *const ::core::ffi::c_char) -> bool; + pub fn StandbySlotsHaveCaughtup(wait_for_lsn: XLogRecPtr, elevel: ::core::ffi::c_int) -> bool; + pub fn WaitForStandbyConfirmation(wait_for_lsn: XLogRecPtr); + pub fn CheckLogicalDecodingRequirements(); + pub fn CreateInitDecodingContext( + plugin: *const ::core::ffi::c_char, + output_plugin_options: *mut List, + need_full_snapshot: bool, + restart_lsn: XLogRecPtr, + xl_routine: *mut XLogReaderRoutine, + prepare_write: LogicalOutputPluginWriterPrepareWrite, + do_write: LogicalOutputPluginWriterWrite, + update_progress: LogicalOutputPluginWriterUpdateProgress, + ) -> *mut LogicalDecodingContext; + pub fn CreateDecodingContext( + start_lsn: XLogRecPtr, + output_plugin_options: *mut List, + fast_forward: bool, + xl_routine: *mut XLogReaderRoutine, + prepare_write: LogicalOutputPluginWriterPrepareWrite, + do_write: LogicalOutputPluginWriterWrite, + update_progress: LogicalOutputPluginWriterUpdateProgress, + ) -> *mut LogicalDecodingContext; + pub fn DecodingContextFindStartpoint(ctx: *mut LogicalDecodingContext); + pub fn DecodingContextReady(ctx: *mut LogicalDecodingContext) -> bool; + pub fn FreeDecodingContext(ctx: *mut LogicalDecodingContext); + pub fn LogicalIncreaseXminForSlot(current_lsn: XLogRecPtr, xmin: TransactionId); + pub fn LogicalIncreaseRestartDecodingForSlot(current_lsn: XLogRecPtr, restart_lsn: XLogRecPtr); + pub fn LogicalConfirmReceivedLocation(lsn: XLogRecPtr); + pub fn filter_prepare_cb_wrapper( + ctx: *mut LogicalDecodingContext, + xid: TransactionId, + gid: *const ::core::ffi::c_char, + ) -> bool; + pub fn filter_by_origin_cb_wrapper( + ctx: *mut LogicalDecodingContext, + origin_id: RepOriginId, + ) -> bool; + pub fn ResetLogicalStreamingState(); + pub fn UpdateDecodingStats(ctx: *mut LogicalDecodingContext); + pub fn LogicalReplicationSlotHasPendingWal(end_of_wal: XLogRecPtr) -> bool; + pub fn LogicalSlotAdvanceAndCheckSnapState( + moveto: XLogRecPtr, + found_consistent_snapshot: *mut bool, + ) -> XLogRecPtr; + pub static mut ParallelApplyMessagePending: sig_atomic_t; + pub fn ApplyWorkerMain(main_arg: Datum); + pub fn ParallelApplyWorkerMain(main_arg: Datum); + pub fn TablesyncWorkerMain(main_arg: Datum); + pub fn IsLogicalWorker() -> bool; + pub fn IsLogicalParallelApplyWorker() -> bool; + pub fn HandleParallelApplyMessageInterrupt(); + pub fn ProcessParallelApplyMessages(); + pub fn LogicalRepWorkersWakeupAtCommit(subid: Oid); + pub fn AtEOXact_LogicalRepWorkers(isCommit: bool); + pub fn QueryRewrite(parsetree: *mut Query) -> *mut List; + pub fn AcquireRewriteLocks(parsetree: *mut Query, forExecute: bool, forUpdatePushedDown: bool); + pub fn build_column_default(rel: Relation, attrno: ::core::ffi::c_int) -> *mut Node; + pub fn get_view_query(view: Relation) -> *mut Query; + pub fn view_has_instead_trigger( + view: Relation, + event: CmdType::Type, + mergeActionList: *mut List, + ) -> bool; + pub fn view_query_is_auto_updatable( + viewquery: *mut Query, + check_cols: bool, + ) -> *const ::core::ffi::c_char; + pub fn relation_is_updatable( + reloid: Oid, + outer_reloids: *mut List, + include_triggers: bool, + include_cols: *mut Bitmapset, + ) -> ::core::ffi::c_int; + pub fn error_view_not_updatable( + view: Relation, + command: CmdType::Type, + mergeActionList: *mut List, + detail: *const ::core::ffi::c_char, + ); + pub fn expand_generated_columns_in_expr( + node: *mut Node, + rel: Relation, + rt_index: ::core::ffi::c_int, + ) -> *mut Node; + pub fn build_generation_expression(rel: Relation, attrno: ::core::ffi::c_int) -> *mut Node; + pub static mut row_security_policy_hook_permissive: row_security_policy_hook_type; + pub static mut row_security_policy_hook_restrictive: row_security_policy_hook_type; + pub fn get_row_security_policies( + root: *mut Query, + rte: *mut RangeTblEntry, + rt_index: ::core::ffi::c_int, + securityQuals: *mut *mut List, + withCheckOptions: *mut *mut List, + hasRowSecurity: *mut bool, + hasSubLinks: *mut bool, + ); + pub static mut BufferDescriptors: *mut BufferDescPadded; + pub static mut BufferIOCVArray: *mut ConditionVariableMinimallyPadded; + pub static mut BackendWritebackContext: WritebackContext; + pub static mut LocalBufferDescriptors: *mut BufferDesc; + pub fn LockBufHdr(desc: *mut BufferDesc) -> uint32; + pub static mut CkptBufferIds: *mut CkptSortItem; + pub static buffer_io_resowner_desc: ResourceOwnerDesc; + pub static buffer_pin_resowner_desc: ResourceOwnerDesc; + pub fn WritebackContextInit( + context: *mut WritebackContext, + max_pending: *mut ::core::ffi::c_int, + ); + pub fn IssuePendingWritebacks(wb_context: *mut WritebackContext, io_context: IOContext::Type); + pub fn ScheduleBufferTagForWriteback( + wb_context: *mut WritebackContext, + io_context: IOContext::Type, + tag: *mut BufferTag, + ); + pub fn StartBufferIO(buf: *mut BufferDesc, forInput: bool, nowait: bool) -> bool; + pub fn TerminateBufferIO( + buf: *mut BufferDesc, + clear_dirty: bool, + set_flag_bits: uint32, + forget_owner: bool, + release_aio: bool, + ); + pub fn IOContextForStrategy(strategy: BufferAccessStrategy) -> IOContext::Type; + pub fn StrategyGetBuffer( + strategy: BufferAccessStrategy, + buf_state: *mut uint32, + from_ring: *mut bool, + ) -> *mut BufferDesc; + pub fn StrategyFreeBuffer(buf: *mut BufferDesc); + pub fn StrategyRejectBuffer( + strategy: BufferAccessStrategy, + buf: *mut BufferDesc, + from_ring: bool, + ) -> bool; + pub fn StrategySyncStart( + complete_passes: *mut uint32, + num_buf_alloc: *mut uint32, + ) -> ::core::ffi::c_int; + pub fn StrategyNotifyBgWriter(bgwprocno: ::core::ffi::c_int); + pub fn StrategyShmemSize() -> Size; + pub fn StrategyInitialize(init: bool); + pub fn have_free_buffer() -> bool; + pub fn BufTableShmemSize(size: ::core::ffi::c_int) -> Size; + pub fn InitBufTable(size: ::core::ffi::c_int); + pub fn BufTableHashCode(tagPtr: *mut BufferTag) -> uint32; + pub fn BufTableLookup(tagPtr: *mut BufferTag, hashcode: uint32) -> ::core::ffi::c_int; + pub fn BufTableInsert( + tagPtr: *mut BufferTag, + hashcode: uint32, + buf_id: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn BufTableDelete(tagPtr: *mut BufferTag, hashcode: uint32); + pub fn PinLocalBuffer(buf_hdr: *mut BufferDesc, adjust_usagecount: bool) -> bool; + pub fn UnpinLocalBuffer(buffer: Buffer); + pub fn UnpinLocalBufferNoOwner(buffer: Buffer); + pub fn PrefetchLocalBuffer( + smgr: SMgrRelation, + forkNum: ForkNumber::Type, + blockNum: BlockNumber, + ) -> PrefetchBufferResult; + pub fn LocalBufferAlloc( + smgr: SMgrRelation, + forkNum: ForkNumber::Type, + blockNum: BlockNumber, + foundPtr: *mut bool, + ) -> *mut BufferDesc; + pub fn ExtendBufferedRelLocal( + bmr: BufferManagerRelation, + fork: ForkNumber::Type, + flags: uint32, + extend_by: uint32, + extend_upto: BlockNumber, + buffers: *mut Buffer, + extended_by: *mut uint32, + ) -> BlockNumber; + pub fn MarkLocalBufferDirty(buffer: Buffer); + pub fn TerminateLocalBufferIO( + bufHdr: *mut BufferDesc, + clear_dirty: bool, + set_flag_bits: uint32, + release_aio: bool, + ); + pub fn StartLocalBufferIO(bufHdr: *mut BufferDesc, forInput: bool, nowait: bool) -> bool; + pub fn FlushLocalBuffer(bufHdr: *mut BufferDesc, reln: SMgrRelation); + pub fn InvalidateLocalBuffer(bufHdr: *mut BufferDesc, check_unreferenced: bool); + pub fn DropRelationLocalBuffers( + rlocator: RelFileLocator, + forkNum: ForkNumber::Type, + firstDelBlock: BlockNumber, + ); + pub fn DropRelationAllLocalBuffers(rlocator: RelFileLocator); + pub fn AtEOXact_LocalBuffers(isCommit: bool); + pub fn BufFileCreateTemp(interXact: bool) -> *mut BufFile; + pub fn BufFileClose(file: *mut BufFile); + pub fn BufFileRead(file: *mut BufFile, ptr: *mut ::core::ffi::c_void, size: usize) -> usize; + pub fn BufFileReadExact(file: *mut BufFile, ptr: *mut ::core::ffi::c_void, size: usize); + pub fn BufFileReadMaybeEOF( + file: *mut BufFile, + ptr: *mut ::core::ffi::c_void, + size: usize, + eofOK: bool, + ) -> usize; + pub fn BufFileWrite(file: *mut BufFile, ptr: *const ::core::ffi::c_void, size: usize); + pub fn BufFileSeek( + file: *mut BufFile, + fileno: ::core::ffi::c_int, + offset: off_t, + whence: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn BufFileTell(file: *mut BufFile, fileno: *mut ::core::ffi::c_int, offset: *mut off_t); + pub fn BufFileSeekBlock(file: *mut BufFile, blknum: int64) -> ::core::ffi::c_int; + pub fn BufFileSize(file: *mut BufFile) -> int64; + pub fn BufFileAppend(target: *mut BufFile, source: *mut BufFile) -> int64; + pub fn BufFileCreateFileSet( + fileset: *mut FileSet, + name: *const ::core::ffi::c_char, + ) -> *mut BufFile; + pub fn BufFileExportFileSet(file: *mut BufFile); + pub fn BufFileOpenFileSet( + fileset: *mut FileSet, + name: *const ::core::ffi::c_char, + mode: ::core::ffi::c_int, + missing_ok: bool, + ) -> *mut BufFile; + pub fn BufFileDeleteFileSet( + fileset: *mut FileSet, + name: *const ::core::ffi::c_char, + missing_ok: bool, + ); + pub fn BufFileTruncateFileSet(file: *mut BufFile, fileno: ::core::ffi::c_int, offset: off_t); + pub fn GetFreeIndexPage(rel: Relation) -> BlockNumber; + pub fn RecordFreeIndexPage(rel: Relation, freeBlock: BlockNumber); + pub fn RecordUsedIndexPage(rel: Relation, usedBlock: BlockNumber); + pub fn IndexFreeSpaceMapVacuum(rel: Relation); + pub fn GetRecordedFreeSpace(rel: Relation, heapBlk: BlockNumber) -> Size; + pub fn GetPageWithFreeSpace(rel: Relation, spaceNeeded: Size) -> BlockNumber; + pub fn RecordAndGetPageWithFreeSpace( + rel: Relation, + oldPage: BlockNumber, + oldSpaceAvail: Size, + spaceNeeded: Size, + ) -> BlockNumber; + pub fn RecordPageWithFreeSpace(rel: Relation, heapBlk: BlockNumber, spaceAvail: Size); + pub fn XLogRecordPageWithFreeSpace( + rlocator: RelFileLocator, + heapBlk: BlockNumber, + spaceAvail: Size, + ); + pub fn FreeSpaceMapPrepareTruncateRel(rel: Relation, nblocks: BlockNumber) -> BlockNumber; + pub fn FreeSpaceMapVacuum(rel: Relation); + pub fn FreeSpaceMapVacuumRange(rel: Relation, start: BlockNumber, end: BlockNumber); + pub static mut proc_exit_inprogress: bool; + pub static mut shmem_exit_inprogress: bool; + pub fn proc_exit(code: ::core::ffi::c_int); + pub fn shmem_exit(code: ::core::ffi::c_int); + pub fn on_proc_exit(function: pg_on_exit_callback, arg: Datum); + pub fn on_shmem_exit(function: pg_on_exit_callback, arg: Datum); + pub fn before_shmem_exit(function: pg_on_exit_callback, arg: Datum); + pub fn cancel_before_shmem_exit(function: pg_on_exit_callback, arg: Datum); + pub fn on_exit_reset(); + pub fn check_on_shmem_exit_lists_are_empty(); + pub static mut shmem_startup_hook: shmem_startup_hook_type; + pub fn CalculateShmemSize(num_semaphores: *mut ::core::ffi::c_int) -> Size; + pub fn CreateSharedMemoryAndSemaphores(); + pub fn InitializeShmemGUCs(); + pub fn ProcSignalShmemSize() -> Size; + pub fn ProcSignalShmemInit(); + pub fn ProcSignalInit(cancel_key: *mut ::core::ffi::c_char, cancel_key_len: ::core::ffi::c_int); + pub fn SendProcSignal( + pid: pid_t, + reason: ProcSignalReason::Type, + procNumber: ProcNumber, + ) -> ::core::ffi::c_int; + pub fn SendCancelRequest( + backendPID: ::core::ffi::c_int, + cancel_key: *mut ::core::ffi::c_char, + cancel_key_len: ::core::ffi::c_int, + ); + pub fn EmitProcSignalBarrier(type_: ProcSignalBarrierType::Type) -> uint64; + pub fn WaitForProcSignalBarrier(generation: uint64); + pub fn ProcessProcSignalBarrier(); + pub fn procsignal_sigusr1_handler(postgres_signal_arg: ::core::ffi::c_int); + pub fn standby_redo(record: *mut XLogReaderState); + pub fn standby_desc(buf: StringInfo, record: *mut XLogReaderState); + pub fn standby_identify(info: uint8) -> *const ::core::ffi::c_char; + pub fn standby_desc_invalidations( + buf: StringInfo, + nmsgs: ::core::ffi::c_int, + msgs: *mut SharedInvalidationMessage, + dbId: Oid, + tsId: Oid, + relcacheInitFileInval: bool, + ); + pub static mut max_standby_archive_delay: ::core::ffi::c_int; + pub static mut max_standby_streaming_delay: ::core::ffi::c_int; + pub static mut log_recovery_conflict_waits: bool; + pub fn InitRecoveryTransactionEnvironment(); + pub fn ShutdownRecoveryTransactionEnvironment(); + pub fn ResolveRecoveryConflictWithSnapshot( + snapshotConflictHorizon: TransactionId, + isCatalogRel: bool, + locator: RelFileLocator, + ); + pub fn ResolveRecoveryConflictWithSnapshotFullXid( + snapshotConflictHorizon: FullTransactionId, + isCatalogRel: bool, + locator: RelFileLocator, + ); + pub fn ResolveRecoveryConflictWithTablespace(tsid: Oid); + pub fn ResolveRecoveryConflictWithDatabase(dbid: Oid); + pub fn ResolveRecoveryConflictWithLock(locktag: LOCKTAG, logging_conflict: bool); + pub fn ResolveRecoveryConflictWithBufferPin(); + pub fn CheckRecoveryConflictDeadlock(); + pub fn StandbyDeadLockHandler(); + pub fn StandbyTimeoutHandler(); + pub fn StandbyLockTimeoutHandler(); + pub fn LogRecoveryConflict( + reason: ProcSignalReason::Type, + wait_start: TimestampTz, + now: TimestampTz, + wait_list: *mut VirtualTransactionId, + still_waiting: bool, + ); + pub fn StandbyAcquireAccessExclusiveLock(xid: TransactionId, dbOid: Oid, relOid: Oid); + pub fn StandbyReleaseLockTree( + xid: TransactionId, + nsubxids: ::core::ffi::c_int, + subxids: *mut TransactionId, + ); + pub fn StandbyReleaseAllLocks(); + pub fn StandbyReleaseOldLocks(oldxid: TransactionId); + pub fn LogAccessExclusiveLock(dbOid: Oid, relOid: Oid); + pub fn LogAccessExclusiveLockPrepare(); + pub fn LogStandbySnapshot() -> XLogRecPtr; + pub fn LogStandbyInvalidations( + nmsgs: ::core::ffi::c_int, + msgs: *mut SharedInvalidationMessage, + relcacheInitFileInval: bool, + ); + pub fn ProcArrayShmemSize() -> Size; + pub fn ProcArrayShmemInit(); + pub fn ProcArrayAdd(proc_: *mut PGPROC); + pub fn ProcArrayRemove(proc_: *mut PGPROC, latestXid: TransactionId); + pub fn ProcArrayEndTransaction(proc_: *mut PGPROC, latestXid: TransactionId); + pub fn ProcArrayClearTransaction(proc_: *mut PGPROC); + pub fn ProcArrayInitRecovery(initializedUptoXID: TransactionId); + pub fn ProcArrayApplyRecoveryInfo(running: RunningTransactions); + pub fn ProcArrayApplyXidAssignment( + topxid: TransactionId, + nsubxids: ::core::ffi::c_int, + subxids: *mut TransactionId, + ); + pub fn RecordKnownAssignedTransactionIds(xid: TransactionId); + pub fn ExpireTreeKnownAssignedTransactionIds( + xid: TransactionId, + nsubxids: ::core::ffi::c_int, + subxids: *mut TransactionId, + max_xid: TransactionId, + ); + pub fn ExpireAllKnownAssignedTransactionIds(); + pub fn ExpireOldKnownAssignedTransactionIds(xid: TransactionId); + pub fn KnownAssignedTransactionIdsIdleMaintenance(); + pub fn GetMaxSnapshotXidCount() -> ::core::ffi::c_int; + pub fn GetMaxSnapshotSubxidCount() -> ::core::ffi::c_int; + pub fn GetSnapshotData(snapshot: Snapshot) -> Snapshot; + pub fn ProcArrayInstallImportedXmin( + xmin: TransactionId, + sourcevxid: *mut VirtualTransactionId, + ) -> bool; + pub fn ProcArrayInstallRestoredXmin(xmin: TransactionId, proc_: *mut PGPROC) -> bool; + pub fn GetRunningTransactionData() -> RunningTransactions; + pub fn TransactionIdIsInProgress(xid: TransactionId) -> bool; + pub fn TransactionIdIsActive(xid: TransactionId) -> bool; + pub fn GetOldestNonRemovableTransactionId(rel: Relation) -> TransactionId; + pub fn GetOldestTransactionIdConsideredRunning() -> TransactionId; + pub fn GetOldestActiveTransactionId() -> TransactionId; + pub fn GetOldestSafeDecodingTransactionId(catalogOnly: bool) -> TransactionId; + pub fn GetReplicationHorizons(xmin: *mut TransactionId, catalog_xmin: *mut TransactionId); + pub fn GetVirtualXIDsDelayingChkpt( + nvxids: *mut ::core::ffi::c_int, + type_: ::core::ffi::c_int, + ) -> *mut VirtualTransactionId; + pub fn HaveVirtualXIDsDelayingChkpt( + vxids: *mut VirtualTransactionId, + nvxids: ::core::ffi::c_int, + type_: ::core::ffi::c_int, + ) -> bool; + pub fn ProcNumberGetProc(procNumber: ::core::ffi::c_int) -> *mut PGPROC; + pub fn ProcNumberGetTransactionIds( + procNumber: ::core::ffi::c_int, + xid: *mut TransactionId, + xmin: *mut TransactionId, + nsubxid: *mut ::core::ffi::c_int, + overflowed: *mut bool, + ); + pub fn BackendPidGetProc(pid: ::core::ffi::c_int) -> *mut PGPROC; + pub fn BackendPidGetProcWithLock(pid: ::core::ffi::c_int) -> *mut PGPROC; + pub fn BackendXidGetPid(xid: TransactionId) -> ::core::ffi::c_int; + pub fn IsBackendPid(pid: ::core::ffi::c_int) -> bool; + pub fn GetCurrentVirtualXIDs( + limitXmin: TransactionId, + excludeXmin0: bool, + allDbs: bool, + excludeVacuum: ::core::ffi::c_int, + nvxids: *mut ::core::ffi::c_int, + ) -> *mut VirtualTransactionId; + pub fn GetConflictingVirtualXIDs( + limitXmin: TransactionId, + dbOid: Oid, + ) -> *mut VirtualTransactionId; + pub fn CancelVirtualTransaction( + vxid: VirtualTransactionId, + sigmode: ProcSignalReason::Type, + ) -> pid_t; + pub fn SignalVirtualTransaction( + vxid: VirtualTransactionId, + sigmode: ProcSignalReason::Type, + conflictPending: bool, + ) -> pid_t; + pub fn MinimumActiveBackends(min: ::core::ffi::c_int) -> bool; + pub fn CountDBBackends(databaseid: Oid) -> ::core::ffi::c_int; + pub fn CountDBConnections(databaseid: Oid) -> ::core::ffi::c_int; + pub fn CancelDBBackends( + databaseid: Oid, + sigmode: ProcSignalReason::Type, + conflictPending: bool, + ); + pub fn CountUserBackends(roleid: Oid) -> ::core::ffi::c_int; + pub fn CountOtherDBBackends( + databaseId: Oid, + nbackends: *mut ::core::ffi::c_int, + nprepared: *mut ::core::ffi::c_int, + ) -> bool; + pub fn TerminateOtherDBBackends(databaseId: Oid); + pub fn XidCacheRemoveRunningXids( + xid: TransactionId, + nxids: ::core::ffi::c_int, + xids: *const TransactionId, + latestXid: TransactionId, + ); + pub fn ProcArraySetReplicationSlotXmin( + xmin: TransactionId, + catalog_xmin: TransactionId, + already_locked: bool, + ); + pub fn ProcArrayGetReplicationSlotXmin( + xmin: *mut TransactionId, + catalog_xmin: *mut TransactionId, + ); + pub static mut ActivePortal: Portal; + pub fn ChoosePortalStrategy(stmts: *mut List) -> PortalStrategy::Type; + pub fn FetchPortalTargetList(portal: Portal) -> *mut List; + pub fn FetchStatementTargetList(stmt: *mut Node) -> *mut List; + pub fn PortalStart( + portal: Portal, + params: ParamListInfo, + eflags: ::core::ffi::c_int, + snapshot: Snapshot, + ); + pub fn PortalSetResultFormat(portal: Portal, nFormats: ::core::ffi::c_int, formats: *mut int16); + pub fn PortalRun( + portal: Portal, + count: ::core::ffi::c_long, + isTopLevel: bool, + dest: *mut DestReceiver, + altdest: *mut DestReceiver, + qc: *mut QueryCompletion, + ) -> bool; + pub fn PortalRunFetch( + portal: Portal, + fdirection: FetchDirection::Type, + count: ::core::ffi::c_long, + dest: *mut DestReceiver, + ) -> uint64; + pub fn PlannedStmtRequiresSnapshot(pstmt: *mut PlannedStmt) -> bool; + pub fn EnsurePortalSnapshotExists(); + pub static mut whereToSendOutput: CommandDest::Type; + pub static mut debug_query_string: *const ::core::ffi::c_char; + pub static mut PostAuthDelay: ::core::ffi::c_int; + pub static mut client_connection_check_interval: ::core::ffi::c_int; + pub static mut Log_disconnections: bool; + pub static mut log_statement: ::core::ffi::c_int; + pub static mut restrict_nonsystem_relation_kind: ::core::ffi::c_int; + pub fn pg_parse_query(query_string: *const ::core::ffi::c_char) -> *mut List; + pub fn pg_rewrite_query(query: *mut Query) -> *mut List; + pub fn pg_analyze_and_rewrite_fixedparams( + parsetree: *mut RawStmt, + query_string: *const ::core::ffi::c_char, + paramTypes: *const Oid, + numParams: ::core::ffi::c_int, + queryEnv: *mut QueryEnvironment, + ) -> *mut List; + pub fn pg_analyze_and_rewrite_varparams( + parsetree: *mut RawStmt, + query_string: *const ::core::ffi::c_char, + paramTypes: *mut *mut Oid, + numParams: *mut ::core::ffi::c_int, + queryEnv: *mut QueryEnvironment, + ) -> *mut List; + pub fn pg_analyze_and_rewrite_withcb( + parsetree: *mut RawStmt, + query_string: *const ::core::ffi::c_char, + parserSetup: ParserSetupHook, + parserSetupArg: *mut ::core::ffi::c_void, + queryEnv: *mut QueryEnvironment, + ) -> *mut List; + pub fn pg_plan_query( + querytree: *mut Query, + query_string: *const ::core::ffi::c_char, + cursorOptions: ::core::ffi::c_int, + boundParams: ParamListInfo, + ) -> *mut PlannedStmt; + pub fn pg_plan_queries( + querytrees: *mut List, + query_string: *const ::core::ffi::c_char, + cursorOptions: ::core::ffi::c_int, + boundParams: ParamListInfo, + ) -> *mut List; + pub fn die(postgres_signal_arg: ::core::ffi::c_int); + pub fn quickdie(postgres_signal_arg: ::core::ffi::c_int); + pub fn StatementCancelHandler(postgres_signal_arg: ::core::ffi::c_int); + pub fn FloatExceptionHandler(postgres_signal_arg: ::core::ffi::c_int); + pub fn HandleRecoveryConflictInterrupt(reason: ProcSignalReason::Type); + pub fn ProcessClientReadInterrupt(blocked: bool); + pub fn ProcessClientWriteInterrupt(blocked: bool); + pub fn process_postgres_switches( + argc: ::core::ffi::c_int, + argv: *mut *mut ::core::ffi::c_char, + ctx: GucContext::Type, + dbname: *mut *const ::core::ffi::c_char, + ); + pub fn PostgresSingleUserMain( + argc: ::core::ffi::c_int, + argv: *mut *mut ::core::ffi::c_char, + username: *const ::core::ffi::c_char, + ); + pub fn PostgresMain(dbname: *const ::core::ffi::c_char, username: *const ::core::ffi::c_char); + pub fn ResetUsage(); + pub fn ShowUsage(title: *const ::core::ffi::c_char); + pub fn check_log_duration( + msec_str: *mut ::core::ffi::c_char, + was_logged: bool, + ) -> ::core::ffi::c_int; + pub fn set_debug_options( + debug_flag: ::core::ffi::c_int, + context: GucContext::Type, + source: GucSource::Type, + ); + pub fn set_plan_disabling_options( + arg: *const ::core::ffi::c_char, + context: GucContext::Type, + source: GucSource::Type, + ) -> bool; + pub fn get_stats_option_name(arg: *const ::core::ffi::c_char) -> *const ::core::ffi::c_char; + pub static mut ProcessUtility_hook: ProcessUtility_hook_type; + pub fn ProcessUtility( + pstmt: *mut PlannedStmt, + queryString: *const ::core::ffi::c_char, + readOnlyTree: bool, + context: ProcessUtilityContext::Type, + params: ParamListInfo, + queryEnv: *mut QueryEnvironment, + dest: *mut DestReceiver, + qc: *mut QueryCompletion, + ); + pub fn standard_ProcessUtility( + pstmt: *mut PlannedStmt, + queryString: *const ::core::ffi::c_char, + readOnlyTree: bool, + context: ProcessUtilityContext::Type, + params: ParamListInfo, + queryEnv: *mut QueryEnvironment, + dest: *mut DestReceiver, + qc: *mut QueryCompletion, + ); + pub fn ProcessUtilityForAlterTable(stmt: *mut Node, context: *mut AlterTableUtilityContext); + pub fn UtilityReturnsTuples(parsetree: *mut Node) -> bool; + pub fn UtilityTupleDescriptor(parsetree: *mut Node) -> TupleDesc; + pub fn UtilityContainsQuery(parsetree: *mut Node) -> *mut Query; + pub fn CreateCommandTag(parsetree: *mut Node) -> CommandTag::Type; + pub fn GetCommandLogLevel(parsetree: *mut Node) -> LogStmtLevel::Type; + pub fn CommandIsReadOnly(pstmt: *mut PlannedStmt) -> bool; + pub static mut TSCurrentConfig: *mut ::core::ffi::c_char; + pub fn lookup_ts_parser_cache(prsId: Oid) -> *mut TSParserCacheEntry; + pub fn lookup_ts_dictionary_cache(dictId: Oid) -> *mut TSDictionaryCacheEntry; + pub fn lookup_ts_config_cache(cfgId: Oid) -> *mut TSConfigCacheEntry; + pub fn getTSCurrentConfig(emitError: bool) -> Oid; + pub fn compareWordEntryPos( + a: *const ::core::ffi::c_void, + b: *const ::core::ffi::c_void, + ) -> ::core::ffi::c_int; + pub static tsearch_op_priority: [::core::ffi::c_int; 4usize]; + pub fn get_tsearch_config_filename( + basename: *const ::core::ffi::c_char, + extension: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn readstoplist( + fname: *const ::core::ffi::c_char, + s: *mut StopList, + wordop: ::core::option::Option< + unsafe extern "C-unwind" fn( + arg1: *const ::core::ffi::c_char, + arg2: usize, + arg3: Oid, + ) -> *mut ::core::ffi::c_char, + >, + ); + pub fn searchstoplist(s: *mut StopList, key: *mut ::core::ffi::c_char) -> bool; + pub fn init_tsvector_parser( + input: *mut ::core::ffi::c_char, + flags: ::core::ffi::c_int, + escontext: *mut Node, + ) -> TSVectorParseState; + pub fn reset_tsvector_parser(state: TSVectorParseState, input: *mut ::core::ffi::c_char); + pub fn gettoken_tsvector( + state: TSVectorParseState, + strval: *mut *mut ::core::ffi::c_char, + lenval: *mut ::core::ffi::c_int, + pos_ptr: *mut *mut WordEntryPos, + poslen: *mut ::core::ffi::c_int, + endptr: *mut *mut ::core::ffi::c_char, + ) -> bool; + pub fn close_tsvector_parser(state: TSVectorParseState); + pub fn parse_tsquery( + buf: *mut ::core::ffi::c_char, + pushval: PushFunction, + opaque: Datum, + flags: ::core::ffi::c_int, + escontext: *mut Node, + ) -> TSQuery; + pub fn pushValue( + state: TSQueryParserState, + strval: *mut ::core::ffi::c_char, + lenval: ::core::ffi::c_int, + weight: int16, + prefix: bool, + ); + pub fn pushStop(state: TSQueryParserState); + pub fn pushOperator(state: TSQueryParserState, oper: int8, distance: int16); + pub fn parsetext( + cfgId: Oid, + prs: *mut ParsedText, + buf: *mut ::core::ffi::c_char, + buflen: int32, + ); + pub fn hlparsetext( + cfgId: Oid, + prs: *mut HeadlineParsedText, + query: TSQuery, + buf: *mut ::core::ffi::c_char, + buflen: int32, + ); + pub fn generateHeadline(prs: *mut HeadlineParsedText) -> *mut text; + pub fn TS_execute( + curitem: *mut QueryItem, + arg: *mut ::core::ffi::c_void, + flags: uint32, + chkcond: TSExecuteCallback, + ) -> bool; + pub fn TS_execute_ternary( + curitem: *mut QueryItem, + arg: *mut ::core::ffi::c_void, + flags: uint32, + chkcond: TSExecuteCallback, + ) -> TSTernaryValue::Type; + pub fn TS_execute_locations( + curitem: *mut QueryItem, + arg: *mut ::core::ffi::c_void, + flags: uint32, + chkcond: TSExecuteCallback, + ) -> *mut List; + pub fn tsquery_requires_match(curitem: *mut QueryItem) -> bool; + pub fn make_tsvector(prs: *mut ParsedText) -> TSVector; + pub fn tsCompareString( + a: *mut ::core::ffi::c_char, + lena: ::core::ffi::c_int, + b: *mut ::core::ffi::c_char, + lenb: ::core::ffi::c_int, + prefix: bool, + ) -> int32; + pub fn clean_NOT(ptr: *mut QueryItem, len: *mut int32) -> *mut QueryItem; + pub fn cleanup_tsquery_stopwords(in_: TSQuery, noisy: bool) -> TSQuery; + pub fn QT2QTN(in_: *mut QueryItem, operand: *mut ::core::ffi::c_char) -> *mut QTNode; + pub fn QTN2QT(in_: *mut QTNode) -> TSQuery; + pub fn QTNFree(in_: *mut QTNode); + pub fn QTNSort(in_: *mut QTNode); + pub fn QTNTernary(in_: *mut QTNode); + pub fn QTNBinary(in_: *mut QTNode); + pub fn QTNodeCompare(an: *mut QTNode, bn: *mut QTNode) -> ::core::ffi::c_int; + pub fn QTNCopy(in_: *mut QTNode) -> *mut QTNode; + pub fn QTNClearFlags(in_: *mut QTNode, flags: uint32); + pub fn QTNEq(a: *mut QTNode, b: *mut QTNode) -> bool; + pub fn makeTSQuerySign(a: TSQuery) -> TSQuerySign; + pub fn findsubquery( + root: *mut QTNode, + ex: *mut QTNode, + subs: *mut QTNode, + isfind: *mut bool, + ) -> *mut QTNode; + pub fn heap_tableam_handler(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteaout(fcinfo: FunctionCallInfo) -> Datum; + pub fn charout(fcinfo: FunctionCallInfo) -> Datum; + pub fn namein(fcinfo: FunctionCallInfo) -> Datum; + pub fn nameout(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2in(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2out(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2vectorin(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2vectorout(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4in(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4out(fcinfo: FunctionCallInfo) -> Datum; + pub fn regprocin(fcinfo: FunctionCallInfo) -> Datum; + pub fn regprocout(fcinfo: FunctionCallInfo) -> Datum; + pub fn textin(fcinfo: FunctionCallInfo) -> Datum; + pub fn textout(fcinfo: FunctionCallInfo) -> Datum; + pub fn tidin(fcinfo: FunctionCallInfo) -> Datum; + pub fn tidout(fcinfo: FunctionCallInfo) -> Datum; + pub fn xidin(fcinfo: FunctionCallInfo) -> Datum; + pub fn xidout(fcinfo: FunctionCallInfo) -> Datum; + pub fn cidin(fcinfo: FunctionCallInfo) -> Datum; + pub fn cidout(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidvectorin(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidvectorout(fcinfo: FunctionCallInfo) -> Datum; + pub fn boollt(fcinfo: FunctionCallInfo) -> Datum; + pub fn boolgt(fcinfo: FunctionCallInfo) -> Datum; + pub fn booleq(fcinfo: FunctionCallInfo) -> Datum; + pub fn chareq(fcinfo: FunctionCallInfo) -> Datum; + pub fn nameeq(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn texteq(fcinfo: FunctionCallInfo) -> Datum; + pub fn xideq(fcinfo: FunctionCallInfo) -> Datum; + pub fn cideq(fcinfo: FunctionCallInfo) -> Datum; + pub fn charne(fcinfo: FunctionCallInfo) -> Datum; + pub fn charle(fcinfo: FunctionCallInfo) -> Datum; + pub fn chargt(fcinfo: FunctionCallInfo) -> Datum; + pub fn charge(fcinfo: FunctionCallInfo) -> Datum; + pub fn chartoi4(fcinfo: FunctionCallInfo) -> Datum; + pub fn i4tochar(fcinfo: FunctionCallInfo) -> Datum; + pub fn nameregexeq(fcinfo: FunctionCallInfo) -> Datum; + pub fn boolne(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ddl_command_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ddl_command_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ddl_command_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn pgsql_version(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ddl_command_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn eqsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn neqsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn scalarltsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn scalargtsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn eqjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn neqjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn scalarltjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn scalargtjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn unknownin(fcinfo: FunctionCallInfo) -> Datum; + pub fn unknownout(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_above_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_below_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_overlap(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_above(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_left(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_right(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_below(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn on_pb(fcinfo: FunctionCallInfo) -> Datum; + pub fn on_ppath(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_center(fcinfo: FunctionCallInfo) -> Datum; + pub fn areasel(fcinfo: FunctionCallInfo) -> Datum; + pub fn areajoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2le(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4le(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2div(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4div(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2mod(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4mod(fcinfo: FunctionCallInfo) -> Datum; + pub fn textne(fcinfo: FunctionCallInfo) -> Datum; + pub fn int24eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn int42eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn int24lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int42lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int24gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int42gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int24ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn int42ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn int24le(fcinfo: FunctionCallInfo) -> Datum; + pub fn int42le(fcinfo: FunctionCallInfo) -> Datum; + pub fn int24ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn int42ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn int24mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn int42mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn int24div(fcinfo: FunctionCallInfo) -> Datum; + pub fn int42div(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn int24pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn int42pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn int24mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn int42mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn oideq(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidne(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_same(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_contain(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_left(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_overleft(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_overright(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_right(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_contained(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_contain_pt(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_node_tree_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_node_tree_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_node_tree_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_node_tree_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4in(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4out(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4div(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4um(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4abs(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4um(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2um(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8in(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8out(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8div(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8um(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8abs(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_center(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_center(fcinfo: FunctionCallInfo) -> Datum; + pub fn dround(fcinfo: FunctionCallInfo) -> Datum; + pub fn dtrunc(fcinfo: FunctionCallInfo) -> Datum; + pub fn dsqrt(fcinfo: FunctionCallInfo) -> Datum; + pub fn dcbrt(fcinfo: FunctionCallInfo) -> Datum; + pub fn dpow(fcinfo: FunctionCallInfo) -> Datum; + pub fn dexp(fcinfo: FunctionCallInfo) -> Datum; + pub fn dlog1(fcinfo: FunctionCallInfo) -> Datum; + pub fn i2tod(fcinfo: FunctionCallInfo) -> Datum; + pub fn i2tof(fcinfo: FunctionCallInfo) -> Datum; + pub fn dtoi2(fcinfo: FunctionCallInfo) -> Datum; + pub fn ftoi2(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_distance(fcinfo: FunctionCallInfo) -> Datum; + pub fn nameeqtext(fcinfo: FunctionCallInfo) -> Datum; + pub fn namelttext(fcinfo: FunctionCallInfo) -> Datum; + pub fn nameletext(fcinfo: FunctionCallInfo) -> Datum; + pub fn namegetext(fcinfo: FunctionCallInfo) -> Datum; + pub fn namegttext(fcinfo: FunctionCallInfo) -> Datum; + pub fn namenetext(fcinfo: FunctionCallInfo) -> Datum; + pub fn btnametextcmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn texteqname(fcinfo: FunctionCallInfo) -> Datum; + pub fn textltname(fcinfo: FunctionCallInfo) -> Datum; + pub fn textlename(fcinfo: FunctionCallInfo) -> Datum; + pub fn textgename(fcinfo: FunctionCallInfo) -> Datum; + pub fn textgtname(fcinfo: FunctionCallInfo) -> Datum; + pub fn textnename(fcinfo: FunctionCallInfo) -> Datum; + pub fn bttextnamecmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn nameconcatoid(fcinfo: FunctionCallInfo) -> Datum; + pub fn table_am_handler_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn table_am_handler_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn timeofday(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_nextoid(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_combine(fcinfo: FunctionCallInfo) -> Datum; + pub fn inter_sl(fcinfo: FunctionCallInfo) -> Datum; + pub fn inter_lb(fcinfo: FunctionCallInfo) -> Datum; + pub fn float48mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn float48div(fcinfo: FunctionCallInfo) -> Datum; + pub fn float48pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn float48mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn float84mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn float84div(fcinfo: FunctionCallInfo) -> Datum; + pub fn float84pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn float84mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4le(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8le(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn float48eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn float48ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn float48lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn float48le(fcinfo: FunctionCallInfo) -> Datum; + pub fn float48gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn float48ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn float84eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn float84ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn float84lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn float84le(fcinfo: FunctionCallInfo) -> Datum; + pub fn float84gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn float84ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn ftod(fcinfo: FunctionCallInfo) -> Datum; + pub fn dtof(fcinfo: FunctionCallInfo) -> Datum; + pub fn i2toi4(fcinfo: FunctionCallInfo) -> Datum; + pub fn i4toi2(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_jit_available(fcinfo: FunctionCallInfo) -> Datum; + pub fn i4tod(fcinfo: FunctionCallInfo) -> Datum; + pub fn dtoi4(fcinfo: FunctionCallInfo) -> Datum; + pub fn i4tof(fcinfo: FunctionCallInfo) -> Datum; + pub fn ftoi4(fcinfo: FunctionCallInfo) -> Datum; + pub fn width_bucket_float8(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn index_am_handler_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn index_am_handler_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashmacaddr8(fcinfo: FunctionCallInfo) -> Datum; + pub fn hash_aclitem(fcinfo: FunctionCallInfo) -> Datum; + pub fn bthandler(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashhandler(fcinfo: FunctionCallInfo) -> Datum; + pub fn gisthandler(fcinfo: FunctionCallInfo) -> Datum; + pub fn ginhandler(fcinfo: FunctionCallInfo) -> Datum; + pub fn spghandler(fcinfo: FunctionCallInfo) -> Datum; + pub fn brinhandler(fcinfo: FunctionCallInfo) -> Datum; + pub fn scalarlesel(fcinfo: FunctionCallInfo) -> Datum; + pub fn scalargesel(fcinfo: FunctionCallInfo) -> Datum; + pub fn amvalidate(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_same(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_contain(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_left(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_overleft(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_overright(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_right(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_contained(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_overlap(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint2cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint4cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btfloat4cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btfloat8cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btoidcmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_bp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btcharcmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btnamecmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn bttextcmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_distance(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_interpt(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_ps(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_pb(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_sb(fcinfo: FunctionCallInfo) -> Datum; + pub fn close_ps(fcinfo: FunctionCallInfo) -> Datum; + pub fn close_pb(fcinfo: FunctionCallInfo) -> Datum; + pub fn close_sb(fcinfo: FunctionCallInfo) -> Datum; + pub fn on_ps(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_distance(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_ppath(fcinfo: FunctionCallInfo) -> Datum; + pub fn on_sb(fcinfo: FunctionCallInfo) -> Datum; + pub fn inter_sb(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_to_array_null(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_append(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_prepend(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_sp(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_bs(fcinfo: FunctionCallInfo) -> Datum; + pub fn btarraycmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_cat(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_to_text_null(fcinfo: FunctionCallInfo) -> Datum; + pub fn scalarlejoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_to_array(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_to_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn scalargejoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashmacaddr(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashtext(fcinfo: FunctionCallInfo) -> Datum; + pub fn rtrim1(fcinfo: FunctionCallInfo) -> Datum; + pub fn btoidvectorcmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn name_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn name_bpchar(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchar_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_pathp(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashinet(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashint4extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hash_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_num_nulls(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_num_nonnulls(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashint2extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashint8extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashfloat4extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashfloat8extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashoidextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashcharextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashnameextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashtextextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashint2(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashint4(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashfloat4(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashfloat8(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashoid(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashchar(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashname(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashvarlena(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashoidvector(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8in(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8out(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8um(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8div(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8le(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn int84eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn int84ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn int84lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int84gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int84le(fcinfo: FunctionCallInfo) -> Datum; + pub fn int84ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn int84(fcinfo: FunctionCallInfo) -> Datum; + pub fn int48(fcinfo: FunctionCallInfo) -> Datum; + pub fn i8tod(fcinfo: FunctionCallInfo) -> Datum; + pub fn dtoi8(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_abbrev(fcinfo: FunctionCallInfo) -> Datum; + pub fn cidr_abbrev(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_set_masklen(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidvectorne(fcinfo: FunctionCallInfo) -> Datum; + pub fn hash_array(fcinfo: FunctionCallInfo) -> Datum; + pub fn cidr_set_masklen(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_indexam_has_property(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_index_has_property(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_index_column_has_property(fcinfo: FunctionCallInfo) -> Datum; + pub fn i8tof(fcinfo: FunctionCallInfo) -> Datum; + pub fn ftoi8(fcinfo: FunctionCallInfo) -> Datum; + pub fn namelt(fcinfo: FunctionCallInfo) -> Datum; + pub fn namele(fcinfo: FunctionCallInfo) -> Datum; + pub fn namegt(fcinfo: FunctionCallInfo) -> Datum; + pub fn namege(fcinfo: FunctionCallInfo) -> Datum; + pub fn namene(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchar(fcinfo: FunctionCallInfo) -> Datum; + pub fn varchar(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_indexam_progress_phasename(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidvectorlt(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidvectorle(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidvectoreq(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidvectorge(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidvectorgt(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_network(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_netmask(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_masklen(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_broadcast(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_host(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_lp(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_ls(fcinfo: FunctionCallInfo) -> Datum; + pub fn current_user(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_family(fcinfo: FunctionCallInfo) -> Datum; + pub fn int82(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_create(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidlt(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidle(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteaoctetlen(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteaGetByte(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteaSetByte(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteaGetBit(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteaSetBit(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_sl(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_cpoly(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_distance(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_show(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn session_user(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_dims(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_ndims(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteaoverlay(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteaoverlay_no_len(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_trunc(fcinfo: FunctionCallInfo) -> Datum; + pub fn int28(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_import(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_export(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4inc(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_import_with_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashvarlenaextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashoidvectorextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hash_aclitem_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashmacaddrextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashinetextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hash_numeric_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashmacaddr8extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hash_array_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_polyc(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_client_encoding(fcinfo: FunctionCallInfo) -> Datum; + pub fn current_query(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn int82pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn int82mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn int82mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn int82div(fcinfo: FunctionCallInfo) -> Datum; + pub fn int28pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint8cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_mul_flt4(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_div_flt4(fcinfo: FunctionCallInfo) -> Datum; + pub fn flt4_mul_cash(fcinfo: FunctionCallInfo) -> Datum; + pub fn textpos(fcinfo: FunctionCallInfo) -> Datum; + pub fn textlike(fcinfo: FunctionCallInfo) -> Datum; + pub fn textnlike(fcinfo: FunctionCallInfo) -> Datum; + pub fn int48eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn int48ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn int48lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int48gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int48le(fcinfo: FunctionCallInfo) -> Datum; + pub fn int48ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn namelike(fcinfo: FunctionCallInfo) -> Datum; + pub fn namenlike(fcinfo: FunctionCallInfo) -> Datum; + pub fn char_bpchar(fcinfo: FunctionCallInfo) -> Datum; + pub fn current_database(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4_mul_cash(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2_mul_cash(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_mul_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_div_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_mul_int2(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_div_int2(fcinfo: FunctionCallInfo) -> Datum; + pub fn lower(fcinfo: FunctionCallInfo) -> Datum; + pub fn upper(fcinfo: FunctionCallInfo) -> Datum; + pub fn initcap(fcinfo: FunctionCallInfo) -> Datum; + pub fn lpad(fcinfo: FunctionCallInfo) -> Datum; + pub fn rpad(fcinfo: FunctionCallInfo) -> Datum; + pub fn ltrim(fcinfo: FunctionCallInfo) -> Datum; + pub fn rtrim(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_substr(fcinfo: FunctionCallInfo) -> Datum; + pub fn translate(fcinfo: FunctionCallInfo) -> Datum; + pub fn ltrim1(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_substr_no_len(fcinfo: FunctionCallInfo) -> Datum; + pub fn btrim(fcinfo: FunctionCallInfo) -> Datum; + pub fn btrim1(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_mul_flt8(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_div_flt8(fcinfo: FunctionCallInfo) -> Datum; + pub fn cashlarger(fcinfo: FunctionCallInfo) -> Datum; + pub fn cashsmaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn flt8_mul_cash(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_sub(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_subeq(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_sup(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_supeq(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_words(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn int28mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn int28mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_char(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8mod(fcinfo: FunctionCallInfo) -> Datum; + pub fn char_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn int28div(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashint8(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_open(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_close(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_loread(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lowrite(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_lseek(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_creat(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_tell(fcinfo: FunctionCallInfo) -> Datum; + pub fn on_pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn on_sl(fcinfo: FunctionCallInfo) -> Datum; + pub fn close_pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_unlink(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashbpcharextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_inter(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_area(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_width(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_height(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_distance(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_area(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_intersect(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_diagonal(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_n_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_n_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_n_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_n_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_n_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_length(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_vert(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_horiz(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_distance(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_slope(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_construct(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_intersect(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_parallel(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_perp(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_vertical(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_horizontal(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_truncate(fcinfo: FunctionCallInfo) -> Datum; + pub fn textlike_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn texticregexeq_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn texticlike_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_izone(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_point_compress(fcinfo: FunctionCallInfo) -> Datum; + pub fn aclitemin(fcinfo: FunctionCallInfo) -> Datum; + pub fn aclitemout(fcinfo: FunctionCallInfo) -> Datum; + pub fn aclinsert(fcinfo: FunctionCallInfo) -> Datum; + pub fn aclremove(fcinfo: FunctionCallInfo) -> Datum; + pub fn aclcontains(fcinfo: FunctionCallInfo) -> Datum; + pub fn getdatabaseencoding(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpcharin(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpcharout(fcinfo: FunctionCallInfo) -> Datum; + pub fn varcharin(fcinfo: FunctionCallInfo) -> Datum; + pub fn varcharout(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchareq(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpcharlt(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpcharle(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchargt(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpcharge(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpcharne(fcinfo: FunctionCallInfo) -> Datum; + pub fn aclitem_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchar_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchar_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_prepared_xact(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_step_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_step_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpcharcmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_regclass(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashbpchar(fcinfo: FunctionCallInfo) -> Datum; + pub fn format_type(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_wal(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_wal_replay_pause_state(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_pli(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_mii(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_add_pt(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_sub_pt(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_mul_pt(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_div_pt(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_zone(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_um(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_part(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_part(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_subset_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_justify_hours(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_path_exists_tz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_path_query_tz(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_path_query_array_tz(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid_age(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_pl_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_mi_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_subscripts(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_subscripts_nodir(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_fill(fcinfo: FunctionCallInfo) -> Datum; + pub fn dlog10(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_age(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_scale(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_trunc(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_trunc(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8inc(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8abs(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn texticregexeq(fcinfo: FunctionCallInfo) -> Datum; + pub fn texticregexne(fcinfo: FunctionCallInfo) -> Datum; + pub fn nameicregexeq(fcinfo: FunctionCallInfo) -> Datum; + pub fn nameicregexne(fcinfo: FunctionCallInfo) -> Datum; + pub fn boolin(fcinfo: FunctionCallInfo) -> Datum; + pub fn boolout(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteain(fcinfo: FunctionCallInfo) -> Datum; + pub fn charin(fcinfo: FunctionCallInfo) -> Datum; + pub fn charlt(fcinfo: FunctionCallInfo) -> Datum; + pub fn unique_key_recheck(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4abs(fcinfo: FunctionCallInfo) -> Datum; + pub fn nameregexne(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2abs(fcinfo: FunctionCallInfo) -> Datum; + pub fn textregexeq(fcinfo: FunctionCallInfo) -> Datum; + pub fn textregexne(fcinfo: FunctionCallInfo) -> Datum; + pub fn textlen(fcinfo: FunctionCallInfo) -> Datum; + pub fn textcat(fcinfo: FunctionCallInfo) -> Datum; + pub fn PG_char_to_encoding(fcinfo: FunctionCallInfo) -> Datum; + pub fn tidne(fcinfo: FunctionCallInfo) -> Datum; + pub fn cidr_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn parse_ident(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_column_size(fcinfo: FunctionCallInfo) -> Datum; + pub fn overlaps_timetz(fcinfo: FunctionCallInfo) -> Datum; + pub fn datetime_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_part(fcinfo: FunctionCallInfo) -> Datum; + pub fn int84pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn int84mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn int84mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn int84div(fcinfo: FunctionCallInfo) -> Datum; + pub fn int48pl(fcinfo: FunctionCallInfo) -> Datum; + pub fn int48mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn int48mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn int48div(fcinfo: FunctionCallInfo) -> Datum; + pub fn quote_ident(fcinfo: FunctionCallInfo) -> Datum; + pub fn quote_literal(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_trunc_zone(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_fill_with_lower_bounds(fcinfo: FunctionCallInfo) -> Datum; + pub fn i8tooid(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidtoi8(fcinfo: FunctionCallInfo) -> Datum; + pub fn quote_nullable(fcinfo: FunctionCallInfo) -> Datum; + pub fn suppress_redundant_updates_trigger(fcinfo: FunctionCallInfo) -> Datum; + pub fn tideq(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_unnest(fcinfo: FunctionCallInfo) -> Datum; + pub fn currtid_byrelname(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_justify_days(fcinfo: FunctionCallInfo) -> Datum; + pub fn datetimetz_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn now(fcinfo: FunctionCallInfo) -> Datum; + pub fn positionsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn positionjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn contsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn contjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn overlaps_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn overlaps_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpcharlen(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_div(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidvectortypes(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_hostmask(fcinfo: FunctionCallInfo) -> Datum; + pub fn textregexeq_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn makeaclitem(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lock_status(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_finite(fcinfo: FunctionCallInfo) -> Datum; + pub fn textoctetlen(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpcharoctetlen(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_fac(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_part(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_constraintdef(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_timetz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_finite(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_finite(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_start(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_client_addr(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_client_port(fcinfo: FunctionCallInfo) -> Datum; + pub fn current_schema(fcinfo: FunctionCallInfo) -> Datum; + pub fn current_schemas(fcinfo: FunctionCallInfo) -> Datum; + pub fn textoverlay(fcinfo: FunctionCallInfo) -> Datum; + pub fn textoverlay_no_len(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_parallel(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_perp(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_vertical(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_horizontal(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_center(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn points_box(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_add(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_sub(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_div(fcinfo: FunctionCallInfo) -> Datum; + pub fn cidr_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_contain_pt(fcinfo: FunctionCallInfo) -> Datum; + pub fn pt_contained_poly(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_isclosed(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_isopen(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_npoints(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_close(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_open(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_add(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_add_pt(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_sub_pt(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_mul_pt(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_div_pt(fcinfo: FunctionCallInfo) -> Datum; + pub fn construct_point(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_add(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_sub(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_div(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_npoints(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_box(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_path(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_poly(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_poly(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_same(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_contain(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_left(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_overleft(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_overright(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_right(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_contained(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_overlap(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_below(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_above(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_area(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_diameter(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_radius(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_distance(fcinfo: FunctionCallInfo) -> Datum; + pub fn cr_circle(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_circle(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_poly(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_pc(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_contain_pt(fcinfo: FunctionCallInfo) -> Datum; + pub fn pt_contained_circle(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_circle(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_box(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_length(fcinfo: FunctionCallInfo) -> Datum; + pub fn close_ls(fcinfo: FunctionCallInfo) -> Datum; + pub fn close_lseg(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_construct_pp(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_interpt(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_intersect(fcinfo: FunctionCallInfo) -> Datum; + pub fn bit_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn bit_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_ruledef(fcinfo: FunctionCallInfo) -> Datum; + pub fn nextval_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn currval_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn setval_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn varbit_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn varbit_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn biteq(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitne(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitge(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitgt(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitle(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitlt(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitcmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn PG_encoding_to_char(fcinfo: FunctionCallInfo) -> Datum; + pub fn drandom(fcinfo: FunctionCallInfo) -> Datum; + pub fn setseed(fcinfo: FunctionCallInfo) -> Datum; + pub fn dasin(fcinfo: FunctionCallInfo) -> Datum; + pub fn dacos(fcinfo: FunctionCallInfo) -> Datum; + pub fn datan(fcinfo: FunctionCallInfo) -> Datum; + pub fn datan2(fcinfo: FunctionCallInfo) -> Datum; + pub fn dsin(fcinfo: FunctionCallInfo) -> Datum; + pub fn dcos(fcinfo: FunctionCallInfo) -> Datum; + pub fn dtan(fcinfo: FunctionCallInfo) -> Datum; + pub fn dcot(fcinfo: FunctionCallInfo) -> Datum; + pub fn degrees(fcinfo: FunctionCallInfo) -> Datum; + pub fn radians(fcinfo: FunctionCallInfo) -> Datum; + pub fn dpi(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_typeof(fcinfo: FunctionCallInfo) -> Datum; + pub fn ascii(fcinfo: FunctionCallInfo) -> Datum; + pub fn chr(fcinfo: FunctionCallInfo) -> Datum; + pub fn repeat(fcinfo: FunctionCallInfo) -> Datum; + pub fn similar_escape(fcinfo: FunctionCallInfo) -> Datum; + pub fn mul_d_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn texticlike(fcinfo: FunctionCallInfo) -> Datum; + pub fn texticnlike(fcinfo: FunctionCallInfo) -> Datum; + pub fn nameiclike(fcinfo: FunctionCallInfo) -> Datum; + pub fn nameicnlike(fcinfo: FunctionCallInfo) -> Datum; + pub fn like_escape(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidgt(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidge(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_viewdef_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_viewdef(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_userbyid(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_indexdef(fcinfo: FunctionCallInfo) -> Datum; + pub fn RI_FKey_check_ins(fcinfo: FunctionCallInfo) -> Datum; + pub fn RI_FKey_check_upd(fcinfo: FunctionCallInfo) -> Datum; + pub fn RI_FKey_cascade_del(fcinfo: FunctionCallInfo) -> Datum; + pub fn RI_FKey_cascade_upd(fcinfo: FunctionCallInfo) -> Datum; + pub fn RI_FKey_restrict_del(fcinfo: FunctionCallInfo) -> Datum; + pub fn RI_FKey_restrict_upd(fcinfo: FunctionCallInfo) -> Datum; + pub fn RI_FKey_setnull_del(fcinfo: FunctionCallInfo) -> Datum; + pub fn RI_FKey_setnull_upd(fcinfo: FunctionCallInfo) -> Datum; + pub fn RI_FKey_setdefault_del(fcinfo: FunctionCallInfo) -> Datum; + pub fn RI_FKey_setdefault_upd(fcinfo: FunctionCallInfo) -> Datum; + pub fn RI_FKey_noaction_del(fcinfo: FunctionCallInfo) -> Datum; + pub fn RI_FKey_noaction_upd(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_triggerdef(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_serial_sequence(fcinfo: FunctionCallInfo) -> Datum; + pub fn bit_and(fcinfo: FunctionCallInfo) -> Datum; + pub fn bit_or(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitxor(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitnot(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitshiftleft(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitshiftright(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitcat(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitsubstr(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitlength(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitoctetlength(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitfromint4(fcinfo: FunctionCallInfo) -> Datum; + pub fn bittoint4(fcinfo: FunctionCallInfo) -> Datum; + pub fn bit(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_keywords(fcinfo: FunctionCallInfo) -> Datum; + pub fn varbit(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_hash(fcinfo: FunctionCallInfo) -> Datum; + pub fn aclexplode(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_mi_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn boolle(fcinfo: FunctionCallInfo) -> Datum; + pub fn boolge(fcinfo: FunctionCallInfo) -> Datum; + pub fn btboolcmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_hash(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_hash(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitposition(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitsubstr_no_len(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_abs(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_sign(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_round(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_trunc(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_ceil(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_floor(fcinfo: FunctionCallInfo) -> Datum; + pub fn length_in_encoding(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_convert_from(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_to_cidr(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_expr(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_convert_to(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_add(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_sub(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_mul(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_div(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_mod(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_sqrt(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_exp(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_ln(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_log(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_power(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_float4(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_float8(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_pl_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_mi_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_pl_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_mi_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_inc(fcinfo: FunctionCallInfo) -> Datum; + pub fn setval3_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_to_char(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_to_char(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_uminus(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_to_char(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4_to_char(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_to_char(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4_to_char(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_to_char(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_to_number(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_int2(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidin(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidout(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_convert(fcinfo: FunctionCallInfo) -> Datum; + pub fn iclikesel(fcinfo: FunctionCallInfo) -> Datum; + pub fn icnlikesel(fcinfo: FunctionCallInfo) -> Datum; + pub fn iclikejoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn icnlikejoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexeqsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn likesel(fcinfo: FunctionCallInfo) -> Datum; + pub fn icregexeqsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexnesel(fcinfo: FunctionCallInfo) -> Datum; + pub fn nlikesel(fcinfo: FunctionCallInfo) -> Datum; + pub fn icregexnesel(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexeqjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn likejoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn icregexeqjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexnejoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn nlikejoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn icregexnejoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_avg(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_var_samp(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_stddev_samp(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_avg(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_var_samp(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_stddev_samp(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2_sum(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4_sum(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_sum(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_avg_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_avg(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_ascii_default(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_ascii_enc(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_ascii_encname(fcinfo: FunctionCallInfo) -> Datum; + pub fn int28eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn int28ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn int28lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int28gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int28le(fcinfo: FunctionCallInfo) -> Datum; + pub fn int28ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn int82eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn int82ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn int82lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int82gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn int82le(fcinfo: FunctionCallInfo) -> Datum; + pub fn int82ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2and(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2or(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2xor(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2not(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2shl(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2shr(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4and(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4or(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4xor(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4not(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4shl(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4shr(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8and(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8or(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8xor(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8not(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8shl(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8shr(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8up(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2up(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4up(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4up(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8up(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_uplus(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_table_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_table_privilege_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_table_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_table_privilege_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_table_privilege_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_table_privilege_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_numscans(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_tuples_returned(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_tuples_fetched(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_tuples_inserted(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_tuples_updated(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_tuples_deleted(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_blocks_fetched(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_blocks_hit(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_idset(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_pid(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_dbid(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_userid(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_activity(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_numbackends(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_xact_commit(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_xact_rollback(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_blocks_fetched(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_blocks_hit(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_encode(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_decode(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteaeq(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytealt(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteale(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteagt(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteage(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteane(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteacmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_scale(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2_avg_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4_avg_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_avg(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidlarger(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidsmaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_scale(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_scale(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_scale(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_tuples_hot_updated(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_div_trunc(fcinfo: FunctionCallInfo) -> Datum; + pub fn similar_to_escape_2(fcinfo: FunctionCallInfo) -> Datum; + pub fn similar_to_escape_1(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytealike(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteanlike(fcinfo: FunctionCallInfo) -> Datum; + pub fn like_escape_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteacat(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytea_substr(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytea_substr_no_len(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteapos(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteatrim(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_trunc(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_part(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_activity(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_path_query_first_tz(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_backend_pid(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_path_match_tz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_pl_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_mi_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_conf_load_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_zone(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_izone(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_hash(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_timetz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_to_char(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_age(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_zone(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_izone(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_pl_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_mi_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn textregexsubstr(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitfromint8(fcinfo: FunctionCallInfo) -> Datum; + pub fn bittoint8(fcinfo: FunctionCallInfo) -> Datum; + pub fn show_config_by_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn set_config_by_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_table_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_type_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_function_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_operator_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_opclass_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn show_all_settings(fcinfo: FunctionCallInfo) -> Datum; + pub fn replace_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn split_part(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_hex32(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_hex64(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_lower(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_upper(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_conversion_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_activity_start(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_terminate_backend(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_functiondef(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_column_compression(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_force_next_flush(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_pattern_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_pattern_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_function_arguments(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_pattern_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_pattern_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_function_result(fcinfo: FunctionCallInfo) -> Datum; + pub fn bttext_pattern_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_database_size_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn width_bucket_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_cancel_backend(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_backup_start(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_process_memory_contexts(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchar_pattern_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchar_pattern_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_length(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchar_pattern_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchar_pattern_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_point_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn btbpchar_pattern_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_sequence_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_sequence_privilege_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_sequence_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_sequence_privilege_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_sequence_privilege_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_sequence_privilege_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint48cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint84cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint24cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint42cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint28cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint82cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btfloat48cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn btfloat84cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_client_addr(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_client_port(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_server_addr(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_server_port(fcinfo: FunctionCallInfo) -> Datum; + pub fn regprocedurein(fcinfo: FunctionCallInfo) -> Datum; + pub fn regprocedureout(fcinfo: FunctionCallInfo) -> Datum; + pub fn regoperin(fcinfo: FunctionCallInfo) -> Datum; + pub fn regoperout(fcinfo: FunctionCallInfo) -> Datum; + pub fn regoperatorin(fcinfo: FunctionCallInfo) -> Datum; + pub fn regoperatorout(fcinfo: FunctionCallInfo) -> Datum; + pub fn regclassin(fcinfo: FunctionCallInfo) -> Datum; + pub fn regclassout(fcinfo: FunctionCallInfo) -> Datum; + pub fn regtypein(fcinfo: FunctionCallInfo) -> Datum; + pub fn regtypeout(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_clear_snapshot(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_function_identity_arguments(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashtid(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashtidextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn fmgr_internal_validator(fcinfo: FunctionCallInfo) -> Datum; + pub fn fmgr_c_validator(fcinfo: FunctionCallInfo) -> Datum; + pub fn fmgr_sql_validator(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_database_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_database_privilege_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_database_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_database_privilege_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_database_privilege_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_database_privilege_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_function_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_function_privilege_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_function_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_function_privilege_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_function_privilege_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_function_privilege_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_language_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_language_privilege_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_language_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_language_privilege_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_language_privilege_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_language_privilege_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_schema_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_schema_privilege_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_schema_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_schema_privilege_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_schema_privilege_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_schema_privilege_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_reset(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_backend_memory_contexts(fcinfo: FunctionCallInfo) -> Datum; + pub fn textregexreplace_noopt(fcinfo: FunctionCallInfo) -> Datum; + pub fn textregexreplace(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_total_relation_size(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_size_pretty(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_options_to_table(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn cstring_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn cstring_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn any_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn any_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn anyarray_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn anyarray_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn void_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn void_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn trigger_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn trigger_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn language_handler_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn language_handler_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn internal_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn internal_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_slru(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_reset_slru(fcinfo: FunctionCallInfo) -> Datum; + pub fn dceil(fcinfo: FunctionCallInfo) -> Datum; + pub fn dfloor(fcinfo: FunctionCallInfo) -> Datum; + pub fn dsign(fcinfo: FunctionCallInfo) -> Datum; + pub fn md5_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn anyelement_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn anyelement_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn postgresql_fdw_validator(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_encoding_max_length_sql(fcinfo: FunctionCallInfo) -> Datum; + pub fn md5_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_tablespace_size_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_tablespace_size_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_database_size_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_unnest(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_relation_size(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_agg_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_agg_finalfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_lt_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_le_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_eq_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_gt_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_ge_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_ne_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_cmp_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_lt_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_le_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_eq_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_gt_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_ge_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_ne_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_cmp_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_lt_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_le_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_eq_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_gt_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_ge_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_ne_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_cmp_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_lt_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_le_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_eq_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_gt_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_ge_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_ne_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_cmp_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_tablespace_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_tablespace_privilege_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_tablespace_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_tablespace_privilege_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_tablespace_privilege_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_tablespace_privilege_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn shell_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn shell_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2send(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4send(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8send(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2vectorrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2vectorsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytearecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteasend(fcinfo: FunctionCallInfo) -> Datum; + pub fn textrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn textsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn unknownrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn unknownsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidvectorrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn oidvectorsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn namerecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn namesend(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn float4send(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8send(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpcharrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpcharsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn varcharrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn varcharsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn charrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn charsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn boolrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn boolsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn tidrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn tidsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn xidrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn xidsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn cidrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn cidsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn regprocrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn regprocsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn regprocedurerecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn regproceduresend(fcinfo: FunctionCallInfo) -> Datum; + pub fn regoperrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn regopersend(fcinfo: FunctionCallInfo) -> Datum; + pub fn regoperatorrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn regoperatorsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn regclassrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn regclasssend(fcinfo: FunctionCallInfo) -> Datum; + pub fn regtyperecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn regtypesend(fcinfo: FunctionCallInfo) -> Datum; + pub fn bit_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn bit_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn varbit_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn varbit_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn dsinh(fcinfo: FunctionCallInfo) -> Datum; + pub fn dcosh(fcinfo: FunctionCallInfo) -> Datum; + pub fn dtanh(fcinfo: FunctionCallInfo) -> Datum; + pub fn dasinh(fcinfo: FunctionCallInfo) -> Datum; + pub fn dacosh(fcinfo: FunctionCallInfo) -> Datum; + pub fn datanh(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn lseg_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn path_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn line_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn cidr_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn cidr_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn cstring_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn cstring_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn anyarray_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn anyarray_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_ruledef_ext(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_viewdef_name_ext(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_viewdef_ext(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_indexdef_ext(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_constraintdef_ext(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_expr_ext(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_prepared_statement(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_cursor(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_var_pop(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_stddev_pop(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_var_pop(fcinfo: FunctionCallInfo) -> Datum; + pub fn booland_statefunc(fcinfo: FunctionCallInfo) -> Datum; + pub fn boolor_statefunc(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_lt_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_le_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_eq_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_gt_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_ge_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_ne_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_cmp_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_lt_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_le_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_eq_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_gt_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_ge_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_ne_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_cmp_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_tablespace_databases(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4_bool(fcinfo: FunctionCallInfo) -> Datum; + pub fn bool_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn lastval(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_postmaster_start_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_blocking_pids(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_below(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_overbelow(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_overabove(fcinfo: FunctionCallInfo) -> Datum; + pub fn box_above(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_below(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_overbelow(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_overabove(fcinfo: FunctionCallInfo) -> Datum; + pub fn poly_above(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_box_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_float8(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_box_penalty(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_box_picksplit(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_box_union(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_box_same(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_poly_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_poly_compress(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_overbelow(fcinfo: FunctionCallInfo) -> Datum; + pub fn circle_overabove(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_circle_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_circle_compress(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_stddev_pop(fcinfo: FunctionCallInfo) -> Datum; + pub fn domain_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn domain_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_timezone_abbrevs_abbrevs(fcinfo: FunctionCallInfo) -> Datum; + pub fn xmlexists(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_reload_conf(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_rotate_logfile(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_file_1arg(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_read_file_off_len(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ls_dir_1arg(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_sleep(fcinfo: FunctionCallInfo) -> Datum; + pub fn inetnot(fcinfo: FunctionCallInfo) -> Datum; + pub fn inetand(fcinfo: FunctionCallInfo) -> Datum; + pub fn inetor(fcinfo: FunctionCallInfo) -> Datum; + pub fn inetpl(fcinfo: FunctionCallInfo) -> Datum; + pub fn inetmi_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn inetmi(fcinfo: FunctionCallInfo) -> Datum; + pub fn statement_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn clock_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_cmp_prefix(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_has_role_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_has_role_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_has_role_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_has_role_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_has_role_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_has_role_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_justify_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_triggerdef_ext(fcinfo: FunctionCallInfo) -> Datum; + pub fn dasind(fcinfo: FunctionCallInfo) -> Datum; + pub fn dacosd(fcinfo: FunctionCallInfo) -> Datum; + pub fn datand(fcinfo: FunctionCallInfo) -> Datum; + pub fn datan2d(fcinfo: FunctionCallInfo) -> Datum; + pub fn dsind(fcinfo: FunctionCallInfo) -> Datum; + pub fn dcosd(fcinfo: FunctionCallInfo) -> Datum; + pub fn dtand(fcinfo: FunctionCallInfo) -> Datum; + pub fn dcotd(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_backup_stop(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_avg_serialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_avg_deserialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn ginarrayextract(fcinfo: FunctionCallInfo) -> Datum; + pub fn ginarrayconsistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_avg_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn arrayoverlap(fcinfo: FunctionCallInfo) -> Datum; + pub fn arraycontains(fcinfo: FunctionCallInfo) -> Datum; + pub fn arraycontained(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_tuples_returned(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_tuples_fetched(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_tuples_inserted(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_tuples_updated(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_tuples_deleted(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_matches_no_flags(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_matches(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_split_to_table_no_flags(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_split_to_table(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_split_to_array_no_flags(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_split_to_array(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_checkpointer_num_timed(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_checkpointer_num_requested(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_checkpointer_buffers_written(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_bgwriter_buf_written_clean(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_bgwriter_maxwritten_clean(fcinfo: FunctionCallInfo) -> Datum; + pub fn ginqueryarrayextract(fcinfo: FunctionCallInfo) -> Datum; + pub fn anynonarray_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn anynonarray_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_last_vacuum_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_last_autovacuum_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_last_analyze_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_last_autoanalyze_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_avg_combine(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_avg_serialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_avg_deserialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_wait_event_type(fcinfo: FunctionCallInfo) -> Datum; + pub fn tidgt(fcinfo: FunctionCallInfo) -> Datum; + pub fn tidlt(fcinfo: FunctionCallInfo) -> Datum; + pub fn tidge(fcinfo: FunctionCallInfo) -> Datum; + pub fn tidle(fcinfo: FunctionCallInfo) -> Datum; + pub fn bttidcmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn tidlarger(fcinfo: FunctionCallInfo) -> Datum; + pub fn tidsmaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8inc_any(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8inc_float8_float8(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_regr_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_regr_sxx(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_regr_syy(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_regr_sxy(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_regr_avgx(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_regr_avgy(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_regr_r2(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_regr_slope(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_regr_intercept(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_covar_pop(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_covar_samp(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_corr(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_blk_read_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_blk_write_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_switch_wal(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_current_wal_lsn(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_walfile_name_offset(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_walfile_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_current_wal_insert_lsn(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_wait_event(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_my_temp_schema(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_is_other_temp_schema(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_timezone_names(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_xact_start(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_avg_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_buf_alloc(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_live_tuples(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_dead_tuples(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_lock_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_lock_shared_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_try_advisory_lock_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_try_advisory_lock_shared_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_unlock_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_unlock_shared_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_lock_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_lock_shared_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_try_advisory_lock_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_try_advisory_lock_shared_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_unlock_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_unlock_shared_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_unlock_all(fcinfo: FunctionCallInfo) -> Datum; + pub fn xml_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn xml_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn xmlcomment(fcinfo: FunctionCallInfo) -> Datum; + pub fn texttoxml(fcinfo: FunctionCallInfo) -> Datum; + pub fn xmlvalidate(fcinfo: FunctionCallInfo) -> Datum; + pub fn xml_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn xml_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn xmlconcat2(fcinfo: FunctionCallInfo) -> Datum; + pub fn varbittypmodin(fcinfo: FunctionCallInfo) -> Datum; + pub fn intervaltypmodin(fcinfo: FunctionCallInfo) -> Datum; + pub fn intervaltypmodout(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptypmodin(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptypmodout(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptztypmodin(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptztypmodout(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetypmodin(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetypmodout(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetztypmodin(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetztypmodout(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchartypmodin(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchartypmodout(fcinfo: FunctionCallInfo) -> Datum; + pub fn varchartypmodin(fcinfo: FunctionCallInfo) -> Datum; + pub fn varchartypmodout(fcinfo: FunctionCallInfo) -> Datum; + pub fn numerictypmodin(fcinfo: FunctionCallInfo) -> Datum; + pub fn numerictypmodout(fcinfo: FunctionCallInfo) -> Datum; + pub fn bittypmodin(fcinfo: FunctionCallInfo) -> Datum; + pub fn bittypmodout(fcinfo: FunctionCallInfo) -> Datum; + pub fn varbittypmodout(fcinfo: FunctionCallInfo) -> Datum; + pub fn xmltotext(fcinfo: FunctionCallInfo) -> Datum; + pub fn table_to_xml(fcinfo: FunctionCallInfo) -> Datum; + pub fn query_to_xml(fcinfo: FunctionCallInfo) -> Datum; + pub fn cursor_to_xml(fcinfo: FunctionCallInfo) -> Datum; + pub fn table_to_xmlschema(fcinfo: FunctionCallInfo) -> Datum; + pub fn query_to_xmlschema(fcinfo: FunctionCallInfo) -> Datum; + pub fn cursor_to_xmlschema(fcinfo: FunctionCallInfo) -> Datum; + pub fn table_to_xml_and_xmlschema(fcinfo: FunctionCallInfo) -> Datum; + pub fn query_to_xml_and_xmlschema(fcinfo: FunctionCallInfo) -> Datum; + pub fn xpath(fcinfo: FunctionCallInfo) -> Datum; + pub fn schema_to_xml(fcinfo: FunctionCallInfo) -> Datum; + pub fn schema_to_xmlschema(fcinfo: FunctionCallInfo) -> Datum; + pub fn schema_to_xml_and_xmlschema(fcinfo: FunctionCallInfo) -> Datum; + pub fn database_to_xml(fcinfo: FunctionCallInfo) -> Datum; + pub fn database_to_xmlschema(fcinfo: FunctionCallInfo) -> Datum; + pub fn database_to_xml_and_xmlschema(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_snapshot_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_snapshot_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_snapshot_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_snapshot_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_current_xact_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_current_snapshot(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_snapshot_xmin(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_snapshot_xmax(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_snapshot_xip(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_visible_in_snapshot(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_hash(fcinfo: FunctionCallInfo) -> Datum; + pub fn booltext(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_function_calls(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_function_total_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_function_self_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn btrecordcmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_table_size(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_indexes_size(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_relation_filenode(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_foreign_data_wrapper_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_foreign_data_wrapper_privilege_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_foreign_data_wrapper_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_foreign_data_wrapper_privilege_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_foreign_data_wrapper_privilege_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_foreign_data_wrapper_privilege_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_server_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_server_privilege_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_server_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_server_privilege_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_server_privilege_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_server_privilege_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_column_privilege_name_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_column_privilege_name_name_attnum(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_column_privilege_name_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_column_privilege_name_id_attnum(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_column_privilege_id_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_column_privilege_id_name_attnum(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_column_privilege_id_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_column_privilege_id_id_attnum(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_column_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_column_privilege_name_attnum(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_column_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_column_privilege_id_attnum(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_any_column_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_any_column_privilege_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_any_column_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_any_column_privilege_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_any_column_privilege_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_any_column_privilege_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitoverlay(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitoverlay_no_len(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitgetbit(fcinfo: FunctionCallInfo) -> Datum; + pub fn bitsetbit(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_relation_filepath(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_listening_channels(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_notify(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_numscans(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_tuples_returned(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_tuples_fetched(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_tuples_inserted(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_tuples_updated(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_tuples_deleted(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_tuples_hot_updated(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_blocks_fetched(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_blocks_hit(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_function_calls(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_function_total_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_function_self_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn xpath_exists(fcinfo: FunctionCallInfo) -> Datum; + pub fn xml_is_well_formed(fcinfo: FunctionCallInfo) -> Datum; + pub fn xml_is_well_formed_document(fcinfo: FunctionCallInfo) -> Datum; + pub fn xml_is_well_formed_content(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_vacuum_count(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_autovacuum_count(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_analyze_count(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_autoanalyze_count(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_concat(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_concat_ws(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_left(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_right(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_reverse(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_point_distance(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_conflict_tablespace(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_conflict_lock(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_conflict_snapshot(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_conflict_bufferpin(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_conflict_startup_deadlock(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_conflict_all(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_wal_replay_pause(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_wal_replay_resume(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_is_wal_replay_paused(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_stat_reset_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_bgwriter_stat_reset_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn ginarrayextract_2args(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_extract_tsvector_2args(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_sequence_parameters(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_available_extensions(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_available_extension_versions(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_extension_update_paths(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_extension_config_dump(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_extract_tsquery_5args(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_tsquery_consistent_6args(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_xact_lock_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_xact_lock_shared_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_try_advisory_xact_lock_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_try_advisory_xact_lock_shared_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_xact_lock_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_advisory_xact_lock_shared_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_try_advisory_xact_lock_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_try_advisory_xact_lock_shared_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn varchar_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_create_restore_point(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_wal_senders(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_row_number(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_rank(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_dense_rank(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_percent_rank(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_cume_dist(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_ntile(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_lag(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_lag_with_offset(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_lag_with_offset_and_default(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_lead(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_lead_with_offset(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_lead_with_offset_and_default(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_first_value(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_last_value(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_nth_value(fcinfo: FunctionCallInfo) -> Datum; + pub fn fdw_handler_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn fdw_handler_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn void_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn void_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint2sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint4sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint8sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn btfloat4sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn btfloat8sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn btoidsortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn btnamesortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_type_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_type_privilege_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_type_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_type_privilege_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_type_privilege_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_type_privilege_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_not(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_and(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_or(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_temp_files(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_temp_bytes(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_deadlocks(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_to_json(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_to_json_pretty(fcinfo: FunctionCallInfo) -> Datum; + pub fn row_to_json(fcinfo: FunctionCallInfo) -> Datum; + pub fn row_to_json_pretty(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn varbit_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_viewdef_wrap(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_checkpointer_write_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_checkpointer_sync_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_collation_for(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_trigger_depth(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_wal_lsn_diff(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_size_pretty_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_remove(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_replace(fcinfo: FunctionCallInfo) -> Datum; + pub fn rangesel(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_lseek64(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_tell64(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_truncate64(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_agg_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_agg_finalfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_json(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_mod_since_analyze(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_sum(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_cardinality(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_object_agg_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_image_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_image_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_image_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_image_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_image_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_image_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn btrecordimagecmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_archiver(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_object_agg_finalfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_build_array(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_build_array_noargs(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_build_object(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_build_object_noargs(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_object(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_object_two_arg(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_to_record(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_to_recordset(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_array_length(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_each(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_populate_record(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_typeof(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_object_field_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_array_element(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_array_element_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_extract_path(fcinfo: FunctionCallInfo) -> Datum; + pub fn width_bucket_array(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_array_elements(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_mi(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_hash(fcinfo: FunctionCallInfo) -> Datum; + pub fn bttextsortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_step_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_strip_nulls(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_strip_nulls(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_object(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_object_two_arg(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_agg_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_agg_finalfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_object_agg_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_object_agg_finalfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_build_array(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_build_array_noargs(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_build_object(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_build_object_noargs(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_ppoly(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_position(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_position_start(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_positions(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_circle_distance(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_scale(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_point_fetch(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_poly_distance(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_cpoint(fcinfo: FunctionCallInfo) -> Datum; + pub fn dist_polyp(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_read_file_off_len_missing(fcinfo: FunctionCallInfo) -> Datum; + pub fn show_config_by_name_missing_ok(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_read_binary_file_off_len_missing(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_notification_queue_usage(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ls_dir(fcinfo: FunctionCallInfo) -> Datum; + pub fn row_security_active(fcinfo: FunctionCallInfo) -> Datum; + pub fn row_security_active_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_concat(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_delete(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_delete_idx(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_delete_path(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_set(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_pretty(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_file(fcinfo: FunctionCallInfo) -> Datum; + pub fn xidneq(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsm_handler_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsm_handler_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsm_bernoulli_handler(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsm_system_handler(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_wal_receiver(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_progress_info(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_filter(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_setweight_by_filter(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_delete_str(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_unnest(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_delete_arr(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4_avg_combine(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_avg_combine(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_to_array(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_to_tsvector(fcinfo: FunctionCallInfo) -> Datum; + pub fn bpchar_sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn show_all_file_settings(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_current_wal_flush_lsn(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytea_sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn bttext_pattern_sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn btbpchar_pattern_sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_size_bytes(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_serialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_deserialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_avg_combine(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_poly_combine(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_poly_serialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_poly_deserialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_combine(fcinfo: FunctionCallInfo) -> Datum; + pub fn float8_regr_combine(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_delete_array(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_mul_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_div_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_current_xact_id_if_assigned(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_partkeydef(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ls_logdir(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ls_waldir(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ndistinct_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ndistinct_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ndistinct_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ndistinct_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr_sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_xact_status(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_safe_snapshot_blocking_pids(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_isolation_test_session_is_blocked(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_identify_object_as_address(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_opcinfo(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_add_value(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_union(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_avg_accum_inv(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_poly_sum(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_poly_avg(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_poly_var_pop(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_poly_var_samp(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_poly_stddev_pop(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_poly_stddev_samp(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_match_no_flags(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_match(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_mul_cash(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_config(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_hba_file_rules(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_statistics_obj_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_dependencies_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_dependencies_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_dependencies_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_dependencies_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_partition_constraintdef(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_hash_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_hash_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_hash_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_hash_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_hash_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashenumextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_statisticsobjdef(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_hash_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hash_range_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_hash_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn sha224_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn sha256_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn sha384_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn sha512_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_partition_tree(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_partition_root(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_partition_ancestors(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_checksum_failures(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stats_ext_mcvlist_items(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_checksum_last_failure(fcinfo: FunctionCallInfo) -> Datum; + pub fn gen_random_uuid(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsvector_options(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_point_sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_promote(fcinfo: FunctionCallInfo) -> Datum; + pub fn prefixsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn prefixjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_control_system(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_control_checkpoint(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_control_recovery(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_control_init(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_import_system_collations(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_collation_actual_version(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_int2(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_float4(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_filenode_relation(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_from_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_get(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_get_fragment(fcinfo: FunctionCallInfo) -> Datum; + pub fn be_lo_put(fcinfo: FunctionCallInfo) -> Datum; + pub fn make_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn make_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn make_timestamptz_at_timezone(fcinfo: FunctionCallInfo) -> Datum; + pub fn make_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_array_elements_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_range_quad_config(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_range_quad_choose(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_range_quad_picksplit(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_range_quad_inner_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_range_quad_leaf_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_populate_recordset(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_regoperator(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_object_field(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_regprocedure(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_compare_jsonb(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_extract_jsonb(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_extract_jsonb_query(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_consistent_jsonb(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_extract_jsonb_path(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_extract_jsonb_query_path(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_consistent_jsonb_path(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_triconsistent_jsonb(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_triconsistent_jsonb_path(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_to_record(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_to_recordset(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_regoper(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_regtype(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_regproc(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_regclass(fcinfo: FunctionCallInfo) -> Datum; + pub fn bool_accum(fcinfo: FunctionCallInfo) -> Datum; + pub fn bool_accum_inv(fcinfo: FunctionCallInfo) -> Datum; + pub fn bool_alltrue(fcinfo: FunctionCallInfo) -> Datum; + pub fn bool_anytrue(fcinfo: FunctionCallInfo) -> Datum; + pub fn anyenum_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn anyenum_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashenum(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_first(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_last(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_range_bounds(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_range_all(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn enum_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn string_agg_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn string_agg_finalfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_describe_object(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_format(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_format_nv(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytea_string_agg_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytea_string_agg_finalfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8dec(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8dec_any(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_accum_inv(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_avg_accum_inv(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_overlap(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_gist_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_gist_union(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_gist_compress(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_bool(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_gist_penalty(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_gist_picksplit(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_gist_same(fcinfo: FunctionCallInfo) -> Datum; + pub fn networksel(fcinfo: FunctionCallInfo) -> Datum; + pub fn networkjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_event_trigger_dropped_objects(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2_accum_inv(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4_accum_inv(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_accum_inv(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2_avg_accum_inv(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4_avg_accum_inv(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2int4_sum(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_gist_fetch(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_logical_emit_message_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_logical_emit_message_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_insert(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_xact_commit_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_pg_type_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_last_committed_xact(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_array_pg_type_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_heap_pg_class_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_index_pg_class_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_toast_pg_class_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_pg_enum_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_pg_authid_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_create_empty_extension(fcinfo: FunctionCallInfo) -> Datum; + pub fn event_trigger_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn event_trigger_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvectorin(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvectorout(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsqueryin(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsqueryout(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_strip(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_setweight(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_concat(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_match_vq(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_match_qv(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvectorsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvectorrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquerysend(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsqueryrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsvectorin(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsvectorout(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsvector_compress(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsvector_decompress(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsvector_picksplit(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsvector_union(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsvector_same(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsvector_penalty(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsvector_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_extract_tsvector(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_extract_tsquery(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_tsquery_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_and(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_or(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_not(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_numnode(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquerytree(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_rewrite(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_rewrite_query(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsmatchsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsmatchjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_typanalyze(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_stat1(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_stat2(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsq_mcontains(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsq_mcontained(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsquery_compress(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_starts_with(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsquery_picksplit(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsquery_union(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsquery_same(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsquery_penalty(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsquery_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_rank_wttf(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_rank_wtt(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_rank_ttf(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_rank_tt(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_rankcd_wttf(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_rankcd_wtt(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_rankcd_ttf(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_rankcd_tt(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_length(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_token_type_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_token_type_byname(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_parse_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_parse_byname(fcinfo: FunctionCallInfo) -> Datum; + pub fn prsd_start(fcinfo: FunctionCallInfo) -> Datum; + pub fn prsd_nexttoken(fcinfo: FunctionCallInfo) -> Datum; + pub fn prsd_end(fcinfo: FunctionCallInfo) -> Datum; + pub fn prsd_headline(fcinfo: FunctionCallInfo) -> Datum; + pub fn prsd_lextype(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_lexize(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_cmp_tslexeme(fcinfo: FunctionCallInfo) -> Datum; + pub fn dsimple_init(fcinfo: FunctionCallInfo) -> Datum; + pub fn dsimple_lexize(fcinfo: FunctionCallInfo) -> Datum; + pub fn dsynonym_init(fcinfo: FunctionCallInfo) -> Datum; + pub fn dsynonym_lexize(fcinfo: FunctionCallInfo) -> Datum; + pub fn dispell_init(fcinfo: FunctionCallInfo) -> Datum; + pub fn dispell_lexize(fcinfo: FunctionCallInfo) -> Datum; + pub fn regconfigin(fcinfo: FunctionCallInfo) -> Datum; + pub fn regconfigout(fcinfo: FunctionCallInfo) -> Datum; + pub fn regconfigrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn regconfigsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn thesaurus_init(fcinfo: FunctionCallInfo) -> Datum; + pub fn thesaurus_lexize(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_headline_byid_opt(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_headline_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_tsvector_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_tsquery_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn plainto_tsquery_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_tsvector(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_tsquery(fcinfo: FunctionCallInfo) -> Datum; + pub fn plainto_tsquery(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_update_trigger_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsvector_update_trigger_bycolumn(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_headline_opt(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_headline(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ts_parser_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ts_dict_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ts_config_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn get_current_ts_config(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_match_tt(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_match_tq(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ts_template_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn regdictionaryin(fcinfo: FunctionCallInfo) -> Datum; + pub fn regdictionaryout(fcinfo: FunctionCallInfo) -> Datum; + pub fn regdictionaryrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn regdictionarysend(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_reset_shared(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_reset_single_table_counters(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_reset_single_function_counters(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_tablespace_location(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_create_physical_replication_slot(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_drop_replication_slot(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_replication_slots(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_logical_slot_get_changes(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_logical_slot_get_binary_changes(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_logical_slot_peek_changes(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_logical_slot_peek_binary_changes(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_create_logical_replication_slot(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_jsonb(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_snapshot_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_clean_pending_list(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsvector_consistent_oldsig(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_extract_tsquery_oldsig(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_tsquery_consistent_oldsig(fcinfo: FunctionCallInfo) -> Datum; + pub fn gtsquery_consistent_oldsig(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_spg_config(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_spg_choose(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_spg_picksplit(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_spg_inner_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_spg_leaf_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_current_logfile(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_current_logfile_1arg(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_function_arg_default(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_export_snapshot(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_is_in_recovery(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4_cash(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_cash(fcinfo: FunctionCallInfo) -> Datum; + pub fn xmltext(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_collation_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_typanalyze(fcinfo: FunctionCallInfo) -> Datum; + pub fn arraycontsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn arraycontjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_multixact_members(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_last_wal_receive_lsn(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_last_wal_replay_lsn(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_div_cash(fcinfo: FunctionCallInfo) -> Datum; + pub fn cash_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_cash(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_read_file_all(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_read_binary_file_off_len(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_read_binary_file_all(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_opfamily_is_visible(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_last_xact_replay_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn anyrange_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn anyrange_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_identify_object(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_constructor2(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_constructor3(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_relation_is_updatable(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_column_is_updatable(fcinfo: FunctionCallInfo) -> Datum; + pub fn make_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn make_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_lower(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_upper(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_empty(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_lower_inc(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_upper_inc(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_lower_inf(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_upper_inf(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_overlaps(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_contains_elem(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_contains(fcinfo: FunctionCallInfo) -> Datum; + pub fn elem_contained_by_range(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_contained_by(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_adjacent(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_before(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_after(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_overleft(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_overright(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_union(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_intersect(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_minus(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_gist_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_gist_union(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_replication_slot_advance(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_gist_penalty(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_gist_picksplit(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_gist_same(fcinfo: FunctionCallInfo) -> Datum; + pub fn hash_range(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4range_canonical(fcinfo: FunctionCallInfo) -> Datum; + pub fn daterange_canonical(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_typanalyze(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn ginarraytriconsistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn gin_tsquery_triconsistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4range_subdiff(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8range_subdiff(fcinfo: FunctionCallInfo) -> Datum; + pub fn numrange_subdiff(fcinfo: FunctionCallInfo) -> Datum; + pub fn daterange_subdiff(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8range_canonical(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsrange_subdiff(fcinfo: FunctionCallInfo) -> Datum; + pub fn tstzrange_subdiff(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_object_keys(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_each_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn mxid_age(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_extract_path_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn acldefault_sql(fcinfo: FunctionCallInfo) -> Datum; + pub fn time_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_object_field(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_object_field_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_array_element(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_array_element_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_extract_path(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_summarize_new_values(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_extract_path_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_object_address(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_array_elements(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_array_length(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_object_keys(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_each(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_each_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_populate_record(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_populate_recordset(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_typeof(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_array_elements_text(fcinfo: FunctionCallInfo) -> Datum; + pub fn ordered_set_transition(fcinfo: FunctionCallInfo) -> Datum; + pub fn ordered_set_transition_multi(fcinfo: FunctionCallInfo) -> Datum; + pub fn percentile_disc_final(fcinfo: FunctionCallInfo) -> Datum; + pub fn percentile_cont_float8_final(fcinfo: FunctionCallInfo) -> Datum; + pub fn percentile_cont_interval_final(fcinfo: FunctionCallInfo) -> Datum; + pub fn percentile_disc_multi_final(fcinfo: FunctionCallInfo) -> Datum; + pub fn percentile_cont_float8_multi_final(fcinfo: FunctionCallInfo) -> Datum; + pub fn percentile_cont_interval_multi_final(fcinfo: FunctionCallInfo) -> Datum; + pub fn mode_final(fcinfo: FunctionCallInfo) -> Datum; + pub fn hypothetical_rank_final(fcinfo: FunctionCallInfo) -> Datum; + pub fn hypothetical_percent_rank_final(fcinfo: FunctionCallInfo) -> Datum; + pub fn hypothetical_cume_dist_final(fcinfo: FunctionCallInfo) -> Datum; + pub fn hypothetical_dense_rank_final(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_int4_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_int8_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_unnest_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_box_distance(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_summarize_range(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonpath_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonpath_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonpath_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonpath_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_path_exists(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_path_query(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_path_query_array(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_path_query_first(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_path_match(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_path_exists_opr(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_path_match_opr(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_desummarize_range(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_quad_config(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_quad_choose(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_quad_picksplit(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_quad_inner_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_quad_leaf_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_kd_config(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_kd_choose(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_kd_picksplit(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_kd_inner_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_text_config(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_text_choose(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_text_picksplit(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_text_inner_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_text_leaf_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_sequence_last_value(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_hash(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_contains(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_exists(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_exists_any(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_exists_all(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_contained(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_agg_array_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_agg_array_finalfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_merge(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_merge(fcinfo: FunctionCallInfo) -> Datum; + pub fn boxes_bound_box(fcinfo: FunctionCallInfo) -> Datum; + pub fn inet_same_family(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_record_init_privs(fcinfo: FunctionCallInfo) -> Datum; + pub fn regnamespacein(fcinfo: FunctionCallInfo) -> Datum; + pub fn regnamespaceout(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_regnamespace(fcinfo: FunctionCallInfo) -> Datum; + pub fn regnamespacerecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn regnamespacesend(fcinfo: FunctionCallInfo) -> Datum; + pub fn point_box(fcinfo: FunctionCallInfo) -> Datum; + pub fn regroleout(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_regrole(fcinfo: FunctionCallInfo) -> Datum; + pub fn regrolerecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn regrolesend(fcinfo: FunctionCallInfo) -> Datum; + pub fn regrolein(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_numa_available(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_shmem_allocations_numa(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_missing_value(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_inclusion_opcinfo(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_inclusion_add_value(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_inclusion_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_inclusion_union(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_trunc(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_not(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_and(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_or(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddrtomacaddr8(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8tomacaddr(fcinfo: FunctionCallInfo) -> Datum; + pub fn macaddr8_set7bit(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_int8_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_int4_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_int4_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_int4_int2(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_int2_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_int2_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_int2_int2(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_date_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_timestamp_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_timestamptz_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_interval_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_time_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_timetz_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_float8_float8(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_float4_float8(fcinfo: FunctionCallInfo) -> Datum; + pub fn in_range_numeric_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn regcollationin(fcinfo: FunctionCallInfo) -> Datum; + pub fn regcollationout(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_regcollation(fcinfo: FunctionCallInfo) -> Datum; + pub fn regcollationrecv(fcinfo: FunctionCallInfo) -> Datum; + pub fn regcollationsend(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_headline_jsonb_byid_opt(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_headline_jsonb_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_headline_jsonb_opt(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_headline_jsonb(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_headline_json_byid_opt(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_headline_json_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_headline_json_opt(fcinfo: FunctionCallInfo) -> Datum; + pub fn ts_headline_json(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_string_to_tsvector(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_string_to_tsvector(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_string_to_tsvector_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_string_to_tsvector_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_to_tsvector(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_to_tsvector_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_to_tsvector(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_to_tsvector_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_copy_physical_replication_slot_a(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_copy_physical_replication_slot_b(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_copy_logical_replication_slot_a(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_copy_logical_replication_slot_b(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_copy_logical_replication_slot_c(fcinfo: FunctionCallInfo) -> Datum; + pub fn anycompatiblemultirange_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn anycompatiblemultirange_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_merge_from_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn anymultirange_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn anymultirange_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_lower(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_upper(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_empty(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_lower_inc(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_upper_inc(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_lower_inf(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_upper_inf(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_typanalyze(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirangesel(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_overlaps_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_overlaps_range(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_overlaps_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_contains_elem(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_contains_range(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_contains_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn elem_contained_by_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_contained_by_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_contained_by_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_adjacent_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_adjacent_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_adjacent_range(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_before_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_before_range(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_before_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_after_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_after_range(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_after_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_overleft_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_overleft_range(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_overleft_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_overright_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_overright_range(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_overright_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_union(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_minus(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_intersect(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_le(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn hash_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn hash_multirange_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_constructor0(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_constructor1(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_constructor2(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_agg_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_agg_finalfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn unicode_normalize_func(fcinfo: FunctionCallInfo) -> Datum; + pub fn unicode_is_normalized(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_intersect_agg_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_multirange_pg_type_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_multirange_array_pg_type_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_intersect_agg_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_contains_multirange(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_contained_by_range(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_log_backend_memory_contexts(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_heap_relfilenode(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_index_relfilenode(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_toast_relfilenode(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_set_next_pg_tablespace_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn unicode_version(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_event_trigger_table_rewrite_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_event_trigger_table_rewrite_reason(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_event_trigger_ddl_commands(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_bloom_opcinfo(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_bloom_add_value(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_bloom_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_bloom_union(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_bloom_options(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_bloom_summary_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_bloom_summary_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_bloom_summary_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_bloom_summary_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_opcinfo(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_add_value(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_union(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_options(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_int2(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_float4(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_float8(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_numeric(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_tid(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_uuid(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_timetz(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_pg_lsn(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_macaddr(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_macaddr8(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_inet(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_distance_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_summary_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_summary_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_summary_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn brin_minmax_multi_summary_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn phraseto_tsquery(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_phrase(fcinfo: FunctionCallInfo) -> Datum; + pub fn tsquery_phrase_distance(fcinfo: FunctionCallInfo) -> Datum; + pub fn phraseto_tsquery_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn websearch_to_tsquery_byid(fcinfo: FunctionCallInfo) -> Datum; + pub fn websearch_to_tsquery(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_bbox_quad_config(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_poly_quad_compress(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_box_quad_config(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_box_quad_choose(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_box_quad_picksplit(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_box_quad_inner_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn spg_box_quad_leaf_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_mcv_list_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_mcv_list_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_mcv_list_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_mcv_list_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_pli(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_lsn_mii(fcinfo: FunctionCallInfo) -> Datum; + pub fn satisfies_hash_partition(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ls_tmpdir_noargs(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ls_tmpdir_1arg(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ls_archive_statusdir(fcinfo: FunctionCallInfo) -> Datum; + pub fn network_sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8lt(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8gt(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8le(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8ge(fcinfo: FunctionCallInfo) -> Datum; + pub fn matchingsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn matchingjoinsel(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_min_scale(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_trim_scale(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4gcd(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8gcd(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4lcm(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8lcm(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_gcd(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_lcm(fcinfo: FunctionCallInfo) -> Datum; + pub fn btvarstrequalimage(fcinfo: FunctionCallInfo) -> Datum; + pub fn btequalimage(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_shmem_allocations(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_ins_since_vacuum(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_set_lax(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8in(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8toxid(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8out(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8send(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8eq(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8ne(fcinfo: FunctionCallInfo) -> Datum; + pub fn anycompatible_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn anycompatible_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn anycompatiblearray_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn anycompatiblearray_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn anycompatiblearray_recv(fcinfo: FunctionCallInfo) -> Datum; + pub fn anycompatiblearray_send(fcinfo: FunctionCallInfo) -> Datum; + pub fn anycompatiblenonarray_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn anycompatiblenonarray_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn anycompatiblerange_in(fcinfo: FunctionCallInfo) -> Datum; + pub fn anycompatiblerange_out(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8cmp(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn xid8_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_replication_origin_create(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_replication_origin_drop(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_replication_origin_oid(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_replication_origin_session_setup(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_replication_origin_session_reset(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_replication_origin_session_is_setup(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_replication_origin_session_progress(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_replication_origin_xact_setup(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_replication_origin_xact_reset(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_replication_origin_advance(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_replication_origin_progress(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_show_replication_origin_status(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_subscript_handler(fcinfo: FunctionCallInfo) -> Datum; + pub fn icu_unicode_version(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_pg_lsn(fcinfo: FunctionCallInfo) -> Datum; + pub fn unicode_assigned(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_subxact(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_subscription(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_publication_tables(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_replica_identity_index(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_relation_is_publishable(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_gist_consistent(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_gist_compress(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_catalog_foreign_keys(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_to_table(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_to_table_null(fcinfo: FunctionCallInfo) -> Datum; + pub fn bit_bit_count(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytea_bit_count(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_xact_commit_timestamp_origin(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_replication_slot(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_reset_replication_slot(fcinfo: FunctionCallInfo) -> Datum; + pub fn trim_array(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_statisticsobjdef_expressions(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_statisticsobjdef_columns(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_bin(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_bin(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_subscript_handler(fcinfo: FunctionCallInfo) -> Datum; + pub fn raw_array_subscript_handler(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_session_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_active_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_idle_in_transaction_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_sessions(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_sessions_abandoned(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_sessions_fatal(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_sessions_killed(fcinfo: FunctionCallInfo) -> Datum; + pub fn hash_record(fcinfo: FunctionCallInfo) -> Datum; + pub fn hash_record_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytealtrim(fcinfo: FunctionCallInfo) -> Datum; + pub fn byteartrim(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_function_sqlbody(fcinfo: FunctionCallInfo) -> Datum; + pub fn unistr(fcinfo: FunctionCallInfo) -> Datum; + pub fn extract_date(fcinfo: FunctionCallInfo) -> Datum; + pub fn extract_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn extract_timetz(fcinfo: FunctionCallInfo) -> Datum; + pub fn extract_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn extract_timestamptz(fcinfo: FunctionCallInfo) -> Datum; + pub fn extract_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_parameter_privilege_name_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_parameter_privilege_id_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_parameter_privilege_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_read_file_all_missing(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_read_binary_file_all_missing(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_input_is_valid(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_input_error_info(fcinfo: FunctionCallInfo) -> Datum; + pub fn drandom_normal(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_split_walfile_name(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_io(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_shuffle(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_sample(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_tuples_newpage_updated(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_xact_tuples_newpage_updated(fcinfo: FunctionCallInfo) -> Datum; + pub fn derf(fcinfo: FunctionCallInfo) -> Datum; + pub fn derfc(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_pl_interval_at_zone(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_wal_resource_managers(fcinfo: FunctionCallInfo) -> Datum; + pub fn multirange_agg_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_have_stats(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_subscription_stats(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_reset_subscription_stats(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_row_number_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_rank_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_dense_rank_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8inc_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_settings_get_flags(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stop_making_pinned_objects(fcinfo: FunctionCallInfo) -> Datum; + pub fn text_starts_with_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_recovery_prefetch(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_database_collation_actual_version(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ident_file_mappings(fcinfo: FunctionCallInfo) -> Datum; + pub fn textregexreplace_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn textregexreplace_extended_no_flags(fcinfo: FunctionCallInfo) -> Datum; + pub fn textregexreplace_extended_no_n(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_count_no_start(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_count_no_flags(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_count(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_instr_no_start(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_instr_no_n(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_instr_no_endoption(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_instr_no_flags(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_instr_no_subexpr(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_instr(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_like_no_flags(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_like(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_substr_no_start(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_substr_no_n(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_substr_no_flags(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_substr_no_subexpr(fcinfo: FunctionCallInfo) -> Datum; + pub fn regexp_substr(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ls_logicalsnapdir(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ls_logicalmapdir(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ls_replslotdir(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_mi_interval_at_zone(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_timestamptz_at_zone(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_agg_strict_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_object_agg_strict_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_object_agg_unique_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn json_object_agg_unique_strict_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_agg_strict_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_object_agg_strict_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_object_agg_unique_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_object_agg_unique_strict_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn any_value_transfn(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_agg_combine(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_agg_serialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_agg_deserialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_agg_array_combine(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_agg_array_serialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_agg_array_deserialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn string_agg_combine(fcinfo: FunctionCallInfo) -> Datum; + pub fn string_agg_serialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn string_agg_deserialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_log_standby_snapshot(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_percent_rank_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_cume_dist_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn window_ntile_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_conflict_logicalslot(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_lastscan(fcinfo: FunctionCallInfo) -> Datum; + pub fn system_user(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_logical_slot_has_caught_up(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_checkpointer_stat_reset_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_basetype(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_column_toast_chunk_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_regtypemod(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_wait_events(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_add_sub_rel_state(fcinfo: FunctionCallInfo) -> Datum; + pub fn binary_upgrade_replorigin_advance(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_available_wal_summaries(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_wal_summary_contents(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_wal_summarizer_state(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_avg_serialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_avg_deserialize(fcinfo: FunctionCallInfo) -> Datum; + pub fn interval_sum(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_checkpointer_restartpoints_timed(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_checkpointer_restartpoints_requested(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_checkpointer_restartpoints_performed(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_bin32(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_bin64(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_oct32(fcinfo: FunctionCallInfo) -> Datum; + pub fn to_oct64(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_at_local(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_at_local(fcinfo: FunctionCallInfo) -> Datum; + pub fn timetz_at_local(fcinfo: FunctionCallInfo) -> Datum; + pub fn jsonb_populate_record_valid(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4random(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8random(fcinfo: FunctionCallInfo) -> Datum; + pub fn numeric_random(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_extract_timestamp(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_extract_version(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_sync_replication_slots(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_contains_elem_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn elem_contained_by_range_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_wal(fcinfo: FunctionCallInfo) -> Datum; + pub fn gist_stratnum_common(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_largeobject_privilege_name_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_largeobject_privilege_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn has_largeobject_privilege_id_id(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_loaded_modules(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_timestamp_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_parallel_workers_to_launch(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_db_parallel_workers_launched(fcinfo: FunctionCallInfo) -> Datum; + pub fn generate_series_numeric_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_total_vacuum_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_total_autovacuum_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_total_analyze_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_total_autoanalyze_time(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_restore_relation_stats(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_restore_attribute_stats(fcinfo: FunctionCallInfo) -> Datum; + pub fn crc32_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn crc32c_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_checkpointer_slru_written(fcinfo: FunctionCallInfo) -> Datum; + pub fn int2_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn int4_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn int8_bytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytea_int2(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytea_int4(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytea_int8(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn record_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_checkpointer_num_performed(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_append_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_prepend_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_subscript_handler_support(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_reverse(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytea_reverse(fcinfo: FunctionCallInfo) -> Datum; + pub fn dgamma(fcinfo: FunctionCallInfo) -> Datum; + pub fn dlgamma(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_acl(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_get_backend_io(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_stat_reset_backend_stats(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_sort(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_sort_order(fcinfo: FunctionCallInfo) -> Datum; + pub fn array_sort_order_nulls_first(fcinfo: FunctionCallInfo) -> Datum; + pub fn range_sortsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytea_larger(fcinfo: FunctionCallInfo) -> Datum; + pub fn bytea_smaller(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_clear_relation_stats(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_clear_attribute_stats(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_aios(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_ls_summariesdir(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_timezone_abbrevs_zone(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint2skipsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint4skipsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn btint8skipsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn btoidskipsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn btcharskipsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn date_skipsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn btboolskipsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamp_skipsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuid_skipsupport(fcinfo: FunctionCallInfo) -> Datum; + pub fn casefold(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashbytea(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashbyteaextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashdate(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashdateextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashbool(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashboolextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashxid(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashxidextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashxid8(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashxid8extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashcid(fcinfo: FunctionCallInfo) -> Datum; + pub fn hashcidextended(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_hash(fcinfo: FunctionCallInfo) -> Datum; + pub fn timestamptz_hash_extended(fcinfo: FunctionCallInfo) -> Datum; + pub fn pg_get_sequence_data(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuidv7(fcinfo: FunctionCallInfo) -> Datum; + pub fn uuidv7_interval(fcinfo: FunctionCallInfo) -> Datum; + pub fn parse_bool(value: *const ::core::ffi::c_char, result: *mut bool) -> bool; + pub fn parse_bool_with_len( + value: *const ::core::ffi::c_char, + len: usize, + result: *mut bool, + ) -> bool; + pub fn domain_check( + value: Datum, + isnull: bool, + domainType: Oid, + extra: *mut *mut ::core::ffi::c_void, + mcxt: MemoryContext, + ); + pub fn domain_check_safe( + value: Datum, + isnull: bool, + domainType: Oid, + extra: *mut *mut ::core::ffi::c_void, + mcxt: MemoryContext, + escontext: *mut Node, + ) -> bool; + pub fn errdatatype(datatypeOid: Oid) -> ::core::ffi::c_int; + pub fn errdomainconstraint( + datatypeOid: Oid, + conname: *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int; + pub fn hex_encode( + src: *const ::core::ffi::c_char, + len: usize, + dst: *mut ::core::ffi::c_char, + ) -> uint64; + pub fn hex_decode( + src: *const ::core::ffi::c_char, + len: usize, + dst: *mut ::core::ffi::c_char, + ) -> uint64; + pub fn hex_decode_safe( + src: *const ::core::ffi::c_char, + len: usize, + dst: *mut ::core::ffi::c_char, + escontext: *mut Node, + ) -> uint64; + pub fn buildint2vector(int2s: *const int16, n: ::core::ffi::c_int) -> *mut int2vector; + pub fn namestrcpy(name: Name, str_: *const ::core::ffi::c_char); + pub fn namestrcmp(name: Name, str_: *const ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_strtoint16(s: *const ::core::ffi::c_char) -> int16; + pub fn pg_strtoint16_safe(s: *const ::core::ffi::c_char, escontext: *mut Node) -> int16; + pub fn pg_strtoint32(s: *const ::core::ffi::c_char) -> int32; + pub fn pg_strtoint32_safe(s: *const ::core::ffi::c_char, escontext: *mut Node) -> int32; + pub fn pg_strtoint64(s: *const ::core::ffi::c_char) -> int64; + pub fn pg_strtoint64_safe(s: *const ::core::ffi::c_char, escontext: *mut Node) -> int64; + pub fn uint32in_subr( + s: *const ::core::ffi::c_char, + endloc: *mut *mut ::core::ffi::c_char, + typname: *const ::core::ffi::c_char, + escontext: *mut Node, + ) -> uint32; + pub fn uint64in_subr( + s: *const ::core::ffi::c_char, + endloc: *mut *mut ::core::ffi::c_char, + typname: *const ::core::ffi::c_char, + escontext: *mut Node, + ) -> uint64; + pub fn pg_itoa(i: int16, a: *mut ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_ultoa_n(value: uint32, a: *mut ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_ulltoa_n(value: uint64, a: *mut ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_ltoa(value: int32, a: *mut ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_lltoa(value: int64, a: *mut ::core::ffi::c_char) -> ::core::ffi::c_int; + pub fn pg_ultostr_zeropad( + str_: *mut ::core::ffi::c_char, + value: uint32, + minwidth: int32, + ) -> *mut ::core::ffi::c_char; + pub fn pg_ultostr(str_: *mut ::core::ffi::c_char, value: uint32) -> *mut ::core::ffi::c_char; + pub fn buildoidvector(oids: *const Oid, n: ::core::ffi::c_int) -> *mut oidvector; + pub fn oidparse(node: *mut Node) -> Oid; + pub fn oid_cmp( + p1: *const ::core::ffi::c_void, + p2: *const ::core::ffi::c_void, + ) -> ::core::ffi::c_int; + pub fn regexp_fixed_prefix( + text_re: *mut text, + case_insensitive: bool, + collation: Oid, + exact: *mut bool, + ) -> *mut ::core::ffi::c_char; + pub static mut quote_all_identifiers: bool; + pub fn quote_identifier(ident: *const ::core::ffi::c_char) -> *const ::core::ffi::c_char; + pub fn quote_qualified_identifier( + qualifier: *const ::core::ffi::c_char, + ident: *const ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn generate_operator_clause( + buf: fmStringInfo, + leftop: *const ::core::ffi::c_char, + leftoptype: Oid, + opoid: Oid, + rightop: *const ::core::ffi::c_char, + rightoptype: Oid, + ); + pub fn bpchartruelen( + s: *mut ::core::ffi::c_char, + len: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn cstring_to_text(s: *const ::core::ffi::c_char) -> *mut text; + pub fn cstring_to_text_with_len( + s: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + ) -> *mut text; + pub fn text_to_cstring(t: *const text) -> *mut ::core::ffi::c_char; + pub fn text_to_cstring_buffer(src: *const text, dst: *mut ::core::ffi::c_char, dst_len: usize); + pub fn xidComparator( + arg1: *const ::core::ffi::c_void, + arg2: *const ::core::ffi::c_void, + ) -> ::core::ffi::c_int; + pub fn xidLogicalComparator( + arg1: *const ::core::ffi::c_void, + arg2: *const ::core::ffi::c_void, + ) -> ::core::ffi::c_int; + pub fn pg_inet_cidr_ntop( + af: ::core::ffi::c_int, + src: *const ::core::ffi::c_void, + bits: ::core::ffi::c_int, + dst: *mut ::core::ffi::c_char, + size: usize, + ) -> *mut ::core::ffi::c_char; + pub fn pg_inet_net_pton( + af: ::core::ffi::c_int, + src: *const ::core::ffi::c_char, + dst: *mut ::core::ffi::c_void, + size: usize, + ) -> ::core::ffi::c_int; + pub fn convert_network_to_scalar(value: Datum, typid: Oid, failure: *mut bool) -> f64; + pub fn network_scan_first(in_: Datum) -> Datum; + pub fn network_scan_last(in_: Datum) -> Datum; + pub fn clean_ipv6_addr(addr_family: ::core::ffi::c_int, addr: *mut ::core::ffi::c_char); + pub fn numeric_float8_no_overflow(fcinfo: FunctionCallInfo) -> Datum; + pub fn format_type_extended( + type_oid: Oid, + typemod: int32, + flags: bits16, + ) -> *mut ::core::ffi::c_char; + pub fn format_type_be(type_oid: Oid) -> *mut ::core::ffi::c_char; + pub fn format_type_be_qualified(type_oid: Oid) -> *mut ::core::ffi::c_char; + pub fn format_type_with_typemod(type_oid: Oid, typemod: int32) -> *mut ::core::ffi::c_char; + pub fn type_maximum_size(type_oid: Oid, typemod: int32) -> int32; + pub fn quote_literal_cstr(rawstr: *const ::core::ffi::c_char) -> *mut ::core::ffi::c_char; + pub fn anytime_typmod_check(istz: bool, typmod: int32) -> int32; + pub fn date2timestamp_no_overflow(dateVal: DateADT) -> f64; + pub fn date2timestamp_opt_overflow( + dateVal: DateADT, + overflow: *mut ::core::ffi::c_int, + ) -> Timestamp; + pub fn date2timestamptz_opt_overflow( + dateVal: DateADT, + overflow: *mut ::core::ffi::c_int, + ) -> TimestampTz; + pub fn date_cmp_timestamp_internal(dateVal: DateADT, dt2: Timestamp) -> int32; + pub fn date_cmp_timestamptz_internal(dateVal: DateADT, dt2: TimestampTz) -> int32; + pub fn EncodeSpecialDate(dt: DateADT, str_: *mut ::core::ffi::c_char); + pub fn GetSQLCurrentDate() -> DateADT; + pub fn GetSQLCurrentTime(typmod: int32) -> *mut TimeTzADT; + pub fn GetSQLLocalTime(typmod: int32) -> TimeADT; + pub fn time2tm(time: TimeADT, tm: *mut pg_tm, fsec: *mut fsec_t) -> ::core::ffi::c_int; + pub fn timetz2tm( + time: *mut TimeTzADT, + tm: *mut pg_tm, + fsec: *mut fsec_t, + tzp: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn tm2time(tm: *mut pg_tm, fsec: fsec_t, result: *mut TimeADT) -> ::core::ffi::c_int; + pub fn tm2timetz( + tm: *mut pg_tm, + fsec: fsec_t, + tz: ::core::ffi::c_int, + result: *mut TimeTzADT, + ) -> ::core::ffi::c_int; + pub fn time_overflows( + hour: ::core::ffi::c_int, + min: ::core::ffi::c_int, + sec: ::core::ffi::c_int, + fsec: fsec_t, + ) -> bool; + pub fn float_time_overflows( + hour: ::core::ffi::c_int, + min: ::core::ffi::c_int, + sec: f64, + ) -> bool; + pub fn AdjustTimeForTypmod(time: *mut TimeADT, typmod: int32); + pub static months: [*const ::core::ffi::c_char; 0usize]; + pub static days: [*const ::core::ffi::c_char; 0usize]; + pub static mut day_tab: [[::core::ffi::c_int; 13usize]; 2usize]; + pub fn GetCurrentDateTime(tm: *mut pg_tm); + pub fn GetCurrentTimeUsec(tm: *mut pg_tm, fsec: *mut fsec_t, tzp: *mut ::core::ffi::c_int); + pub fn j2date( + jd: ::core::ffi::c_int, + year: *mut ::core::ffi::c_int, + month: *mut ::core::ffi::c_int, + day: *mut ::core::ffi::c_int, + ); + pub fn date2j( + year: ::core::ffi::c_int, + month: ::core::ffi::c_int, + day: ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn ParseDateTime( + timestr: *const ::core::ffi::c_char, + workbuf: *mut ::core::ffi::c_char, + buflen: usize, + field: *mut *mut ::core::ffi::c_char, + ftype: *mut ::core::ffi::c_int, + maxfields: ::core::ffi::c_int, + numfields: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn DecodeDateTime( + field: *mut *mut ::core::ffi::c_char, + ftype: *mut ::core::ffi::c_int, + nf: ::core::ffi::c_int, + dtype: *mut ::core::ffi::c_int, + tm: *mut pg_tm, + fsec: *mut fsec_t, + tzp: *mut ::core::ffi::c_int, + extra: *mut DateTimeErrorExtra, + ) -> ::core::ffi::c_int; + pub fn DecodeTimezone( + str_: *const ::core::ffi::c_char, + tzp: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn DecodeTimeOnly( + field: *mut *mut ::core::ffi::c_char, + ftype: *mut ::core::ffi::c_int, + nf: ::core::ffi::c_int, + dtype: *mut ::core::ffi::c_int, + tm: *mut pg_tm, + fsec: *mut fsec_t, + tzp: *mut ::core::ffi::c_int, + extra: *mut DateTimeErrorExtra, + ) -> ::core::ffi::c_int; + pub fn DecodeInterval( + field: *mut *mut ::core::ffi::c_char, + ftype: *mut ::core::ffi::c_int, + nf: ::core::ffi::c_int, + range: ::core::ffi::c_int, + dtype: *mut ::core::ffi::c_int, + itm_in: *mut pg_itm_in, + ) -> ::core::ffi::c_int; + pub fn DecodeISO8601Interval( + str_: *mut ::core::ffi::c_char, + dtype: *mut ::core::ffi::c_int, + itm_in: *mut pg_itm_in, + ) -> ::core::ffi::c_int; + pub fn DateTimeParseError( + dterr: ::core::ffi::c_int, + extra: *mut DateTimeErrorExtra, + str_: *const ::core::ffi::c_char, + datatype: *const ::core::ffi::c_char, + escontext: *mut Node, + ); + pub fn DetermineTimeZoneOffset(tm: *mut pg_tm, tzp: *mut pg_tz) -> ::core::ffi::c_int; + pub fn DetermineTimeZoneAbbrevOffset( + tm: *mut pg_tm, + abbr: *const ::core::ffi::c_char, + tzp: *mut pg_tz, + ) -> ::core::ffi::c_int; + pub fn DetermineTimeZoneAbbrevOffsetTS( + ts: TimestampTz, + abbr: *const ::core::ffi::c_char, + tzp: *mut pg_tz, + isdst: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn EncodeDateOnly( + tm: *mut pg_tm, + style: ::core::ffi::c_int, + str_: *mut ::core::ffi::c_char, + ); + pub fn EncodeTimeOnly( + tm: *mut pg_tm, + fsec: fsec_t, + print_tz: bool, + tz: ::core::ffi::c_int, + style: ::core::ffi::c_int, + str_: *mut ::core::ffi::c_char, + ); + pub fn EncodeDateTime( + tm: *mut pg_tm, + fsec: fsec_t, + print_tz: bool, + tz: ::core::ffi::c_int, + tzn: *const ::core::ffi::c_char, + style: ::core::ffi::c_int, + str_: *mut ::core::ffi::c_char, + ); + pub fn EncodeInterval( + itm: *mut pg_itm, + style: ::core::ffi::c_int, + str_: *mut ::core::ffi::c_char, + ); + pub fn EncodeSpecialTimestamp(dt: Timestamp, str_: *mut ::core::ffi::c_char); + pub fn ValidateDate( + fmask: ::core::ffi::c_int, + isjulian: bool, + is2digits: bool, + bc: bool, + tm: *mut pg_tm, + ) -> ::core::ffi::c_int; + pub fn DecodeTimezoneAbbrev( + field: ::core::ffi::c_int, + lowtoken: *const ::core::ffi::c_char, + ftype: *mut ::core::ffi::c_int, + offset: *mut ::core::ffi::c_int, + tz: *mut *mut pg_tz, + extra: *mut DateTimeErrorExtra, + ) -> ::core::ffi::c_int; + pub fn DecodeSpecial( + field: ::core::ffi::c_int, + lowtoken: *const ::core::ffi::c_char, + val: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn DecodeUnits( + field: ::core::ffi::c_int, + lowtoken: *const ::core::ffi::c_char, + val: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int; + pub fn DecodeTimezoneName( + tzname: *const ::core::ffi::c_char, + offset: *mut ::core::ffi::c_int, + tz: *mut *mut pg_tz, + ) -> ::core::ffi::c_int; + pub fn DecodeTimezoneNameToTz(tzname: *const ::core::ffi::c_char) -> *mut pg_tz; + pub fn DecodeTimezoneAbbrevPrefix( + str_: *const ::core::ffi::c_char, + offset: *mut ::core::ffi::c_int, + tz: *mut *mut pg_tz, + ) -> ::core::ffi::c_int; + pub fn ClearTimeZoneAbbrevCache(); + pub fn j2day(date: ::core::ffi::c_int) -> ::core::ffi::c_int; + pub fn TemporalSimplify(max_precis: int32, node: *mut Node) -> *mut Node; + pub fn CheckDateTokenTables() -> bool; + pub fn ConvertTimeZoneAbbrevs( + abbrevs: *mut tzEntry, + n: ::core::ffi::c_int, + ) -> *mut TimeZoneAbbrevTable; + pub fn InstallTimeZoneAbbrevs(tbl: *mut TimeZoneAbbrevTable); + pub fn AdjustTimestampForTypmod( + time: *mut Timestamp, + typmod: int32, + escontext: *mut Node, + ) -> bool; + pub static mut extra_float_digits: ::core::ffi::c_int; + pub fn float_overflow_error(); + pub fn float_underflow_error(); + pub fn float_zero_divide_error(); + pub fn is_infinite(val: float8) -> ::core::ffi::c_int; + pub fn float8in_internal( + num: *mut ::core::ffi::c_char, + endptr_p: *mut *mut ::core::ffi::c_char, + type_name: *const ::core::ffi::c_char, + orig_string: *const ::core::ffi::c_char, + escontext: *mut Node, + ) -> float8; + pub fn float4in_internal( + num: *mut ::core::ffi::c_char, + endptr_p: *mut *mut ::core::ffi::c_char, + type_name: *const ::core::ffi::c_char, + orig_string: *const ::core::ffi::c_char, + escontext: *mut Node, + ) -> float4; + pub fn float8out_internal(num: float8) -> *mut ::core::ffi::c_char; + pub fn float4_cmp_internal(a: float4, b: float4) -> ::core::ffi::c_int; + pub fn float8_cmp_internal(a: float8, b: float8) -> ::core::ffi::c_int; + pub fn pg_hypot(x: float8, y: float8) -> float8; + pub fn escape_json(buf: StringInfo, str_: *const ::core::ffi::c_char); + pub fn escape_json_with_len( + buf: StringInfo, + str_: *const ::core::ffi::c_char, + len: ::core::ffi::c_int, + ); + pub fn escape_json_text(buf: StringInfo, txt: *const text); + pub fn JsonEncodeDateTime( + buf: *mut ::core::ffi::c_char, + value: Datum, + typid: Oid, + tzp: *const ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn to_json_is_immutable(typoid: Oid) -> bool; + pub fn json_build_object_worker( + nargs: ::core::ffi::c_int, + args: *const Datum, + nulls: *const bool, + types: *const Oid, + absent_on_null: bool, + unique_keys: bool, + ) -> Datum; + pub fn json_build_array_worker( + nargs: ::core::ffi::c_int, + args: *const Datum, + nulls: *const bool, + types: *const Oid, + absent_on_null: bool, + ) -> Datum; + pub fn json_validate(json: *mut text, check_unique_keys: bool, throw_error: bool) -> bool; + pub static mut pg_global_prng_state: pg_prng_state; + pub fn pg_prng_seed(state: *mut pg_prng_state, seed: uint64); + pub fn pg_prng_fseed(state: *mut pg_prng_state, fseed: f64); + pub fn pg_prng_seed_check(state: *mut pg_prng_state) -> bool; + pub fn pg_prng_uint64(state: *mut pg_prng_state) -> uint64; + pub fn pg_prng_uint64_range(state: *mut pg_prng_state, rmin: uint64, rmax: uint64) -> uint64; + pub fn pg_prng_int64(state: *mut pg_prng_state) -> int64; + pub fn pg_prng_int64p(state: *mut pg_prng_state) -> int64; + pub fn pg_prng_int64_range(state: *mut pg_prng_state, rmin: int64, rmax: int64) -> int64; + pub fn pg_prng_uint32(state: *mut pg_prng_state) -> uint32; + pub fn pg_prng_int32(state: *mut pg_prng_state) -> int32; + pub fn pg_prng_int32p(state: *mut pg_prng_state) -> int32; + pub fn pg_prng_double(state: *mut pg_prng_state) -> f64; + pub fn pg_prng_double_normal(state: *mut pg_prng_state) -> f64; + pub fn pg_prng_bool(state: *mut pg_prng_state) -> bool; + pub fn numeric_is_nan(num: Numeric) -> bool; + pub fn numeric_is_inf(num: Numeric) -> bool; + pub fn numeric_maximum_size(typmod: int32) -> int32; + pub fn numeric_out_sci(num: Numeric, scale: ::core::ffi::c_int) -> *mut ::core::ffi::c_char; + pub fn numeric_normalize(num: Numeric) -> *mut ::core::ffi::c_char; + pub fn int64_to_numeric(val: int64) -> Numeric; + pub fn int64_div_fast_to_numeric(val1: int64, log10val2: ::core::ffi::c_int) -> Numeric; + pub fn numeric_add_opt_error(num1: Numeric, num2: Numeric, have_error: *mut bool) -> Numeric; + pub fn numeric_sub_opt_error(num1: Numeric, num2: Numeric, have_error: *mut bool) -> Numeric; + pub fn numeric_mul_opt_error(num1: Numeric, num2: Numeric, have_error: *mut bool) -> Numeric; + pub fn numeric_div_opt_error(num1: Numeric, num2: Numeric, have_error: *mut bool) -> Numeric; + pub fn numeric_mod_opt_error(num1: Numeric, num2: Numeric, have_error: *mut bool) -> Numeric; + pub fn numeric_int4_opt_error(num: Numeric, have_error: *mut bool) -> int32; + pub fn numeric_int8_opt_error(num: Numeric, have_error: *mut bool) -> int64; + pub fn random_numeric(state: *mut pg_prng_state, rmin: Numeric, rmax: Numeric) -> Numeric; + pub fn getJsonbOffset(jc: *const JsonbContainer, index: ::core::ffi::c_int) -> uint32; + pub fn getJsonbLength(jc: *const JsonbContainer, index: ::core::ffi::c_int) -> uint32; + pub fn compareJsonbContainers( + a: *mut JsonbContainer, + b: *mut JsonbContainer, + ) -> ::core::ffi::c_int; + pub fn findJsonbValueFromContainer( + container: *mut JsonbContainer, + flags: uint32, + key: *mut JsonbValue, + ) -> *mut JsonbValue; + pub fn getKeyJsonValueFromContainer( + container: *mut JsonbContainer, + keyVal: *const ::core::ffi::c_char, + keyLen: ::core::ffi::c_int, + res: *mut JsonbValue, + ) -> *mut JsonbValue; + pub fn getIthJsonbValueFromContainer( + container: *mut JsonbContainer, + i: uint32, + ) -> *mut JsonbValue; + pub fn pushJsonbValue( + pstate: *mut *mut JsonbParseState, + seq: JsonbIteratorToken::Type, + jbval: *mut JsonbValue, + ) -> *mut JsonbValue; + pub fn JsonbIteratorInit(container: *mut JsonbContainer) -> *mut JsonbIterator; + pub fn JsonbIteratorNext( + it: *mut *mut JsonbIterator, + val: *mut JsonbValue, + skipNested: bool, + ) -> JsonbIteratorToken::Type; + pub fn JsonbToJsonbValue(jsonb: *mut Jsonb, val: *mut JsonbValue); + pub fn JsonbValueToJsonb(val: *mut JsonbValue) -> *mut Jsonb; + pub fn JsonbDeepContains( + val: *mut *mut JsonbIterator, + mContained: *mut *mut JsonbIterator, + ) -> bool; + pub fn JsonbHashScalarValue(scalarVal: *const JsonbValue, hash: *mut uint32); + pub fn JsonbHashScalarValueExtended( + scalarVal: *const JsonbValue, + hash: *mut uint64, + seed: uint64, + ); + pub fn JsonbToCString( + out: StringInfo, + in_: *mut JsonbContainer, + estimated_len: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn JsonbToCStringIndent( + out: StringInfo, + in_: *mut JsonbContainer, + estimated_len: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char; + pub fn JsonbUnquote(jb: *mut Jsonb) -> *mut ::core::ffi::c_char; + pub fn JsonbExtractScalar(jbc: *mut JsonbContainer, res: *mut JsonbValue) -> bool; + pub fn JsonbTypeName(val: *mut JsonbValue) -> *const ::core::ffi::c_char; + pub fn jsonb_set_element( + jb: *mut Jsonb, + path: *mut Datum, + path_len: ::core::ffi::c_int, + newval: *mut JsonbValue, + ) -> Datum; + pub fn jsonb_get_element( + jb: *mut Jsonb, + path: *mut Datum, + npath: ::core::ffi::c_int, + isnull: *mut bool, + as_text: bool, + ) -> Datum; + pub fn to_jsonb_is_immutable(typoid: Oid) -> bool; + pub fn jsonb_build_object_worker( + nargs: ::core::ffi::c_int, + args: *const Datum, + nulls: *const bool, + types: *const Oid, + absent_on_null: bool, + unique_keys: bool, + ) -> Datum; + pub fn jsonb_build_array_worker( + nargs: ::core::ffi::c_int, + args: *const Datum, + nulls: *const bool, + types: *const Oid, + absent_on_null: bool, + ) -> Datum; + pub static mut get_attavgwidth_hook: get_attavgwidth_hook_type; + pub fn op_in_opfamily(opno: Oid, opfamily: Oid) -> bool; + pub fn get_op_opfamily_strategy(opno: Oid, opfamily: Oid) -> ::core::ffi::c_int; + pub fn get_op_opfamily_sortfamily(opno: Oid, opfamily: Oid) -> Oid; + pub fn get_op_opfamily_properties( + opno: Oid, + opfamily: Oid, + ordering_op: bool, + strategy: *mut ::core::ffi::c_int, + lefttype: *mut Oid, + righttype: *mut Oid, + ); + pub fn get_opfamily_member( + opfamily: Oid, + lefttype: Oid, + righttype: Oid, + strategy: int16, + ) -> Oid; + pub fn get_opfamily_member_for_cmptype( + opfamily: Oid, + lefttype: Oid, + righttype: Oid, + cmptype: CompareType::Type, + ) -> Oid; + pub fn get_ordering_op_properties( + opno: Oid, + opfamily: *mut Oid, + opcintype: *mut Oid, + cmptype: *mut CompareType::Type, + ) -> bool; + pub fn get_equality_op_for_ordering_op(opno: Oid, reverse: *mut bool) -> Oid; + pub fn get_ordering_op_for_equality_op(opno: Oid, use_lhs_type: bool) -> Oid; + pub fn get_mergejoin_opfamilies(opno: Oid) -> *mut List; + pub fn get_compatible_hash_operators(opno: Oid, lhs_opno: *mut Oid, rhs_opno: *mut Oid) + -> bool; + pub fn get_op_hash_functions( + opno: Oid, + lhs_procno: *mut RegProcedure, + rhs_procno: *mut RegProcedure, + ) -> bool; + pub fn get_op_index_interpretation(opno: Oid) -> *mut List; + pub fn equality_ops_are_compatible(opno1: Oid, opno2: Oid) -> bool; + pub fn comparison_ops_are_compatible(opno1: Oid, opno2: Oid) -> bool; + pub fn get_opfamily_proc(opfamily: Oid, lefttype: Oid, righttype: Oid, procnum: int16) -> Oid; + pub fn get_attname( + relid: Oid, + attnum: AttrNumber, + missing_ok: bool, + ) -> *mut ::core::ffi::c_char; + pub fn get_attnum(relid: Oid, attname: *const ::core::ffi::c_char) -> AttrNumber; + pub fn get_attgenerated(relid: Oid, attnum: AttrNumber) -> ::core::ffi::c_char; + pub fn get_atttype(relid: Oid, attnum: AttrNumber) -> Oid; + pub fn get_atttypetypmodcoll( + relid: Oid, + attnum: AttrNumber, + typid: *mut Oid, + typmod: *mut int32, + collid: *mut Oid, + ); + pub fn get_attoptions(relid: Oid, attnum: int16) -> Datum; + pub fn get_cast_oid(sourcetypeid: Oid, targettypeid: Oid, missing_ok: bool) -> Oid; + pub fn get_collation_name(colloid: Oid) -> *mut ::core::ffi::c_char; + pub fn get_collation_isdeterministic(colloid: Oid) -> bool; + pub fn get_constraint_name(conoid: Oid) -> *mut ::core::ffi::c_char; + pub fn get_constraint_index(conoid: Oid) -> Oid; + pub fn get_constraint_type(conoid: Oid) -> ::core::ffi::c_char; + pub fn get_language_name(langoid: Oid, missing_ok: bool) -> *mut ::core::ffi::c_char; + pub fn get_opclass_family(opclass: Oid) -> Oid; + pub fn get_opclass_input_type(opclass: Oid) -> Oid; + pub fn get_opclass_opfamily_and_input_type( + opclass: Oid, + opfamily: *mut Oid, + opcintype: *mut Oid, + ) -> bool; + pub fn get_opclass_method(opclass: Oid) -> Oid; + pub fn get_opfamily_method(opfid: Oid) -> Oid; + pub fn get_opfamily_name(opfid: Oid, missing_ok: bool) -> *mut ::core::ffi::c_char; + pub fn get_opcode(opno: Oid) -> RegProcedure; + pub fn get_opname(opno: Oid) -> *mut ::core::ffi::c_char; + pub fn get_op_rettype(opno: Oid) -> Oid; + pub fn op_input_types(opno: Oid, lefttype: *mut Oid, righttype: *mut Oid); + pub fn op_mergejoinable(opno: Oid, inputtype: Oid) -> bool; + pub fn op_hashjoinable(opno: Oid, inputtype: Oid) -> bool; + pub fn op_strict(opno: Oid) -> bool; + pub fn op_volatile(opno: Oid) -> ::core::ffi::c_char; + pub fn get_commutator(opno: Oid) -> Oid; + pub fn get_negator(opno: Oid) -> Oid; + pub fn get_oprrest(opno: Oid) -> RegProcedure; + pub fn get_oprjoin(opno: Oid) -> RegProcedure; + pub fn get_func_name(funcid: Oid) -> *mut ::core::ffi::c_char; + pub fn get_func_namespace(funcid: Oid) -> Oid; + pub fn get_func_rettype(funcid: Oid) -> Oid; + pub fn get_func_nargs(funcid: Oid) -> ::core::ffi::c_int; + pub fn get_func_signature( + funcid: Oid, + argtypes: *mut *mut Oid, + nargs: *mut ::core::ffi::c_int, + ) -> Oid; + pub fn get_func_variadictype(funcid: Oid) -> Oid; + pub fn get_func_retset(funcid: Oid) -> bool; + pub fn func_strict(funcid: Oid) -> bool; + pub fn func_volatile(funcid: Oid) -> ::core::ffi::c_char; + pub fn func_parallel(funcid: Oid) -> ::core::ffi::c_char; + pub fn get_func_prokind(funcid: Oid) -> ::core::ffi::c_char; + pub fn get_func_leakproof(funcid: Oid) -> bool; + pub fn get_func_support(funcid: Oid) -> RegProcedure; + pub fn get_relname_relid(relname: *const ::core::ffi::c_char, relnamespace: Oid) -> Oid; + pub fn get_rel_name(relid: Oid) -> *mut ::core::ffi::c_char; + pub fn get_rel_namespace(relid: Oid) -> Oid; + pub fn get_rel_type_id(relid: Oid) -> Oid; + pub fn get_rel_relkind(relid: Oid) -> ::core::ffi::c_char; + pub fn get_rel_relispartition(relid: Oid) -> bool; + pub fn get_rel_tablespace(relid: Oid) -> Oid; + pub fn get_rel_persistence(relid: Oid) -> ::core::ffi::c_char; + pub fn get_rel_relam(relid: Oid) -> Oid; + pub fn get_transform_fromsql(typid: Oid, langid: Oid, trftypes: *mut List) -> Oid; + pub fn get_transform_tosql(typid: Oid, langid: Oid, trftypes: *mut List) -> Oid; + pub fn get_typisdefined(typid: Oid) -> bool; + pub fn get_typlen(typid: Oid) -> int16; + pub fn get_typbyval(typid: Oid) -> bool; + pub fn get_typlenbyval(typid: Oid, typlen: *mut int16, typbyval: *mut bool); + pub fn get_typlenbyvalalign( + typid: Oid, + typlen: *mut int16, + typbyval: *mut bool, + typalign: *mut ::core::ffi::c_char, + ); + pub fn getTypeIOParam(typeTuple: HeapTuple) -> Oid; + pub fn get_type_io_data( + typid: Oid, + which_func: IOFuncSelector::Type, + typlen: *mut int16, + typbyval: *mut bool, + typalign: *mut ::core::ffi::c_char, + typdelim: *mut ::core::ffi::c_char, + typioparam: *mut Oid, + func: *mut Oid, + ); + pub fn get_typstorage(typid: Oid) -> ::core::ffi::c_char; + pub fn get_typdefault(typid: Oid) -> *mut Node; + pub fn get_typtype(typid: Oid) -> ::core::ffi::c_char; + pub fn type_is_rowtype(typid: Oid) -> bool; + pub fn type_is_enum(typid: Oid) -> bool; + pub fn type_is_range(typid: Oid) -> bool; + pub fn type_is_multirange(typid: Oid) -> bool; + pub fn get_type_category_preferred( + typid: Oid, + typcategory: *mut ::core::ffi::c_char, + typispreferred: *mut bool, + ); + pub fn get_typ_typrelid(typid: Oid) -> Oid; + pub fn get_element_type(typid: Oid) -> Oid; + pub fn get_array_type(typid: Oid) -> Oid; + pub fn get_promoted_array_type(typid: Oid) -> Oid; + pub fn get_base_element_type(typid: Oid) -> Oid; + pub fn getTypeInputInfo(type_: Oid, typInput: *mut Oid, typIOParam: *mut Oid); + pub fn getTypeOutputInfo(type_: Oid, typOutput: *mut Oid, typIsVarlena: *mut bool); + pub fn getTypeBinaryInputInfo(type_: Oid, typReceive: *mut Oid, typIOParam: *mut Oid); + pub fn getTypeBinaryOutputInfo(type_: Oid, typSend: *mut Oid, typIsVarlena: *mut bool); + pub fn get_typmodin(typid: Oid) -> Oid; + pub fn get_typcollation(typid: Oid) -> Oid; + pub fn type_is_collatable(typid: Oid) -> bool; + pub fn get_typsubscript(typid: Oid, typelemp: *mut Oid) -> RegProcedure; + pub fn getSubscriptingRoutines(typid: Oid, typelemp: *mut Oid) -> *const SubscriptRoutines; + pub fn getBaseType(typid: Oid) -> Oid; + pub fn getBaseTypeAndTypmod(typid: Oid, typmod: *mut int32) -> Oid; + pub fn get_typavgwidth(typid: Oid, typmod: int32) -> int32; + pub fn get_attavgwidth(relid: Oid, attnum: AttrNumber) -> int32; + pub fn get_attstatsslot( + sslot: *mut AttStatsSlot, + statstuple: HeapTuple, + reqkind: ::core::ffi::c_int, + reqop: Oid, + flags: ::core::ffi::c_int, + ) -> bool; + pub fn free_attstatsslot(sslot: *mut AttStatsSlot); + pub fn get_namespace_name(nspid: Oid) -> *mut ::core::ffi::c_char; + pub fn get_namespace_name_or_temp(nspid: Oid) -> *mut ::core::ffi::c_char; + pub fn get_range_subtype(rangeOid: Oid) -> Oid; + pub fn get_range_collation(rangeOid: Oid) -> Oid; + pub fn get_range_multirange(rangeOid: Oid) -> Oid; + pub fn get_multirange_range(multirangeOid: Oid) -> Oid; + pub fn get_index_column_opclass(index_oid: Oid, attno: ::core::ffi::c_int) -> Oid; + pub fn get_index_isreplident(index_oid: Oid) -> bool; + pub fn get_index_isvalid(index_oid: Oid) -> bool; + pub fn get_index_isclustered(index_oid: Oid) -> bool; + pub fn get_publication_oid(pubname: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn get_publication_name(pubid: Oid, missing_ok: bool) -> *mut ::core::ffi::c_char; + pub fn get_subscription_oid(subname: *const ::core::ffi::c_char, missing_ok: bool) -> Oid; + pub fn get_subscription_name(subid: Oid, missing_ok: bool) -> *mut ::core::ffi::c_char; + pub fn format_procedure_extended(procedure_oid: Oid, flags: bits16) + -> *mut ::core::ffi::c_char; + pub fn format_operator_extended(operator_oid: Oid, flags: bits16) -> *mut ::core::ffi::c_char; + pub fn stringToQualifiedNameList( + string: *const ::core::ffi::c_char, + escontext: *mut Node, + ) -> *mut List; + pub fn format_procedure(procedure_oid: Oid) -> *mut ::core::ffi::c_char; + pub fn format_procedure_qualified(procedure_oid: Oid) -> *mut ::core::ffi::c_char; + pub fn format_procedure_parts( + procedure_oid: Oid, + objnames: *mut *mut List, + objargs: *mut *mut List, + missing_ok: bool, + ); + pub fn format_operator(operator_oid: Oid) -> *mut ::core::ffi::c_char; + pub fn format_operator_qualified(operator_oid: Oid) -> *mut ::core::ffi::c_char; + pub fn format_operator_parts( + operator_oid: Oid, + objnames: *mut *mut List, + objargs: *mut *mut List, + missing_ok: bool, + ); + pub static mut row_security: bool; + pub fn check_enable_rls(relid: Oid, checkAsUser: Oid, noError: bool) -> ::core::ffi::c_int; + pub fn pg_get_indexdef_string(indexrelid: Oid) -> *mut ::core::ffi::c_char; + pub fn pg_get_indexdef_columns(indexrelid: Oid, pretty: bool) -> *mut ::core::ffi::c_char; + pub fn pg_get_indexdef_columns_extended( + indexrelid: Oid, + flags: bits16, + ) -> *mut ::core::ffi::c_char; + pub fn pg_get_querydef(query: *mut Query, pretty: bool) -> *mut ::core::ffi::c_char; + pub fn pg_get_partkeydef_columns(relid: Oid, pretty: bool) -> *mut ::core::ffi::c_char; + pub fn pg_get_partconstrdef_string( + partitionId: Oid, + aliasname: *mut ::core::ffi::c_char, + ) -> *mut ::core::ffi::c_char; + pub fn pg_get_constraintdef_command(constraintId: Oid) -> *mut ::core::ffi::c_char; + pub fn deparse_expression( + expr: *mut Node, + dpcontext: *mut List, + forceprefix: bool, + showimplicit: bool, + ) -> *mut ::core::ffi::c_char; + pub fn deparse_context_for(aliasname: *const ::core::ffi::c_char, relid: Oid) -> *mut List; + pub fn deparse_context_for_plan_tree( + pstmt: *mut PlannedStmt, + rtable_names: *mut List, + ) -> *mut List; + pub fn set_deparse_context_plan( + dpcontext: *mut List, + plan: *mut Plan, + ancestors: *mut List, + ) -> *mut List; + pub fn select_rtable_names_for_explain( + rtable: *mut List, + rels_used: *mut Bitmapset, + ) -> *mut List; + pub fn get_window_frame_options_for_explain( + frameOptions: ::core::ffi::c_int, + startOffset: *mut Node, + endOffset: *mut Node, + dpcontext: *mut List, + forceprefix: bool, + ) -> *mut ::core::ffi::c_char; + pub fn generate_collation_name(collid: Oid) -> *mut ::core::ffi::c_char; + pub fn generate_opclass_name(opclass: Oid) -> *mut ::core::ffi::c_char; + pub fn get_range_partbound_string(bound_datums: *mut List) -> *mut ::core::ffi::c_char; + pub fn pg_get_statisticsobjdef_string(statextid: Oid) -> *mut ::core::ffi::c_char; + pub fn sampler_random_init_state(seed: uint32, randstate: *mut pg_prng_state); + pub fn sampler_random_fract(randstate: *mut pg_prng_state) -> f64; + pub fn BlockSampler_Init( + bs: BlockSampler, + nblocks: BlockNumber, + samplesize: ::core::ffi::c_int, + randseed: uint32, + ) -> BlockNumber; + pub fn BlockSampler_HasMore(bs: BlockSampler) -> bool; + pub fn BlockSampler_Next(bs: BlockSampler) -> BlockNumber; + pub fn reservoir_init_selection_state(rs: ReservoirState, n: ::core::ffi::c_int); + pub fn reservoir_get_next_S(rs: ReservoirState, t: f64, n: ::core::ffi::c_int) -> f64; + pub static mut get_relation_stats_hook: get_relation_stats_hook_type; + pub static mut get_index_stats_hook: get_index_stats_hook_type; + pub fn examine_variable( + root: *mut PlannerInfo, + node: *mut Node, + varRelid: ::core::ffi::c_int, + vardata: *mut VariableStatData, + ); + pub fn statistic_proc_security_check(vardata: *mut VariableStatData, func_oid: Oid) -> bool; + pub fn get_restriction_variable( + root: *mut PlannerInfo, + args: *mut List, + varRelid: ::core::ffi::c_int, + vardata: *mut VariableStatData, + other: *mut *mut Node, + varonleft: *mut bool, + ) -> bool; + pub fn get_join_variables( + root: *mut PlannerInfo, + args: *mut List, + sjinfo: *mut SpecialJoinInfo, + vardata1: *mut VariableStatData, + vardata2: *mut VariableStatData, + join_is_reversed: *mut bool, + ); + pub fn get_variable_numdistinct(vardata: *mut VariableStatData, isdefault: *mut bool) -> f64; + pub fn mcv_selectivity( + vardata: *mut VariableStatData, + opproc: *mut FmgrInfo, + collation: Oid, + constval: Datum, + varonleft: bool, + sumcommonp: *mut f64, + ) -> f64; + pub fn histogram_selectivity( + vardata: *mut VariableStatData, + opproc: *mut FmgrInfo, + collation: Oid, + constval: Datum, + varonleft: bool, + min_hist_size: ::core::ffi::c_int, + n_skip: ::core::ffi::c_int, + hist_size: *mut ::core::ffi::c_int, + ) -> f64; + pub fn generic_restriction_selectivity( + root: *mut PlannerInfo, + oproid: Oid, + collation: Oid, + args: *mut List, + varRelid: ::core::ffi::c_int, + default_selectivity: f64, + ) -> f64; + pub fn ineq_histogram_selectivity( + root: *mut PlannerInfo, + vardata: *mut VariableStatData, + opoid: Oid, + opproc: *mut FmgrInfo, + isgt: bool, + iseq: bool, + collation: Oid, + constval: Datum, + consttype: Oid, + ) -> f64; + pub fn var_eq_const( + vardata: *mut VariableStatData, + oproid: Oid, + collation: Oid, + constval: Datum, + constisnull: bool, + varonleft: bool, + negate: bool, + ) -> f64; + pub fn var_eq_non_const( + vardata: *mut VariableStatData, + oproid: Oid, + collation: Oid, + other: *mut Node, + varonleft: bool, + negate: bool, + ) -> f64; + pub fn boolvarsel( + root: *mut PlannerInfo, + arg: *mut Node, + varRelid: ::core::ffi::c_int, + ) -> Selectivity; + pub fn booltestsel( + root: *mut PlannerInfo, + booltesttype: BoolTestType::Type, + arg: *mut Node, + varRelid: ::core::ffi::c_int, + jointype: JoinType::Type, + sjinfo: *mut SpecialJoinInfo, + ) -> Selectivity; + pub fn nulltestsel( + root: *mut PlannerInfo, + nulltesttype: NullTestType::Type, + arg: *mut Node, + varRelid: ::core::ffi::c_int, + jointype: JoinType::Type, + sjinfo: *mut SpecialJoinInfo, + ) -> Selectivity; + pub fn scalararraysel( + root: *mut PlannerInfo, + clause: *mut ScalarArrayOpExpr, + is_join_clause: bool, + varRelid: ::core::ffi::c_int, + jointype: JoinType::Type, + sjinfo: *mut SpecialJoinInfo, + ) -> Selectivity; + pub fn estimate_array_length(root: *mut PlannerInfo, arrayexpr: *mut Node) -> f64; + pub fn rowcomparesel( + root: *mut PlannerInfo, + clause: *mut RowCompareExpr, + varRelid: ::core::ffi::c_int, + jointype: JoinType::Type, + sjinfo: *mut SpecialJoinInfo, + ) -> Selectivity; + pub fn mergejoinscansel( + root: *mut PlannerInfo, + clause: *mut Node, + opfamily: Oid, + cmptype: CompareType::Type, + nulls_first: bool, + leftstart: *mut Selectivity, + leftend: *mut Selectivity, + rightstart: *mut Selectivity, + rightend: *mut Selectivity, + ); + pub fn estimate_num_groups( + root: *mut PlannerInfo, + groupExprs: *mut List, + input_rows: f64, + pgset: *mut *mut List, + estinfo: *mut EstimationInfo, + ) -> f64; + pub fn estimate_multivariate_bucketsize( + root: *mut PlannerInfo, + inner: *mut RelOptInfo, + hashclauses: *mut List, + innerbucketsize: *mut Selectivity, + ) -> *mut List; + pub fn estimate_hash_bucket_stats( + root: *mut PlannerInfo, + hashkey: *mut Node, + nbuckets: f64, + mcv_freq: *mut Selectivity, + bucketsize_frac: *mut Selectivity, + ); + pub fn estimate_hashagg_tablesize( + root: *mut PlannerInfo, + path: *mut Path, + agg_costs: *const AggClauseCosts, + dNumGroups: f64, + ) -> f64; + pub fn get_quals_from_indexclauses(indexclauses: *mut List) -> *mut List; + pub fn index_other_operands_eval_cost(root: *mut PlannerInfo, indexquals: *mut List) -> Cost; + pub fn add_predicate_to_index_quals( + index: *mut IndexOptInfo, + indexQuals: *mut List, + ) -> *mut List; + pub fn genericcostestimate( + root: *mut PlannerInfo, + path: *mut IndexPath, + loop_count: f64, + costs: *mut GenericCosts, + ); + pub fn scalararraysel_containment( + root: *mut PlannerInfo, + leftop: *mut Node, + rightop: *mut Node, + elemtype: Oid, + isEquality: bool, + useOr: bool, + varRelid: ::core::ffi::c_int, + ) -> Selectivity; + pub fn get_tablespace_page_costs( + spcid: Oid, + spc_random_page_cost: *mut float8, + spc_seq_page_cost: *mut float8, + ); + pub fn get_tablespace_io_concurrency(spcid: Oid) -> ::core::ffi::c_int; + pub fn get_tablespace_maintenance_io_concurrency(spcid: Oid) -> ::core::ffi::c_int; + pub fn CreateCacheMemoryContext(); + pub fn InitCatCache( + id: ::core::ffi::c_int, + reloid: Oid, + indexoid: Oid, + nkeys: ::core::ffi::c_int, + key: *const ::core::ffi::c_int, + nbuckets: ::core::ffi::c_int, + ) -> *mut CatCache; + pub fn InitCatCachePhase2(cache: *mut CatCache, touch_index: bool); + pub fn SearchCatCache( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> HeapTuple; + pub fn SearchCatCache1(cache: *mut CatCache, v1: Datum) -> HeapTuple; + pub fn SearchCatCache2(cache: *mut CatCache, v1: Datum, v2: Datum) -> HeapTuple; + pub fn SearchCatCache3(cache: *mut CatCache, v1: Datum, v2: Datum, v3: Datum) -> HeapTuple; + pub fn SearchCatCache4( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> HeapTuple; + pub fn ReleaseCatCache(tuple: HeapTuple); + pub fn GetCatCacheHashValue( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> uint32; + pub fn SearchCatCacheList( + cache: *mut CatCache, + nkeys: ::core::ffi::c_int, + v1: Datum, + v2: Datum, + v3: Datum, + ) -> *mut CatCList; + pub fn ReleaseCatCacheList(list: *mut CatCList); + pub fn ResetCatalogCaches(); + pub fn ResetCatalogCachesExt(debug_discard: bool); + pub fn CatalogCacheFlushCatalog(catId: Oid); + pub fn CatCacheInvalidate(cache: *mut CatCache, hashValue: uint32); + pub fn PrepareToInvalidateCacheTuple( + relation: Relation, + tuple: HeapTuple, + newtuple: HeapTuple, + function: ::core::option::Option< + unsafe extern "C-unwind" fn( + arg1: ::core::ffi::c_int, + arg2: uint32, + arg3: Oid, + arg4: *mut ::core::ffi::c_void, + ), + >, + context: *mut ::core::ffi::c_void, + ); + pub fn InitCatalogCache(); + pub fn InitCatalogCachePhase2(); + pub fn SearchSysCache( + cacheId: ::core::ffi::c_int, + key1: Datum, + key2: Datum, + key3: Datum, + key4: Datum, + ) -> HeapTuple; + pub fn SearchSysCache1(cacheId: ::core::ffi::c_int, key1: Datum) -> HeapTuple; + pub fn SearchSysCache2(cacheId: ::core::ffi::c_int, key1: Datum, key2: Datum) -> HeapTuple; + pub fn SearchSysCache3( + cacheId: ::core::ffi::c_int, + key1: Datum, + key2: Datum, + key3: Datum, + ) -> HeapTuple; + pub fn SearchSysCache4( + cacheId: ::core::ffi::c_int, + key1: Datum, + key2: Datum, + key3: Datum, + key4: Datum, + ) -> HeapTuple; + pub fn ReleaseSysCache(tuple: HeapTuple); + pub fn SearchSysCacheLocked1(cacheId: ::core::ffi::c_int, key1: Datum) -> HeapTuple; + pub fn SearchSysCacheCopy( + cacheId: ::core::ffi::c_int, + key1: Datum, + key2: Datum, + key3: Datum, + key4: Datum, + ) -> HeapTuple; + pub fn SearchSysCacheLockedCopy1(cacheId: ::core::ffi::c_int, key1: Datum) -> HeapTuple; + pub fn SearchSysCacheExists( + cacheId: ::core::ffi::c_int, + key1: Datum, + key2: Datum, + key3: Datum, + key4: Datum, + ) -> bool; + pub fn GetSysCacheOid( + cacheId: ::core::ffi::c_int, + oidcol: AttrNumber, + key1: Datum, + key2: Datum, + key3: Datum, + key4: Datum, + ) -> Oid; + pub fn SearchSysCacheAttName(relid: Oid, attname: *const ::core::ffi::c_char) -> HeapTuple; + pub fn SearchSysCacheCopyAttName(relid: Oid, attname: *const ::core::ffi::c_char) -> HeapTuple; + pub fn SearchSysCacheExistsAttName(relid: Oid, attname: *const ::core::ffi::c_char) -> bool; + pub fn SearchSysCacheAttNum(relid: Oid, attnum: int16) -> HeapTuple; + pub fn SearchSysCacheCopyAttNum(relid: Oid, attnum: int16) -> HeapTuple; + pub fn SysCacheGetAttr( + cacheId: ::core::ffi::c_int, + tup: HeapTuple, + attributeNumber: AttrNumber, + isNull: *mut bool, + ) -> Datum; + pub fn SysCacheGetAttrNotNull( + cacheId: ::core::ffi::c_int, + tup: HeapTuple, + attributeNumber: AttrNumber, + ) -> Datum; + pub fn GetSysCacheHashValue( + cacheId: ::core::ffi::c_int, + key1: Datum, + key2: Datum, + key3: Datum, + key4: Datum, + ) -> uint32; + pub fn SearchSysCacheList( + cacheId: ::core::ffi::c_int, + nkeys: ::core::ffi::c_int, + key1: Datum, + key2: Datum, + key3: Datum, + ) -> *mut catclist; + pub fn SysCacheInvalidate(cacheId: ::core::ffi::c_int, hashValue: uint32); + pub fn RelationInvalidatesSnapshotsOnly(relid: Oid) -> bool; + pub fn RelationHasSysCache(relid: Oid) -> bool; + pub fn RelationSupportsSysCache(relid: Oid) -> bool; + pub fn range_contains_elem_internal( + typcache: *mut TypeCacheEntry, + r: *const RangeType, + val: Datum, + ) -> bool; + pub fn range_eq_internal( + typcache: *mut TypeCacheEntry, + r1: *const RangeType, + r2: *const RangeType, + ) -> bool; + pub fn range_ne_internal( + typcache: *mut TypeCacheEntry, + r1: *const RangeType, + r2: *const RangeType, + ) -> bool; + pub fn range_contains_internal( + typcache: *mut TypeCacheEntry, + r1: *const RangeType, + r2: *const RangeType, + ) -> bool; + pub fn range_contained_by_internal( + typcache: *mut TypeCacheEntry, + r1: *const RangeType, + r2: *const RangeType, + ) -> bool; + pub fn range_before_internal( + typcache: *mut TypeCacheEntry, + r1: *const RangeType, + r2: *const RangeType, + ) -> bool; + pub fn range_after_internal( + typcache: *mut TypeCacheEntry, + r1: *const RangeType, + r2: *const RangeType, + ) -> bool; + pub fn range_adjacent_internal( + typcache: *mut TypeCacheEntry, + r1: *const RangeType, + r2: *const RangeType, + ) -> bool; + pub fn range_overlaps_internal( + typcache: *mut TypeCacheEntry, + r1: *const RangeType, + r2: *const RangeType, + ) -> bool; + pub fn range_overleft_internal( + typcache: *mut TypeCacheEntry, + r1: *const RangeType, + r2: *const RangeType, + ) -> bool; + pub fn range_overright_internal( + typcache: *mut TypeCacheEntry, + r1: *const RangeType, + r2: *const RangeType, + ) -> bool; + pub fn range_union_internal( + typcache: *mut TypeCacheEntry, + r1: *mut RangeType, + r2: *mut RangeType, + strict: bool, + ) -> *mut RangeType; + pub fn range_minus_internal( + typcache: *mut TypeCacheEntry, + r1: *mut RangeType, + r2: *mut RangeType, + ) -> *mut RangeType; + pub fn range_intersect_internal( + typcache: *mut TypeCacheEntry, + r1: *const RangeType, + r2: *const RangeType, + ) -> *mut RangeType; + pub fn range_get_typcache(fcinfo: FunctionCallInfo, rngtypid: Oid) -> *mut TypeCacheEntry; + pub fn range_serialize( + typcache: *mut TypeCacheEntry, + lower: *mut RangeBound, + upper: *mut RangeBound, + empty: bool, + escontext: *mut Node, + ) -> *mut RangeType; + pub fn range_deserialize( + typcache: *mut TypeCacheEntry, + range: *const RangeType, + lower: *mut RangeBound, + upper: *mut RangeBound, + empty: *mut bool, + ); + pub fn range_get_flags(range: *const RangeType) -> ::core::ffi::c_char; + pub fn range_set_contain_empty(range: *mut RangeType); + pub fn make_range( + typcache: *mut TypeCacheEntry, + lower: *mut RangeBound, + upper: *mut RangeBound, + empty: bool, + escontext: *mut Node, + ) -> *mut RangeType; + pub fn range_cmp_bounds( + typcache: *mut TypeCacheEntry, + b1: *const RangeBound, + b2: *const RangeBound, + ) -> ::core::ffi::c_int; + pub fn range_cmp_bound_values( + typcache: *mut TypeCacheEntry, + b1: *const RangeBound, + b2: *const RangeBound, + ) -> ::core::ffi::c_int; + pub fn range_compare( + key1: *const ::core::ffi::c_void, + key2: *const ::core::ffi::c_void, + arg: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int; + pub fn bounds_adjacent( + typcache: *mut TypeCacheEntry, + boundA: RangeBound, + boundB: RangeBound, + ) -> bool; + pub fn make_empty_range(typcache: *mut TypeCacheEntry) -> *mut RangeType; + pub fn range_split_internal( + typcache: *mut TypeCacheEntry, + r1: *const RangeType, + r2: *const RangeType, + output1: *mut *mut RangeType, + output2: *mut *mut RangeType, + ) -> bool; + pub fn varstr_cmp( + arg1: *const ::core::ffi::c_char, + len1: ::core::ffi::c_int, + arg2: *const ::core::ffi::c_char, + len2: ::core::ffi::c_int, + collid: Oid, + ) -> ::core::ffi::c_int; + pub fn varstr_sortsupport(ssup: SortSupport, typid: Oid, collid: Oid); + pub fn varstr_levenshtein( + source: *const ::core::ffi::c_char, + slen: ::core::ffi::c_int, + target: *const ::core::ffi::c_char, + tlen: ::core::ffi::c_int, + ins_c: ::core::ffi::c_int, + del_c: ::core::ffi::c_int, + sub_c: ::core::ffi::c_int, + trusted: bool, + ) -> ::core::ffi::c_int; + pub fn varstr_levenshtein_less_equal( + source: *const ::core::ffi::c_char, + slen: ::core::ffi::c_int, + target: *const ::core::ffi::c_char, + tlen: ::core::ffi::c_int, + ins_c: ::core::ffi::c_int, + del_c: ::core::ffi::c_int, + sub_c: ::core::ffi::c_int, + max_d: ::core::ffi::c_int, + trusted: bool, + ) -> ::core::ffi::c_int; + pub fn textToQualifiedNameList(textval: *mut text) -> *mut List; + pub fn SplitIdentifierString( + rawstring: *mut ::core::ffi::c_char, + separator: ::core::ffi::c_char, + namelist: *mut *mut List, + ) -> bool; + pub fn SplitDirectoriesString( + rawstring: *mut ::core::ffi::c_char, + separator: ::core::ffi::c_char, + namelist: *mut *mut List, + ) -> bool; + pub fn SplitGUCList( + rawstring: *mut ::core::ffi::c_char, + separator: ::core::ffi::c_char, + namelist: *mut *mut List, + ) -> bool; + pub fn replace_text_regexp( + src_text: *mut text, + pattern_text: *mut text, + replace_text: *mut text, + cflags: ::core::ffi::c_int, + collation: Oid, + search_start: ::core::ffi::c_int, + n: ::core::ffi::c_int, + ) -> *mut text; + pub fn initClosestMatch( + state: *mut ClosestMatchState, + source: *const ::core::ffi::c_char, + max_d: ::core::ffi::c_int, + ); + pub fn updateClosestMatch(state: *mut ClosestMatchState, candidate: *const ::core::ffi::c_char); + pub fn getClosestMatch(state: *mut ClosestMatchState) -> *const ::core::ffi::c_char; +} +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_OP")] +pub const A_Expr_Kind_AEXPR_OP: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_OP_ANY")] +pub const A_Expr_Kind_AEXPR_OP_ANY: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_OP_ALL")] +pub const A_Expr_Kind_AEXPR_OP_ALL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_DISTINCT")] +pub const A_Expr_Kind_AEXPR_DISTINCT: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_NOT_DISTINCT")] +pub const A_Expr_Kind_AEXPR_NOT_DISTINCT: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_NULLIF")] +pub const A_Expr_Kind_AEXPR_NULLIF: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_IN")] +pub const A_Expr_Kind_AEXPR_IN: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_LIKE")] +pub const A_Expr_Kind_AEXPR_LIKE: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_ILIKE")] +pub const A_Expr_Kind_AEXPR_ILIKE: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_SIMILAR")] +pub const A_Expr_Kind_AEXPR_SIMILAR: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_BETWEEN")] +pub const A_Expr_Kind_AEXPR_BETWEEN: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_NOT_BETWEEN")] +pub const A_Expr_Kind_AEXPR_NOT_BETWEEN: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_BETWEEN_SYM")] +pub const A_Expr_Kind_AEXPR_BETWEEN_SYM: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::A_Expr_Kind::AEXPR_NOT_BETWEEN_SYM")] +pub const A_Expr_Kind_AEXPR_NOT_BETWEEN_SYM: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AclMaskHow::ACLMASK_ALL")] +pub const AclMaskHow_ACLMASK_ALL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AclMaskHow::ACLMASK_ANY")] +pub const AclMaskHow_ACLMASK_ANY: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AclResult::ACLCHECK_OK")] +pub const AclResult_ACLCHECK_OK: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AclResult::ACLCHECK_NO_PRIV")] +pub const AclResult_ACLCHECK_NO_PRIV: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AclResult::ACLCHECK_NOT_OWNER")] +pub const AclResult_ACLCHECK_NOT_OWNER: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AggSplit::AGGSPLIT_SIMPLE")] +pub const AggSplit_AGGSPLIT_SIMPLE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AggSplit::AGGSPLIT_INITIAL_SERIAL")] +pub const AggSplit_AGGSPLIT_INITIAL_SERIAL: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AggSplit::AGGSPLIT_FINAL_DESERIAL")] +pub const AggSplit_AGGSPLIT_FINAL_DESERIAL: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AggStrategy::AGG_PLAIN")] +pub const AggStrategy_AGG_PLAIN: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AggStrategy::AGG_SORTED")] +pub const AggStrategy_AGG_SORTED: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AggStrategy::AGG_HASHED")] +pub const AggStrategy_AGG_HASHED: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AggStrategy::AGG_MIXED")] +pub const AggStrategy_AGG_MIXED: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterPublicationAction::AP_AddObjects")] +pub const AlterPublicationAction_AP_AddObjects: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterPublicationAction::AP_DropObjects")] +pub const AlterPublicationAction_AP_DropObjects: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterPublicationAction::AP_SetObjects")] +pub const AlterPublicationAction_AP_SetObjects: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterSubscriptionType::ALTER_SUBSCRIPTION_OPTIONS" +)] +pub const AlterSubscriptionType_ALTER_SUBSCRIPTION_OPTIONS: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterSubscriptionType::ALTER_SUBSCRIPTION_CONNECTION" +)] +pub const AlterSubscriptionType_ALTER_SUBSCRIPTION_CONNECTION: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterSubscriptionType::ALTER_SUBSCRIPTION_SET_PUBLICATION" +)] +pub const AlterSubscriptionType_ALTER_SUBSCRIPTION_SET_PUBLICATION: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterSubscriptionType::ALTER_SUBSCRIPTION_ADD_PUBLICATION" +)] +pub const AlterSubscriptionType_ALTER_SUBSCRIPTION_ADD_PUBLICATION: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterSubscriptionType::ALTER_SUBSCRIPTION_DROP_PUBLICATION" +)] +pub const AlterSubscriptionType_ALTER_SUBSCRIPTION_DROP_PUBLICATION: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterSubscriptionType::ALTER_SUBSCRIPTION_REFRESH" +)] +pub const AlterSubscriptionType_ALTER_SUBSCRIPTION_REFRESH: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterSubscriptionType::ALTER_SUBSCRIPTION_ENABLED" +)] +pub const AlterSubscriptionType_ALTER_SUBSCRIPTION_ENABLED: u32 = 6; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterSubscriptionType::ALTER_SUBSCRIPTION_SKIP" +)] +pub const AlterSubscriptionType_ALTER_SUBSCRIPTION_SKIP: u32 = 7; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterTSConfigType::ALTER_TSCONFIG_ADD_MAPPING" +)] +pub const AlterTSConfigType_ALTER_TSCONFIG_ADD_MAPPING: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterTSConfigType::ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN" +)] +pub const AlterTSConfigType_ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterTSConfigType::ALTER_TSCONFIG_REPLACE_DICT" +)] +pub const AlterTSConfigType_ALTER_TSCONFIG_REPLACE_DICT: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterTSConfigType::ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN" +)] +pub const AlterTSConfigType_ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterTSConfigType::ALTER_TSCONFIG_DROP_MAPPING" +)] +pub const AlterTSConfigType_ALTER_TSCONFIG_DROP_MAPPING: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_AddColumn")] +pub const AlterTableType_AT_AddColumn: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_AddColumnToView")] +pub const AlterTableType_AT_AddColumnToView: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ColumnDefault")] +pub const AlterTableType_AT_ColumnDefault: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_CookedColumnDefault")] +pub const AlterTableType_AT_CookedColumnDefault: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DropNotNull")] +pub const AlterTableType_AT_DropNotNull: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_SetNotNull")] +pub const AlterTableType_AT_SetNotNull: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_SetExpression")] +pub const AlterTableType_AT_SetExpression: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DropExpression")] +pub const AlterTableType_AT_DropExpression: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_SetStatistics")] +pub const AlterTableType_AT_SetStatistics: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_SetOptions")] +pub const AlterTableType_AT_SetOptions: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ResetOptions")] +pub const AlterTableType_AT_ResetOptions: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_SetStorage")] +pub const AlterTableType_AT_SetStorage: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_SetCompression")] +pub const AlterTableType_AT_SetCompression: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DropColumn")] +pub const AlterTableType_AT_DropColumn: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_AddIndex")] +pub const AlterTableType_AT_AddIndex: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ReAddIndex")] +pub const AlterTableType_AT_ReAddIndex: u32 = 15; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_AddConstraint")] +pub const AlterTableType_AT_AddConstraint: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ReAddConstraint")] +pub const AlterTableType_AT_ReAddConstraint: u32 = 17; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ReAddDomainConstraint")] +pub const AlterTableType_AT_ReAddDomainConstraint: u32 = 18; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_AlterConstraint")] +pub const AlterTableType_AT_AlterConstraint: u32 = 19; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ValidateConstraint")] +pub const AlterTableType_AT_ValidateConstraint: u32 = 20; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_AddIndexConstraint")] +pub const AlterTableType_AT_AddIndexConstraint: u32 = 21; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DropConstraint")] +pub const AlterTableType_AT_DropConstraint: u32 = 22; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ReAddComment")] +pub const AlterTableType_AT_ReAddComment: u32 = 23; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_AlterColumnType")] +pub const AlterTableType_AT_AlterColumnType: u32 = 24; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterTableType::AT_AlterColumnGenericOptions" +)] +pub const AlterTableType_AT_AlterColumnGenericOptions: u32 = 25; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ChangeOwner")] +pub const AlterTableType_AT_ChangeOwner: u32 = 26; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ClusterOn")] +pub const AlterTableType_AT_ClusterOn: u32 = 27; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DropCluster")] +pub const AlterTableType_AT_DropCluster: u32 = 28; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_SetLogged")] +pub const AlterTableType_AT_SetLogged: u32 = 29; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_SetUnLogged")] +pub const AlterTableType_AT_SetUnLogged: u32 = 30; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DropOids")] +pub const AlterTableType_AT_DropOids: u32 = 31; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_SetAccessMethod")] +pub const AlterTableType_AT_SetAccessMethod: u32 = 32; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_SetTableSpace")] +pub const AlterTableType_AT_SetTableSpace: u32 = 33; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_SetRelOptions")] +pub const AlterTableType_AT_SetRelOptions: u32 = 34; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ResetRelOptions")] +pub const AlterTableType_AT_ResetRelOptions: u32 = 35; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ReplaceRelOptions")] +pub const AlterTableType_AT_ReplaceRelOptions: u32 = 36; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_EnableTrig")] +pub const AlterTableType_AT_EnableTrig: u32 = 37; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_EnableAlwaysTrig")] +pub const AlterTableType_AT_EnableAlwaysTrig: u32 = 38; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_EnableReplicaTrig")] +pub const AlterTableType_AT_EnableReplicaTrig: u32 = 39; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DisableTrig")] +pub const AlterTableType_AT_DisableTrig: u32 = 40; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_EnableTrigAll")] +pub const AlterTableType_AT_EnableTrigAll: u32 = 41; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DisableTrigAll")] +pub const AlterTableType_AT_DisableTrigAll: u32 = 42; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_EnableTrigUser")] +pub const AlterTableType_AT_EnableTrigUser: u32 = 43; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DisableTrigUser")] +pub const AlterTableType_AT_DisableTrigUser: u32 = 44; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_EnableRule")] +pub const AlterTableType_AT_EnableRule: u32 = 45; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_EnableAlwaysRule")] +pub const AlterTableType_AT_EnableAlwaysRule: u32 = 46; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_EnableReplicaRule")] +pub const AlterTableType_AT_EnableReplicaRule: u32 = 47; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DisableRule")] +pub const AlterTableType_AT_DisableRule: u32 = 48; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_AddInherit")] +pub const AlterTableType_AT_AddInherit: u32 = 49; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DropInherit")] +pub const AlterTableType_AT_DropInherit: u32 = 50; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_AddOf")] +pub const AlterTableType_AT_AddOf: u32 = 51; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DropOf")] +pub const AlterTableType_AT_DropOf: u32 = 52; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ReplicaIdentity")] +pub const AlterTableType_AT_ReplicaIdentity: u32 = 53; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_EnableRowSecurity")] +pub const AlterTableType_AT_EnableRowSecurity: u32 = 54; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DisableRowSecurity")] +pub const AlterTableType_AT_DisableRowSecurity: u32 = 55; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ForceRowSecurity")] +pub const AlterTableType_AT_ForceRowSecurity: u32 = 56; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_NoForceRowSecurity")] +pub const AlterTableType_AT_NoForceRowSecurity: u32 = 57; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_GenericOptions")] +pub const AlterTableType_AT_GenericOptions: u32 = 58; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_AttachPartition")] +pub const AlterTableType_AT_AttachPartition: u32 = 59; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DetachPartition")] +pub const AlterTableType_AT_DetachPartition: u32 = 60; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::AlterTableType::AT_DetachPartitionFinalize" +)] +pub const AlterTableType_AT_DetachPartitionFinalize: u32 = 61; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_AddIdentity")] +pub const AlterTableType_AT_AddIdentity: u32 = 62; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_SetIdentity")] +pub const AlterTableType_AT_SetIdentity: u32 = 63; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_DropIdentity")] +pub const AlterTableType_AT_DropIdentity: u32 = 64; +#[deprecated(since = "0.12.0", note = "you want pg_sys::AlterTableType::AT_ReAddStatistics")] +pub const AlterTableType_AT_ReAddStatistics: u32 = 65; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ArchiveMode::ARCHIVE_MODE_OFF")] +pub const ArchiveMode_ARCHIVE_MODE_OFF: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ArchiveMode::ARCHIVE_MODE_ON")] +pub const ArchiveMode_ARCHIVE_MODE_ON: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ArchiveMode::ARCHIVE_MODE_ALWAYS")] +pub const ArchiveMode_ARCHIVE_MODE_ALWAYS: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BMS_Comparison::BMS_EQUAL")] +pub const BMS_Comparison_BMS_EQUAL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BMS_Comparison::BMS_SUBSET1")] +pub const BMS_Comparison_BMS_SUBSET1: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BMS_Comparison::BMS_SUBSET2")] +pub const BMS_Comparison_BMS_SUBSET2: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BMS_Comparison::BMS_DIFFERENT")] +pub const BMS_Comparison_BMS_DIFFERENT: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BMS_Membership::BMS_EMPTY_SET")] +pub const BMS_Membership_BMS_EMPTY_SET: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BMS_Membership::BMS_SINGLETON")] +pub const BMS_Membership_BMS_SINGLETON: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BMS_Membership::BMS_MULTIPLE")] +pub const BMS_Membership_BMS_MULTIPLE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendState::STATE_UNDEFINED")] +pub const BackendState_STATE_UNDEFINED: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendState::STATE_STARTING")] +pub const BackendState_STATE_STARTING: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendState::STATE_IDLE")] +pub const BackendState_STATE_IDLE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendState::STATE_RUNNING")] +pub const BackendState_STATE_RUNNING: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendState::STATE_IDLEINTRANSACTION")] +pub const BackendState_STATE_IDLEINTRANSACTION: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendState::STATE_FASTPATH")] +pub const BackendState_STATE_FASTPATH: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BackendState::STATE_IDLEINTRANSACTION_ABORTED" +)] +pub const BackendState_STATE_IDLEINTRANSACTION_ABORTED: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendState::STATE_DISABLED")] +pub const BackendState_STATE_DISABLED: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_INVALID")] +pub const BackendType_B_INVALID: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_BACKEND")] +pub const BackendType_B_BACKEND: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_DEAD_END_BACKEND")] +pub const BackendType_B_DEAD_END_BACKEND: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_AUTOVAC_LAUNCHER")] +pub const BackendType_B_AUTOVAC_LAUNCHER: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_AUTOVAC_WORKER")] +pub const BackendType_B_AUTOVAC_WORKER: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_BG_WORKER")] +pub const BackendType_B_BG_WORKER: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_WAL_SENDER")] +pub const BackendType_B_WAL_SENDER: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_SLOTSYNC_WORKER")] +pub const BackendType_B_SLOTSYNC_WORKER: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_STANDALONE_BACKEND")] +pub const BackendType_B_STANDALONE_BACKEND: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_ARCHIVER")] +pub const BackendType_B_ARCHIVER: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_BG_WRITER")] +pub const BackendType_B_BG_WRITER: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_CHECKPOINTER")] +pub const BackendType_B_CHECKPOINTER: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_IO_WORKER")] +pub const BackendType_B_IO_WORKER: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_STARTUP")] +pub const BackendType_B_STARTUP: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_WAL_RECEIVER")] +pub const BackendType_B_WAL_RECEIVER: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_WAL_SUMMARIZER")] +pub const BackendType_B_WAL_SUMMARIZER: u32 = 15; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_WAL_WRITER")] +pub const BackendType_B_WAL_WRITER: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackendType::B_LOGGER")] +pub const BackendType_B_LOGGER: u32 = 17; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackslashQuoteType::BACKSLASH_QUOTE_OFF")] +pub const BackslashQuoteType_BACKSLASH_QUOTE_OFF: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BackslashQuoteType::BACKSLASH_QUOTE_ON")] +pub const BackslashQuoteType_BACKSLASH_QUOTE_ON: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BackslashQuoteType::BACKSLASH_QUOTE_SAFE_ENCODING" +)] +pub const BackslashQuoteType_BACKSLASH_QUOTE_SAFE_ENCODING: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BgWorkerStartTime::BgWorkerStart_PostmasterStart" +)] +pub const BgWorkerStartTime_BgWorkerStart_PostmasterStart: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BgWorkerStartTime::BgWorkerStart_ConsistentState" +)] +pub const BgWorkerStartTime_BgWorkerStart_ConsistentState: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BgWorkerStartTime::BgWorkerStart_RecoveryFinished" +)] +pub const BgWorkerStartTime_BgWorkerStart_RecoveryFinished: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BgwHandleStatus::BGWH_STARTED")] +pub const BgwHandleStatus_BGWH_STARTED: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BgwHandleStatus::BGWH_NOT_YET_STARTED")] +pub const BgwHandleStatus_BGWH_NOT_YET_STARTED: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BgwHandleStatus::BGWH_STOPPED")] +pub const BgwHandleStatus_BGWH_STOPPED: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BgwHandleStatus::BGWH_POSTMASTER_DIED")] +pub const BgwHandleStatus_BGWH_POSTMASTER_DIED: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BoolExprType::AND_EXPR")] +pub const BoolExprType_AND_EXPR: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BoolExprType::OR_EXPR")] +pub const BoolExprType_OR_EXPR: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BoolExprType::NOT_EXPR")] +pub const BoolExprType_NOT_EXPR: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BoolTestType::IS_TRUE")] +pub const BoolTestType_IS_TRUE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BoolTestType::IS_NOT_TRUE")] +pub const BoolTestType_IS_NOT_TRUE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BoolTestType::IS_FALSE")] +pub const BoolTestType_IS_FALSE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BoolTestType::IS_NOT_FALSE")] +pub const BoolTestType_IS_NOT_FALSE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BoolTestType::IS_UNKNOWN")] +pub const BoolTestType_IS_UNKNOWN: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BoolTestType::IS_NOT_UNKNOWN")] +pub const BoolTestType_IS_NOT_UNKNOWN: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BufferAccessStrategyType::BAS_NORMAL")] +pub const BufferAccessStrategyType_BAS_NORMAL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BufferAccessStrategyType::BAS_BULKREAD")] +pub const BufferAccessStrategyType_BAS_BULKREAD: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BufferAccessStrategyType::BAS_BULKWRITE")] +pub const BufferAccessStrategyType_BAS_BULKWRITE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BufferAccessStrategyType::BAS_VACUUM")] +pub const BufferAccessStrategyType_BAS_VACUUM: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_XACT_BUFFER")] +pub const BuiltinTrancheIds_LWTRANCHE_XACT_BUFFER: u32 = 54; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_COMMITTS_BUFFER" +)] +pub const BuiltinTrancheIds_LWTRANCHE_COMMITTS_BUFFER: u32 = 55; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_SUBTRANS_BUFFER" +)] +pub const BuiltinTrancheIds_LWTRANCHE_SUBTRANS_BUFFER: u32 = 56; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_MULTIXACTOFFSET_BUFFER" +)] +pub const BuiltinTrancheIds_LWTRANCHE_MULTIXACTOFFSET_BUFFER: u32 = 57; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_MULTIXACTMEMBER_BUFFER" +)] +pub const BuiltinTrancheIds_LWTRANCHE_MULTIXACTMEMBER_BUFFER: u32 = 58; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_NOTIFY_BUFFER" +)] +pub const BuiltinTrancheIds_LWTRANCHE_NOTIFY_BUFFER: u32 = 59; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_SERIAL_BUFFER" +)] +pub const BuiltinTrancheIds_LWTRANCHE_SERIAL_BUFFER: u32 = 60; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_WAL_INSERT")] +pub const BuiltinTrancheIds_LWTRANCHE_WAL_INSERT: u32 = 61; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_BUFFER_CONTENT" +)] +pub const BuiltinTrancheIds_LWTRANCHE_BUFFER_CONTENT: u32 = 62; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_REPLICATION_ORIGIN_STATE" +)] +pub const BuiltinTrancheIds_LWTRANCHE_REPLICATION_ORIGIN_STATE: u32 = 63; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_REPLICATION_SLOT_IO" +)] +pub const BuiltinTrancheIds_LWTRANCHE_REPLICATION_SLOT_IO: u32 = 64; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_LOCK_FASTPATH" +)] +pub const BuiltinTrancheIds_LWTRANCHE_LOCK_FASTPATH: u32 = 65; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_BUFFER_MAPPING" +)] +pub const BuiltinTrancheIds_LWTRANCHE_BUFFER_MAPPING: u32 = 66; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_LOCK_MANAGER")] +pub const BuiltinTrancheIds_LWTRANCHE_LOCK_MANAGER: u32 = 67; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PREDICATE_LOCK_MANAGER" +)] +pub const BuiltinTrancheIds_LWTRANCHE_PREDICATE_LOCK_MANAGER: u32 = 68; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PARALLEL_HASH_JOIN" +)] +pub const BuiltinTrancheIds_LWTRANCHE_PARALLEL_HASH_JOIN: u32 = 69; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PARALLEL_BTREE_SCAN" +)] +pub const BuiltinTrancheIds_LWTRANCHE_PARALLEL_BTREE_SCAN: u32 = 70; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PARALLEL_QUERY_DSA" +)] +pub const BuiltinTrancheIds_LWTRANCHE_PARALLEL_QUERY_DSA: u32 = 71; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PER_SESSION_DSA" +)] +pub const BuiltinTrancheIds_LWTRANCHE_PER_SESSION_DSA: u32 = 72; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PER_SESSION_RECORD_TYPE" +)] +pub const BuiltinTrancheIds_LWTRANCHE_PER_SESSION_RECORD_TYPE: u32 = 73; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PER_SESSION_RECORD_TYPMOD" +)] +pub const BuiltinTrancheIds_LWTRANCHE_PER_SESSION_RECORD_TYPMOD: u32 = 74; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_SHARED_TUPLESTORE" +)] +pub const BuiltinTrancheIds_LWTRANCHE_SHARED_TUPLESTORE: u32 = 75; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_SHARED_TIDBITMAP" +)] +pub const BuiltinTrancheIds_LWTRANCHE_SHARED_TIDBITMAP: u32 = 76; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PARALLEL_APPEND" +)] +pub const BuiltinTrancheIds_LWTRANCHE_PARALLEL_APPEND: u32 = 77; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PER_XACT_PREDICATE_LIST" +)] +pub const BuiltinTrancheIds_LWTRANCHE_PER_XACT_PREDICATE_LIST: u32 = 78; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PGSTATS_DSA")] +pub const BuiltinTrancheIds_LWTRANCHE_PGSTATS_DSA: u32 = 79; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PGSTATS_HASH")] +pub const BuiltinTrancheIds_LWTRANCHE_PGSTATS_HASH: u32 = 80; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PGSTATS_DATA")] +pub const BuiltinTrancheIds_LWTRANCHE_PGSTATS_DATA: u32 = 81; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_LAUNCHER_DSA")] +pub const BuiltinTrancheIds_LWTRANCHE_LAUNCHER_DSA: u32 = 82; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_LAUNCHER_HASH" +)] +pub const BuiltinTrancheIds_LWTRANCHE_LAUNCHER_HASH: u32 = 83; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_DSM_REGISTRY_DSA" +)] +pub const BuiltinTrancheIds_LWTRANCHE_DSM_REGISTRY_DSA: u32 = 84; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_DSM_REGISTRY_HASH" +)] +pub const BuiltinTrancheIds_LWTRANCHE_DSM_REGISTRY_HASH: u32 = 85; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_COMMITTS_SLRU" +)] +pub const BuiltinTrancheIds_LWTRANCHE_COMMITTS_SLRU: u32 = 86; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_MULTIXACTMEMBER_SLRU" +)] +pub const BuiltinTrancheIds_LWTRANCHE_MULTIXACTMEMBER_SLRU: u32 = 87; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_MULTIXACTOFFSET_SLRU" +)] +pub const BuiltinTrancheIds_LWTRANCHE_MULTIXACTOFFSET_SLRU: u32 = 88; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_NOTIFY_SLRU")] +pub const BuiltinTrancheIds_LWTRANCHE_NOTIFY_SLRU: u32 = 89; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_SERIAL_SLRU")] +pub const BuiltinTrancheIds_LWTRANCHE_SERIAL_SLRU: u32 = 90; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_SUBTRANS_SLRU" +)] +pub const BuiltinTrancheIds_LWTRANCHE_SUBTRANS_SLRU: u32 = 91; +#[deprecated(since = "0.12.0", note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_XACT_SLRU")] +pub const BuiltinTrancheIds_LWTRANCHE_XACT_SLRU: u32 = 92; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_PARALLEL_VACUUM_DSA" +)] +pub const BuiltinTrancheIds_LWTRANCHE_PARALLEL_VACUUM_DSA: u32 = 93; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_AIO_URING_COMPLETION" +)] +pub const BuiltinTrancheIds_LWTRANCHE_AIO_URING_COMPLETION: u32 = 94; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_MEMORY_CONTEXT_REPORTING_STATE" +)] +pub const BuiltinTrancheIds_LWTRANCHE_MEMORY_CONTEXT_REPORTING_STATE: u32 = 95; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_MEMORY_CONTEXT_REPORTING_PROC" +)] +pub const BuiltinTrancheIds_LWTRANCHE_MEMORY_CONTEXT_REPORTING_PROC: u32 = 96; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::BuiltinTrancheIds::LWTRANCHE_FIRST_USER_DEFINED" +)] +pub const BuiltinTrancheIds_LWTRANCHE_FIRST_USER_DEFINED: u32 = 97; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CRSSnapshotAction::CRS_EXPORT_SNAPSHOT")] +pub const CRSSnapshotAction_CRS_EXPORT_SNAPSHOT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CRSSnapshotAction::CRS_NOEXPORT_SNAPSHOT")] +pub const CRSSnapshotAction_CRS_NOEXPORT_SNAPSHOT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CRSSnapshotAction::CRS_USE_SNAPSHOT")] +pub const CRSSnapshotAction_CRS_USE_SNAPSHOT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CTEMaterialize::CTEMaterializeDefault")] +pub const CTEMaterialize_CTEMaterializeDefault: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CTEMaterialize::CTEMaterializeAlways")] +pub const CTEMaterialize_CTEMaterializeAlways: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CTEMaterialize::CTEMaterializeNever")] +pub const CTEMaterialize_CTEMaterializeNever: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CheckEnableRlsResult::RLS_NONE")] +pub const CheckEnableRlsResult_RLS_NONE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CheckEnableRlsResult::RLS_NONE_ENV")] +pub const CheckEnableRlsResult_RLS_NONE_ENV: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CheckEnableRlsResult::RLS_ENABLED")] +pub const CheckEnableRlsResult_RLS_ENABLED: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CmdType::CMD_UNKNOWN")] +pub const CmdType_CMD_UNKNOWN: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CmdType::CMD_SELECT")] +pub const CmdType_CMD_SELECT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CmdType::CMD_UPDATE")] +pub const CmdType_CMD_UPDATE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CmdType::CMD_INSERT")] +pub const CmdType_CMD_INSERT: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CmdType::CMD_DELETE")] +pub const CmdType_CMD_DELETE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CmdType::CMD_MERGE")] +pub const CmdType_CMD_MERGE: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CmdType::CMD_UTILITY")] +pub const CmdType_CMD_UTILITY: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CmdType::CMD_NOTHING")] +pub const CmdType_CMD_NOTHING: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CoercionContext::COERCION_IMPLICIT")] +pub const CoercionContext_COERCION_IMPLICIT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CoercionContext::COERCION_ASSIGNMENT")] +pub const CoercionContext_COERCION_ASSIGNMENT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CoercionContext::COERCION_PLPGSQL")] +pub const CoercionContext_COERCION_PLPGSQL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CoercionContext::COERCION_EXPLICIT")] +pub const CoercionContext_COERCION_EXPLICIT: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CoercionForm::COERCE_EXPLICIT_CALL")] +pub const CoercionForm_COERCE_EXPLICIT_CALL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CoercionForm::COERCE_EXPLICIT_CAST")] +pub const CoercionForm_COERCE_EXPLICIT_CAST: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CoercionForm::COERCE_IMPLICIT_CAST")] +pub const CoercionForm_COERCE_IMPLICIT_CAST: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CoercionForm::COERCE_SQL_SYNTAX")] +pub const CoercionForm_COERCE_SQL_SYNTAX: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CoercionPathType::COERCION_PATH_NONE")] +pub const CoercionPathType_COERCION_PATH_NONE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CoercionPathType::COERCION_PATH_FUNC")] +pub const CoercionPathType_COERCION_PATH_FUNC: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CoercionPathType::COERCION_PATH_RELABELTYPE" +)] +pub const CoercionPathType_COERCION_PATH_RELABELTYPE: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CoercionPathType::COERCION_PATH_ARRAYCOERCE" +)] +pub const CoercionPathType_COERCION_PATH_ARRAYCOERCE: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CoercionPathType::COERCION_PATH_COERCEVIAIO" +)] +pub const CoercionPathType_COERCION_PATH_COERCEVIAIO: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CollectedCommandType::SCT_Simple")] +pub const CollectedCommandType_SCT_Simple: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CollectedCommandType::SCT_AlterTable")] +pub const CollectedCommandType_SCT_AlterTable: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CollectedCommandType::SCT_Grant")] +pub const CollectedCommandType_SCT_Grant: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CollectedCommandType::SCT_AlterOpFamily")] +pub const CollectedCommandType_SCT_AlterOpFamily: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CollectedCommandType::SCT_AlterDefaultPrivileges" +)] +pub const CollectedCommandType_SCT_AlterDefaultPrivileges: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CollectedCommandType::SCT_CreateOpClass")] +pub const CollectedCommandType_SCT_CreateOpClass: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CollectedCommandType::SCT_AlterTSConfig")] +pub const CollectedCommandType_SCT_AlterTSConfig: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestNone")] +pub const CommandDest_DestNone: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestDebug")] +pub const CommandDest_DestDebug: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestRemote")] +pub const CommandDest_DestRemote: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestRemoteExecute")] +pub const CommandDest_DestRemoteExecute: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestRemoteSimple")] +pub const CommandDest_DestRemoteSimple: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestSPI")] +pub const CommandDest_DestSPI: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestTuplestore")] +pub const CommandDest_DestTuplestore: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestIntoRel")] +pub const CommandDest_DestIntoRel: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestCopyOut")] +pub const CommandDest_DestCopyOut: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestSQLFunction")] +pub const CommandDest_DestSQLFunction: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestTransientRel")] +pub const CommandDest_DestTransientRel: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestTupleQueue")] +pub const CommandDest_DestTupleQueue: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandDest::DestExplainSerialize")] +pub const CommandDest_DestExplainSerialize: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_UNKNOWN")] +pub const CommandTag_CMDTAG_UNKNOWN: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_ACCESS_METHOD")] +pub const CommandTag_CMDTAG_ALTER_ACCESS_METHOD: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_AGGREGATE")] +pub const CommandTag_CMDTAG_ALTER_AGGREGATE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_CAST")] +pub const CommandTag_CMDTAG_ALTER_CAST: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_COLLATION")] +pub const CommandTag_CMDTAG_ALTER_COLLATION: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_CONSTRAINT")] +pub const CommandTag_CMDTAG_ALTER_CONSTRAINT: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_CONVERSION")] +pub const CommandTag_CMDTAG_ALTER_CONVERSION: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_DATABASE")] +pub const CommandTag_CMDTAG_ALTER_DATABASE: u32 = 7; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_ALTER_DEFAULT_PRIVILEGES" +)] +pub const CommandTag_CMDTAG_ALTER_DEFAULT_PRIVILEGES: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_DOMAIN")] +pub const CommandTag_CMDTAG_ALTER_DOMAIN: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_EVENT_TRIGGER")] +pub const CommandTag_CMDTAG_ALTER_EVENT_TRIGGER: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_EXTENSION")] +pub const CommandTag_CMDTAG_ALTER_EXTENSION: u32 = 11; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_ALTER_FOREIGN_DATA_WRAPPER" +)] +pub const CommandTag_CMDTAG_ALTER_FOREIGN_DATA_WRAPPER: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_FOREIGN_TABLE")] +pub const CommandTag_CMDTAG_ALTER_FOREIGN_TABLE: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_FUNCTION")] +pub const CommandTag_CMDTAG_ALTER_FUNCTION: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_INDEX")] +pub const CommandTag_CMDTAG_ALTER_INDEX: u32 = 15; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_LANGUAGE")] +pub const CommandTag_CMDTAG_ALTER_LANGUAGE: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_LARGE_OBJECT")] +pub const CommandTag_CMDTAG_ALTER_LARGE_OBJECT: u32 = 17; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_ALTER_MATERIALIZED_VIEW" +)] +pub const CommandTag_CMDTAG_ALTER_MATERIALIZED_VIEW: u32 = 18; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_OPERATOR")] +pub const CommandTag_CMDTAG_ALTER_OPERATOR: u32 = 19; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_OPERATOR_CLASS")] +pub const CommandTag_CMDTAG_ALTER_OPERATOR_CLASS: u32 = 20; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_OPERATOR_FAMILY")] +pub const CommandTag_CMDTAG_ALTER_OPERATOR_FAMILY: u32 = 21; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_POLICY")] +pub const CommandTag_CMDTAG_ALTER_POLICY: u32 = 22; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_PROCEDURE")] +pub const CommandTag_CMDTAG_ALTER_PROCEDURE: u32 = 23; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_PUBLICATION")] +pub const CommandTag_CMDTAG_ALTER_PUBLICATION: u32 = 24; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_ROLE")] +pub const CommandTag_CMDTAG_ALTER_ROLE: u32 = 25; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_ROUTINE")] +pub const CommandTag_CMDTAG_ALTER_ROUTINE: u32 = 26; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_RULE")] +pub const CommandTag_CMDTAG_ALTER_RULE: u32 = 27; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_SCHEMA")] +pub const CommandTag_CMDTAG_ALTER_SCHEMA: u32 = 28; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_SEQUENCE")] +pub const CommandTag_CMDTAG_ALTER_SEQUENCE: u32 = 29; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_SERVER")] +pub const CommandTag_CMDTAG_ALTER_SERVER: u32 = 30; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_STATISTICS")] +pub const CommandTag_CMDTAG_ALTER_STATISTICS: u32 = 31; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_SUBSCRIPTION")] +pub const CommandTag_CMDTAG_ALTER_SUBSCRIPTION: u32 = 32; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_SYSTEM")] +pub const CommandTag_CMDTAG_ALTER_SYSTEM: u32 = 33; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_TABLE")] +pub const CommandTag_CMDTAG_ALTER_TABLE: u32 = 34; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_TABLESPACE")] +pub const CommandTag_CMDTAG_ALTER_TABLESPACE: u32 = 35; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_ALTER_TEXT_SEARCH_CONFIGURATION" +)] +pub const CommandTag_CMDTAG_ALTER_TEXT_SEARCH_CONFIGURATION: u32 = 36; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_ALTER_TEXT_SEARCH_DICTIONARY" +)] +pub const CommandTag_CMDTAG_ALTER_TEXT_SEARCH_DICTIONARY: u32 = 37; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_ALTER_TEXT_SEARCH_PARSER" +)] +pub const CommandTag_CMDTAG_ALTER_TEXT_SEARCH_PARSER: u32 = 38; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_ALTER_TEXT_SEARCH_TEMPLATE" +)] +pub const CommandTag_CMDTAG_ALTER_TEXT_SEARCH_TEMPLATE: u32 = 39; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_TRANSFORM")] +pub const CommandTag_CMDTAG_ALTER_TRANSFORM: u32 = 40; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_TRIGGER")] +pub const CommandTag_CMDTAG_ALTER_TRIGGER: u32 = 41; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_TYPE")] +pub const CommandTag_CMDTAG_ALTER_TYPE: u32 = 42; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_USER_MAPPING")] +pub const CommandTag_CMDTAG_ALTER_USER_MAPPING: u32 = 43; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ALTER_VIEW")] +pub const CommandTag_CMDTAG_ALTER_VIEW: u32 = 44; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ANALYZE")] +pub const CommandTag_CMDTAG_ANALYZE: u32 = 45; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_BEGIN")] +pub const CommandTag_CMDTAG_BEGIN: u32 = 46; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CALL")] +pub const CommandTag_CMDTAG_CALL: u32 = 47; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CHECKPOINT")] +pub const CommandTag_CMDTAG_CHECKPOINT: u32 = 48; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CLOSE")] +pub const CommandTag_CMDTAG_CLOSE: u32 = 49; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CLOSE_CURSOR")] +pub const CommandTag_CMDTAG_CLOSE_CURSOR: u32 = 50; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CLOSE_CURSOR_ALL")] +pub const CommandTag_CMDTAG_CLOSE_CURSOR_ALL: u32 = 51; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CLUSTER")] +pub const CommandTag_CMDTAG_CLUSTER: u32 = 52; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_COMMENT")] +pub const CommandTag_CMDTAG_COMMENT: u32 = 53; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_COMMIT")] +pub const CommandTag_CMDTAG_COMMIT: u32 = 54; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_COMMIT_PREPARED")] +pub const CommandTag_CMDTAG_COMMIT_PREPARED: u32 = 55; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_COPY")] +pub const CommandTag_CMDTAG_COPY: u32 = 56; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_COPY_FROM")] +pub const CommandTag_CMDTAG_COPY_FROM: u32 = 57; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_ACCESS_METHOD")] +pub const CommandTag_CMDTAG_CREATE_ACCESS_METHOD: u32 = 58; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_AGGREGATE")] +pub const CommandTag_CMDTAG_CREATE_AGGREGATE: u32 = 59; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_CAST")] +pub const CommandTag_CMDTAG_CREATE_CAST: u32 = 60; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_COLLATION")] +pub const CommandTag_CMDTAG_CREATE_COLLATION: u32 = 61; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_CONSTRAINT")] +pub const CommandTag_CMDTAG_CREATE_CONSTRAINT: u32 = 62; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_CONVERSION")] +pub const CommandTag_CMDTAG_CREATE_CONVERSION: u32 = 63; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_DATABASE")] +pub const CommandTag_CMDTAG_CREATE_DATABASE: u32 = 64; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_DOMAIN")] +pub const CommandTag_CMDTAG_CREATE_DOMAIN: u32 = 65; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_EVENT_TRIGGER")] +pub const CommandTag_CMDTAG_CREATE_EVENT_TRIGGER: u32 = 66; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_EXTENSION")] +pub const CommandTag_CMDTAG_CREATE_EXTENSION: u32 = 67; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_CREATE_FOREIGN_DATA_WRAPPER" +)] +pub const CommandTag_CMDTAG_CREATE_FOREIGN_DATA_WRAPPER: u32 = 68; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_FOREIGN_TABLE")] +pub const CommandTag_CMDTAG_CREATE_FOREIGN_TABLE: u32 = 69; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_FUNCTION")] +pub const CommandTag_CMDTAG_CREATE_FUNCTION: u32 = 70; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_INDEX")] +pub const CommandTag_CMDTAG_CREATE_INDEX: u32 = 71; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_LANGUAGE")] +pub const CommandTag_CMDTAG_CREATE_LANGUAGE: u32 = 72; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_CREATE_MATERIALIZED_VIEW" +)] +pub const CommandTag_CMDTAG_CREATE_MATERIALIZED_VIEW: u32 = 73; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_OPERATOR")] +pub const CommandTag_CMDTAG_CREATE_OPERATOR: u32 = 74; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_OPERATOR_CLASS")] +pub const CommandTag_CMDTAG_CREATE_OPERATOR_CLASS: u32 = 75; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_OPERATOR_FAMILY")] +pub const CommandTag_CMDTAG_CREATE_OPERATOR_FAMILY: u32 = 76; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_POLICY")] +pub const CommandTag_CMDTAG_CREATE_POLICY: u32 = 77; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_PROCEDURE")] +pub const CommandTag_CMDTAG_CREATE_PROCEDURE: u32 = 78; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_PUBLICATION")] +pub const CommandTag_CMDTAG_CREATE_PUBLICATION: u32 = 79; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_ROLE")] +pub const CommandTag_CMDTAG_CREATE_ROLE: u32 = 80; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_ROUTINE")] +pub const CommandTag_CMDTAG_CREATE_ROUTINE: u32 = 81; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_RULE")] +pub const CommandTag_CMDTAG_CREATE_RULE: u32 = 82; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_SCHEMA")] +pub const CommandTag_CMDTAG_CREATE_SCHEMA: u32 = 83; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_SEQUENCE")] +pub const CommandTag_CMDTAG_CREATE_SEQUENCE: u32 = 84; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_SERVER")] +pub const CommandTag_CMDTAG_CREATE_SERVER: u32 = 85; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_STATISTICS")] +pub const CommandTag_CMDTAG_CREATE_STATISTICS: u32 = 86; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_SUBSCRIPTION")] +pub const CommandTag_CMDTAG_CREATE_SUBSCRIPTION: u32 = 87; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_TABLE")] +pub const CommandTag_CMDTAG_CREATE_TABLE: u32 = 88; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_TABLE_AS")] +pub const CommandTag_CMDTAG_CREATE_TABLE_AS: u32 = 89; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_TABLESPACE")] +pub const CommandTag_CMDTAG_CREATE_TABLESPACE: u32 = 90; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_CREATE_TEXT_SEARCH_CONFIGURATION" +)] +pub const CommandTag_CMDTAG_CREATE_TEXT_SEARCH_CONFIGURATION: u32 = 91; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_CREATE_TEXT_SEARCH_DICTIONARY" +)] +pub const CommandTag_CMDTAG_CREATE_TEXT_SEARCH_DICTIONARY: u32 = 92; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_CREATE_TEXT_SEARCH_PARSER" +)] +pub const CommandTag_CMDTAG_CREATE_TEXT_SEARCH_PARSER: u32 = 93; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_CREATE_TEXT_SEARCH_TEMPLATE" +)] +pub const CommandTag_CMDTAG_CREATE_TEXT_SEARCH_TEMPLATE: u32 = 94; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_TRANSFORM")] +pub const CommandTag_CMDTAG_CREATE_TRANSFORM: u32 = 95; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_TRIGGER")] +pub const CommandTag_CMDTAG_CREATE_TRIGGER: u32 = 96; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_TYPE")] +pub const CommandTag_CMDTAG_CREATE_TYPE: u32 = 97; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_USER_MAPPING")] +pub const CommandTag_CMDTAG_CREATE_USER_MAPPING: u32 = 98; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_CREATE_VIEW")] +pub const CommandTag_CMDTAG_CREATE_VIEW: u32 = 99; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DEALLOCATE")] +pub const CommandTag_CMDTAG_DEALLOCATE: u32 = 100; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DEALLOCATE_ALL")] +pub const CommandTag_CMDTAG_DEALLOCATE_ALL: u32 = 101; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DECLARE_CURSOR")] +pub const CommandTag_CMDTAG_DECLARE_CURSOR: u32 = 102; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DELETE")] +pub const CommandTag_CMDTAG_DELETE: u32 = 103; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DISCARD")] +pub const CommandTag_CMDTAG_DISCARD: u32 = 104; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DISCARD_ALL")] +pub const CommandTag_CMDTAG_DISCARD_ALL: u32 = 105; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DISCARD_PLANS")] +pub const CommandTag_CMDTAG_DISCARD_PLANS: u32 = 106; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DISCARD_SEQUENCES")] +pub const CommandTag_CMDTAG_DISCARD_SEQUENCES: u32 = 107; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DISCARD_TEMP")] +pub const CommandTag_CMDTAG_DISCARD_TEMP: u32 = 108; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DO")] +pub const CommandTag_CMDTAG_DO: u32 = 109; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_ACCESS_METHOD")] +pub const CommandTag_CMDTAG_DROP_ACCESS_METHOD: u32 = 110; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_AGGREGATE")] +pub const CommandTag_CMDTAG_DROP_AGGREGATE: u32 = 111; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_CAST")] +pub const CommandTag_CMDTAG_DROP_CAST: u32 = 112; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_COLLATION")] +pub const CommandTag_CMDTAG_DROP_COLLATION: u32 = 113; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_CONSTRAINT")] +pub const CommandTag_CMDTAG_DROP_CONSTRAINT: u32 = 114; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_CONVERSION")] +pub const CommandTag_CMDTAG_DROP_CONVERSION: u32 = 115; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_DATABASE")] +pub const CommandTag_CMDTAG_DROP_DATABASE: u32 = 116; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_DOMAIN")] +pub const CommandTag_CMDTAG_DROP_DOMAIN: u32 = 117; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_EVENT_TRIGGER")] +pub const CommandTag_CMDTAG_DROP_EVENT_TRIGGER: u32 = 118; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_EXTENSION")] +pub const CommandTag_CMDTAG_DROP_EXTENSION: u32 = 119; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_DROP_FOREIGN_DATA_WRAPPER" +)] +pub const CommandTag_CMDTAG_DROP_FOREIGN_DATA_WRAPPER: u32 = 120; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_FOREIGN_TABLE")] +pub const CommandTag_CMDTAG_DROP_FOREIGN_TABLE: u32 = 121; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_FUNCTION")] +pub const CommandTag_CMDTAG_DROP_FUNCTION: u32 = 122; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_INDEX")] +pub const CommandTag_CMDTAG_DROP_INDEX: u32 = 123; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_LANGUAGE")] +pub const CommandTag_CMDTAG_DROP_LANGUAGE: u32 = 124; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_MATERIALIZED_VIEW")] +pub const CommandTag_CMDTAG_DROP_MATERIALIZED_VIEW: u32 = 125; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_OPERATOR")] +pub const CommandTag_CMDTAG_DROP_OPERATOR: u32 = 126; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_OPERATOR_CLASS")] +pub const CommandTag_CMDTAG_DROP_OPERATOR_CLASS: u32 = 127; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_OPERATOR_FAMILY")] +pub const CommandTag_CMDTAG_DROP_OPERATOR_FAMILY: u32 = 128; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_OWNED")] +pub const CommandTag_CMDTAG_DROP_OWNED: u32 = 129; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_POLICY")] +pub const CommandTag_CMDTAG_DROP_POLICY: u32 = 130; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_PROCEDURE")] +pub const CommandTag_CMDTAG_DROP_PROCEDURE: u32 = 131; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_PUBLICATION")] +pub const CommandTag_CMDTAG_DROP_PUBLICATION: u32 = 132; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_ROLE")] +pub const CommandTag_CMDTAG_DROP_ROLE: u32 = 133; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_ROUTINE")] +pub const CommandTag_CMDTAG_DROP_ROUTINE: u32 = 134; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_RULE")] +pub const CommandTag_CMDTAG_DROP_RULE: u32 = 135; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_SCHEMA")] +pub const CommandTag_CMDTAG_DROP_SCHEMA: u32 = 136; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_SEQUENCE")] +pub const CommandTag_CMDTAG_DROP_SEQUENCE: u32 = 137; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_SERVER")] +pub const CommandTag_CMDTAG_DROP_SERVER: u32 = 138; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_STATISTICS")] +pub const CommandTag_CMDTAG_DROP_STATISTICS: u32 = 139; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_SUBSCRIPTION")] +pub const CommandTag_CMDTAG_DROP_SUBSCRIPTION: u32 = 140; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_TABLE")] +pub const CommandTag_CMDTAG_DROP_TABLE: u32 = 141; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_TABLESPACE")] +pub const CommandTag_CMDTAG_DROP_TABLESPACE: u32 = 142; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_DROP_TEXT_SEARCH_CONFIGURATION" +)] +pub const CommandTag_CMDTAG_DROP_TEXT_SEARCH_CONFIGURATION: u32 = 143; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_DROP_TEXT_SEARCH_DICTIONARY" +)] +pub const CommandTag_CMDTAG_DROP_TEXT_SEARCH_DICTIONARY: u32 = 144; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_DROP_TEXT_SEARCH_PARSER" +)] +pub const CommandTag_CMDTAG_DROP_TEXT_SEARCH_PARSER: u32 = 145; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_DROP_TEXT_SEARCH_TEMPLATE" +)] +pub const CommandTag_CMDTAG_DROP_TEXT_SEARCH_TEMPLATE: u32 = 146; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_TRANSFORM")] +pub const CommandTag_CMDTAG_DROP_TRANSFORM: u32 = 147; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_TRIGGER")] +pub const CommandTag_CMDTAG_DROP_TRIGGER: u32 = 148; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_TYPE")] +pub const CommandTag_CMDTAG_DROP_TYPE: u32 = 149; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_USER_MAPPING")] +pub const CommandTag_CMDTAG_DROP_USER_MAPPING: u32 = 150; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_DROP_VIEW")] +pub const CommandTag_CMDTAG_DROP_VIEW: u32 = 151; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_EXECUTE")] +pub const CommandTag_CMDTAG_EXECUTE: u32 = 152; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_EXPLAIN")] +pub const CommandTag_CMDTAG_EXPLAIN: u32 = 153; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_FETCH")] +pub const CommandTag_CMDTAG_FETCH: u32 = 154; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_GRANT")] +pub const CommandTag_CMDTAG_GRANT: u32 = 155; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_GRANT_ROLE")] +pub const CommandTag_CMDTAG_GRANT_ROLE: u32 = 156; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_IMPORT_FOREIGN_SCHEMA")] +pub const CommandTag_CMDTAG_IMPORT_FOREIGN_SCHEMA: u32 = 157; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_INSERT")] +pub const CommandTag_CMDTAG_INSERT: u32 = 158; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_LISTEN")] +pub const CommandTag_CMDTAG_LISTEN: u32 = 159; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_LOAD")] +pub const CommandTag_CMDTAG_LOAD: u32 = 160; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_LOCK_TABLE")] +pub const CommandTag_CMDTAG_LOCK_TABLE: u32 = 161; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_LOGIN")] +pub const CommandTag_CMDTAG_LOGIN: u32 = 162; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_MERGE")] +pub const CommandTag_CMDTAG_MERGE: u32 = 163; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_MOVE")] +pub const CommandTag_CMDTAG_MOVE: u32 = 164; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_NOTIFY")] +pub const CommandTag_CMDTAG_NOTIFY: u32 = 165; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_PREPARE")] +pub const CommandTag_CMDTAG_PREPARE: u32 = 166; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_PREPARE_TRANSACTION")] +pub const CommandTag_CMDTAG_PREPARE_TRANSACTION: u32 = 167; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_REASSIGN_OWNED")] +pub const CommandTag_CMDTAG_REASSIGN_OWNED: u32 = 168; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_REFRESH_MATERIALIZED_VIEW" +)] +pub const CommandTag_CMDTAG_REFRESH_MATERIALIZED_VIEW: u32 = 169; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_REINDEX")] +pub const CommandTag_CMDTAG_REINDEX: u32 = 170; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_RELEASE")] +pub const CommandTag_CMDTAG_RELEASE: u32 = 171; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_RESET")] +pub const CommandTag_CMDTAG_RESET: u32 = 172; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_REVOKE")] +pub const CommandTag_CMDTAG_REVOKE: u32 = 173; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_REVOKE_ROLE")] +pub const CommandTag_CMDTAG_REVOKE_ROLE: u32 = 174; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ROLLBACK")] +pub const CommandTag_CMDTAG_ROLLBACK: u32 = 175; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_ROLLBACK_PREPARED")] +pub const CommandTag_CMDTAG_ROLLBACK_PREPARED: u32 = 176; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_SAVEPOINT")] +pub const CommandTag_CMDTAG_SAVEPOINT: u32 = 177; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_SECURITY_LABEL")] +pub const CommandTag_CMDTAG_SECURITY_LABEL: u32 = 178; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_SELECT")] +pub const CommandTag_CMDTAG_SELECT: u32 = 179; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_SELECT_FOR_KEY_SHARE")] +pub const CommandTag_CMDTAG_SELECT_FOR_KEY_SHARE: u32 = 180; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CommandTag::CMDTAG_SELECT_FOR_NO_KEY_UPDATE" +)] +pub const CommandTag_CMDTAG_SELECT_FOR_NO_KEY_UPDATE: u32 = 181; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_SELECT_FOR_SHARE")] +pub const CommandTag_CMDTAG_SELECT_FOR_SHARE: u32 = 182; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_SELECT_FOR_UPDATE")] +pub const CommandTag_CMDTAG_SELECT_FOR_UPDATE: u32 = 183; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_SELECT_INTO")] +pub const CommandTag_CMDTAG_SELECT_INTO: u32 = 184; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_SET")] +pub const CommandTag_CMDTAG_SET: u32 = 185; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_SET_CONSTRAINTS")] +pub const CommandTag_CMDTAG_SET_CONSTRAINTS: u32 = 186; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_SHOW")] +pub const CommandTag_CMDTAG_SHOW: u32 = 187; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_START_TRANSACTION")] +pub const CommandTag_CMDTAG_START_TRANSACTION: u32 = 188; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_TRUNCATE_TABLE")] +pub const CommandTag_CMDTAG_TRUNCATE_TABLE: u32 = 189; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_UNLISTEN")] +pub const CommandTag_CMDTAG_UNLISTEN: u32 = 190; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_UPDATE")] +pub const CommandTag_CMDTAG_UPDATE: u32 = 191; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CommandTag::CMDTAG_VACUUM")] +pub const CommandTag_CMDTAG_VACUUM: u32 = 192; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CompareType::COMPARE_INVALID")] +pub const CompareType_COMPARE_INVALID: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CompareType::COMPARE_LT")] +pub const CompareType_COMPARE_LT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CompareType::COMPARE_LE")] +pub const CompareType_COMPARE_LE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CompareType::COMPARE_EQ")] +pub const CompareType_COMPARE_EQ: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CompareType::COMPARE_GE")] +pub const CompareType_COMPARE_GE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CompareType::COMPARE_GT")] +pub const CompareType_COMPARE_GT: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CompareType::COMPARE_NE")] +pub const CompareType_COMPARE_NE: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CompareType::COMPARE_OVERLAP")] +pub const CompareType_COMPARE_OVERLAP: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CompareType::COMPARE_CONTAINED_BY")] +pub const CompareType_COMPARE_CONTAINED_BY: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ComputeQueryIdType::COMPUTE_QUERY_ID_OFF")] +pub const ComputeQueryIdType_COMPUTE_QUERY_ID_OFF: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ComputeQueryIdType::COMPUTE_QUERY_ID_ON")] +pub const ComputeQueryIdType_COMPUTE_QUERY_ID_ON: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ComputeQueryIdType::COMPUTE_QUERY_ID_AUTO")] +pub const ComputeQueryIdType_COMPUTE_QUERY_ID_AUTO: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ComputeQueryIdType::COMPUTE_QUERY_ID_REGRESS" +)] +pub const ComputeQueryIdType_COMPUTE_QUERY_ID_REGRESS: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConflictType::CT_INSERT_EXISTS")] +pub const ConflictType_CT_INSERT_EXISTS: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConflictType::CT_UPDATE_ORIGIN_DIFFERS")] +pub const ConflictType_CT_UPDATE_ORIGIN_DIFFERS: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConflictType::CT_UPDATE_EXISTS")] +pub const ConflictType_CT_UPDATE_EXISTS: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConflictType::CT_UPDATE_MISSING")] +pub const ConflictType_CT_UPDATE_MISSING: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConflictType::CT_DELETE_ORIGIN_DIFFERS")] +pub const ConflictType_CT_DELETE_ORIGIN_DIFFERS: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConflictType::CT_DELETE_MISSING")] +pub const ConflictType_CT_DELETE_MISSING: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ConflictType::CT_MULTIPLE_UNIQUE_CONFLICTS" +)] +pub const ConflictType_CT_MULTIPLE_UNIQUE_CONFLICTS: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_NULL")] +pub const ConstrType_CONSTR_NULL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_NOTNULL")] +pub const ConstrType_CONSTR_NOTNULL: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_DEFAULT")] +pub const ConstrType_CONSTR_DEFAULT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_IDENTITY")] +pub const ConstrType_CONSTR_IDENTITY: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_GENERATED")] +pub const ConstrType_CONSTR_GENERATED: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_CHECK")] +pub const ConstrType_CONSTR_CHECK: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_PRIMARY")] +pub const ConstrType_CONSTR_PRIMARY: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_UNIQUE")] +pub const ConstrType_CONSTR_UNIQUE: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_EXCLUSION")] +pub const ConstrType_CONSTR_EXCLUSION: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_FOREIGN")] +pub const ConstrType_CONSTR_FOREIGN: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_ATTR_DEFERRABLE")] +pub const ConstrType_CONSTR_ATTR_DEFERRABLE: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_ATTR_NOT_DEFERRABLE")] +pub const ConstrType_CONSTR_ATTR_NOT_DEFERRABLE: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_ATTR_DEFERRED")] +pub const ConstrType_CONSTR_ATTR_DEFERRED: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_ATTR_IMMEDIATE")] +pub const ConstrType_CONSTR_ATTR_IMMEDIATE: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_ATTR_ENFORCED")] +pub const ConstrType_CONSTR_ATTR_ENFORCED: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ConstrType::CONSTR_ATTR_NOT_ENFORCED")] +pub const ConstrType_CONSTR_ATTR_NOT_ENFORCED: u32 = 15; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ConstraintExclusionType::CONSTRAINT_EXCLUSION_OFF" +)] +pub const ConstraintExclusionType_CONSTRAINT_EXCLUSION_OFF: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ConstraintExclusionType::CONSTRAINT_EXCLUSION_ON" +)] +pub const ConstraintExclusionType_CONSTRAINT_EXCLUSION_ON: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ConstraintExclusionType::CONSTRAINT_EXCLUSION_PARTITION" +)] +pub const ConstraintExclusionType_CONSTRAINT_EXCLUSION_PARTITION: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CopyHeaderChoice::COPY_HEADER_FALSE")] +pub const CopyHeaderChoice_COPY_HEADER_FALSE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CopyHeaderChoice::COPY_HEADER_TRUE")] +pub const CopyHeaderChoice_COPY_HEADER_TRUE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CopyHeaderChoice::COPY_HEADER_MATCH")] +pub const CopyHeaderChoice_COPY_HEADER_MATCH: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CopyLogVerbosityChoice::COPY_LOG_VERBOSITY_SILENT" +)] +pub const CopyLogVerbosityChoice_COPY_LOG_VERBOSITY_SILENT: i32 = -1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CopyLogVerbosityChoice::COPY_LOG_VERBOSITY_DEFAULT" +)] +pub const CopyLogVerbosityChoice_COPY_LOG_VERBOSITY_DEFAULT: i32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::CopyLogVerbosityChoice::COPY_LOG_VERBOSITY_VERBOSE" +)] +pub const CopyLogVerbosityChoice_COPY_LOG_VERBOSITY_VERBOSE: i32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CopyOnErrorChoice::COPY_ON_ERROR_STOP")] +pub const CopyOnErrorChoice_COPY_ON_ERROR_STOP: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CopyOnErrorChoice::COPY_ON_ERROR_IGNORE")] +pub const CopyOnErrorChoice_COPY_ON_ERROR_IGNORE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CostSelector::STARTUP_COST")] +pub const CostSelector_STARTUP_COST: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::CostSelector::TOTAL_COST")] +pub const CostSelector_TOTAL_COST: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DBState::DB_STARTUP")] +pub const DBState_DB_STARTUP: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DBState::DB_SHUTDOWNED")] +pub const DBState_DB_SHUTDOWNED: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DBState::DB_SHUTDOWNED_IN_RECOVERY")] +pub const DBState_DB_SHUTDOWNED_IN_RECOVERY: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DBState::DB_SHUTDOWNING")] +pub const DBState_DB_SHUTDOWNING: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DBState::DB_IN_CRASH_RECOVERY")] +pub const DBState_DB_IN_CRASH_RECOVERY: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DBState::DB_IN_ARCHIVE_RECOVERY")] +pub const DBState_DB_IN_ARCHIVE_RECOVERY: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DBState::DB_IN_PRODUCTION")] +pub const DBState_DB_IN_PRODUCTION: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DeadLockState::DS_NOT_YET_CHECKED")] +pub const DeadLockState_DS_NOT_YET_CHECKED: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DeadLockState::DS_NO_DEADLOCK")] +pub const DeadLockState_DS_NO_DEADLOCK: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DeadLockState::DS_SOFT_DEADLOCK")] +pub const DeadLockState_DS_SOFT_DEADLOCK: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DeadLockState::DS_HARD_DEADLOCK")] +pub const DeadLockState_DS_HARD_DEADLOCK: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DeadLockState::DS_BLOCKED_BY_AUTOVACUUM")] +pub const DeadLockState_DS_BLOCKED_BY_AUTOVACUUM: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::DebugLogicalRepStreamingMode::DEBUG_LOGICAL_REP_STREAMING_BUFFERED" +)] +pub const DebugLogicalRepStreamingMode_DEBUG_LOGICAL_REP_STREAMING_BUFFERED: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::DebugLogicalRepStreamingMode::DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE" +)] +pub const DebugLogicalRepStreamingMode_DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DebugParallelMode::DEBUG_PARALLEL_OFF")] +pub const DebugParallelMode_DEBUG_PARALLEL_OFF: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DebugParallelMode::DEBUG_PARALLEL_ON")] +pub const DebugParallelMode_DEBUG_PARALLEL_ON: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DebugParallelMode::DEBUG_PARALLEL_REGRESS")] +pub const DebugParallelMode_DEBUG_PARALLEL_REGRESS: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DefElemAction::DEFELEM_UNSPEC")] +pub const DefElemAction_DEFELEM_UNSPEC: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DefElemAction::DEFELEM_SET")] +pub const DefElemAction_DEFELEM_SET: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DefElemAction::DEFELEM_ADD")] +pub const DefElemAction_DEFELEM_ADD: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DefElemAction::DEFELEM_DROP")] +pub const DefElemAction_DEFELEM_DROP: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DependencyType::DEPENDENCY_NORMAL")] +pub const DependencyType_DEPENDENCY_NORMAL: u32 = 110; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DependencyType::DEPENDENCY_AUTO")] +pub const DependencyType_DEPENDENCY_AUTO: u32 = 97; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DependencyType::DEPENDENCY_INTERNAL")] +pub const DependencyType_DEPENDENCY_INTERNAL: u32 = 105; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DependencyType::DEPENDENCY_PARTITION_PRI")] +pub const DependencyType_DEPENDENCY_PARTITION_PRI: u32 = 80; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DependencyType::DEPENDENCY_PARTITION_SEC")] +pub const DependencyType_DEPENDENCY_PARTITION_SEC: u32 = 83; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DependencyType::DEPENDENCY_EXTENSION")] +pub const DependencyType_DEPENDENCY_EXTENSION: u32 = 101; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DependencyType::DEPENDENCY_AUTO_EXTENSION")] +pub const DependencyType_DEPENDENCY_AUTO_EXTENSION: u32 = 120; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DiscardMode::DISCARD_ALL")] +pub const DiscardMode_DISCARD_ALL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DiscardMode::DISCARD_PLANS")] +pub const DiscardMode_DISCARD_PLANS: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DiscardMode::DISCARD_SEQUENCES")] +pub const DiscardMode_DISCARD_SEQUENCES: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DiscardMode::DISCARD_TEMP")] +pub const DiscardMode_DISCARD_TEMP: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DispatchOption::DISPATCH_CHECK")] +pub const DispatchOption_DISPATCH_CHECK: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DispatchOption::DISPATCH_BOOT")] +pub const DispatchOption_DISPATCH_BOOT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DispatchOption::DISPATCH_FORKCHILD")] +pub const DispatchOption_DISPATCH_FORKCHILD: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DispatchOption::DISPATCH_DESCRIBE_CONFIG")] +pub const DispatchOption_DISPATCH_DESCRIBE_CONFIG: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DispatchOption::DISPATCH_SINGLE")] +pub const DispatchOption_DISPATCH_SINGLE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DispatchOption::DISPATCH_POSTMASTER")] +pub const DispatchOption_DISPATCH_POSTMASTER: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::DomainConstraintType::DOM_CONSTRAINT_NOTNULL" +)] +pub const DomainConstraintType_DOM_CONSTRAINT_NOTNULL: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::DomainConstraintType::DOM_CONSTRAINT_CHECK" +)] +pub const DomainConstraintType_DOM_CONSTRAINT_CHECK: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DropBehavior::DROP_RESTRICT")] +pub const DropBehavior_DROP_RESTRICT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::DropBehavior::DROP_CASCADE")] +pub const DropBehavior_DROP_CASCADE: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::EphemeralNameRelationType::ENR_NAMED_TUPLESTORE" +)] +pub const EphemeralNameRelationType_ENR_NAMED_TUPLESTORE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExplainFormat::EXPLAIN_FORMAT_TEXT")] +pub const ExplainFormat_EXPLAIN_FORMAT_TEXT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExplainFormat::EXPLAIN_FORMAT_XML")] +pub const ExplainFormat_EXPLAIN_FORMAT_XML: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExplainFormat::EXPLAIN_FORMAT_JSON")] +pub const ExplainFormat_EXPLAIN_FORMAT_JSON: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExplainFormat::EXPLAIN_FORMAT_YAML")] +pub const ExplainFormat_EXPLAIN_FORMAT_YAML: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExplainSerializeOption::EXPLAIN_SERIALIZE_NONE" +)] +pub const ExplainSerializeOption_EXPLAIN_SERIALIZE_NONE: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExplainSerializeOption::EXPLAIN_SERIALIZE_TEXT" +)] +pub const ExplainSerializeOption_EXPLAIN_SERIALIZE_TEXT: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExplainSerializeOption::EXPLAIN_SERIALIZE_BINARY" +)] +pub const ExplainSerializeOption_EXPLAIN_SERIALIZE_BINARY: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprDoneCond::ExprSingleResult")] +pub const ExprDoneCond_ExprSingleResult: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprDoneCond::ExprMultipleResult")] +pub const ExprDoneCond_ExprMultipleResult: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprDoneCond::ExprEndResult")] +pub const ExprDoneCond_ExprEndResult: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_DONE_RETURN")] +pub const ExprEvalOp_EEOP_DONE_RETURN: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_DONE_NO_RETURN")] +pub const ExprEvalOp_EEOP_DONE_NO_RETURN: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_INNER_FETCHSOME")] +pub const ExprEvalOp_EEOP_INNER_FETCHSOME: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_OUTER_FETCHSOME")] +pub const ExprEvalOp_EEOP_OUTER_FETCHSOME: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_SCAN_FETCHSOME")] +pub const ExprEvalOp_EEOP_SCAN_FETCHSOME: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_OLD_FETCHSOME")] +pub const ExprEvalOp_EEOP_OLD_FETCHSOME: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_NEW_FETCHSOME")] +pub const ExprEvalOp_EEOP_NEW_FETCHSOME: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_INNER_VAR")] +pub const ExprEvalOp_EEOP_INNER_VAR: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_OUTER_VAR")] +pub const ExprEvalOp_EEOP_OUTER_VAR: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_SCAN_VAR")] +pub const ExprEvalOp_EEOP_SCAN_VAR: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_OLD_VAR")] +pub const ExprEvalOp_EEOP_OLD_VAR: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_NEW_VAR")] +pub const ExprEvalOp_EEOP_NEW_VAR: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_INNER_SYSVAR")] +pub const ExprEvalOp_EEOP_INNER_SYSVAR: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_OUTER_SYSVAR")] +pub const ExprEvalOp_EEOP_OUTER_SYSVAR: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_SCAN_SYSVAR")] +pub const ExprEvalOp_EEOP_SCAN_SYSVAR: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_OLD_SYSVAR")] +pub const ExprEvalOp_EEOP_OLD_SYSVAR: u32 = 15; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_NEW_SYSVAR")] +pub const ExprEvalOp_EEOP_NEW_SYSVAR: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_WHOLEROW")] +pub const ExprEvalOp_EEOP_WHOLEROW: u32 = 17; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_ASSIGN_INNER_VAR")] +pub const ExprEvalOp_EEOP_ASSIGN_INNER_VAR: u32 = 18; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_ASSIGN_OUTER_VAR")] +pub const ExprEvalOp_EEOP_ASSIGN_OUTER_VAR: u32 = 19; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_ASSIGN_SCAN_VAR")] +pub const ExprEvalOp_EEOP_ASSIGN_SCAN_VAR: u32 = 20; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_ASSIGN_OLD_VAR")] +pub const ExprEvalOp_EEOP_ASSIGN_OLD_VAR: u32 = 21; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_ASSIGN_NEW_VAR")] +pub const ExprEvalOp_EEOP_ASSIGN_NEW_VAR: u32 = 22; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_ASSIGN_TMP")] +pub const ExprEvalOp_EEOP_ASSIGN_TMP: u32 = 23; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_ASSIGN_TMP_MAKE_RO")] +pub const ExprEvalOp_EEOP_ASSIGN_TMP_MAKE_RO: u32 = 24; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_CONST")] +pub const ExprEvalOp_EEOP_CONST: u32 = 25; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_FUNCEXPR")] +pub const ExprEvalOp_EEOP_FUNCEXPR: u32 = 26; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_FUNCEXPR_STRICT")] +pub const ExprEvalOp_EEOP_FUNCEXPR_STRICT: u32 = 27; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_FUNCEXPR_STRICT_1")] +pub const ExprEvalOp_EEOP_FUNCEXPR_STRICT_1: u32 = 28; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_FUNCEXPR_STRICT_2")] +pub const ExprEvalOp_EEOP_FUNCEXPR_STRICT_2: u32 = 29; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_FUNCEXPR_FUSAGE")] +pub const ExprEvalOp_EEOP_FUNCEXPR_FUSAGE: u32 = 30; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_FUNCEXPR_STRICT_FUSAGE")] +pub const ExprEvalOp_EEOP_FUNCEXPR_STRICT_FUSAGE: u32 = 31; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_BOOL_AND_STEP_FIRST")] +pub const ExprEvalOp_EEOP_BOOL_AND_STEP_FIRST: u32 = 32; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_BOOL_AND_STEP")] +pub const ExprEvalOp_EEOP_BOOL_AND_STEP: u32 = 33; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_BOOL_AND_STEP_LAST")] +pub const ExprEvalOp_EEOP_BOOL_AND_STEP_LAST: u32 = 34; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_BOOL_OR_STEP_FIRST")] +pub const ExprEvalOp_EEOP_BOOL_OR_STEP_FIRST: u32 = 35; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_BOOL_OR_STEP")] +pub const ExprEvalOp_EEOP_BOOL_OR_STEP: u32 = 36; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_BOOL_OR_STEP_LAST")] +pub const ExprEvalOp_EEOP_BOOL_OR_STEP_LAST: u32 = 37; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_BOOL_NOT_STEP")] +pub const ExprEvalOp_EEOP_BOOL_NOT_STEP: u32 = 38; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_QUAL")] +pub const ExprEvalOp_EEOP_QUAL: u32 = 39; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_JUMP")] +pub const ExprEvalOp_EEOP_JUMP: u32 = 40; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_JUMP_IF_NULL")] +pub const ExprEvalOp_EEOP_JUMP_IF_NULL: u32 = 41; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_JUMP_IF_NOT_NULL")] +pub const ExprEvalOp_EEOP_JUMP_IF_NOT_NULL: u32 = 42; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_JUMP_IF_NOT_TRUE")] +pub const ExprEvalOp_EEOP_JUMP_IF_NOT_TRUE: u32 = 43; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_NULLTEST_ISNULL")] +pub const ExprEvalOp_EEOP_NULLTEST_ISNULL: u32 = 44; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_NULLTEST_ISNOTNULL")] +pub const ExprEvalOp_EEOP_NULLTEST_ISNOTNULL: u32 = 45; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_NULLTEST_ROWISNULL")] +pub const ExprEvalOp_EEOP_NULLTEST_ROWISNULL: u32 = 46; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_NULLTEST_ROWISNOTNULL")] +pub const ExprEvalOp_EEOP_NULLTEST_ROWISNOTNULL: u32 = 47; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_BOOLTEST_IS_TRUE")] +pub const ExprEvalOp_EEOP_BOOLTEST_IS_TRUE: u32 = 48; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_BOOLTEST_IS_NOT_TRUE")] +pub const ExprEvalOp_EEOP_BOOLTEST_IS_NOT_TRUE: u32 = 49; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_BOOLTEST_IS_FALSE")] +pub const ExprEvalOp_EEOP_BOOLTEST_IS_FALSE: u32 = 50; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_BOOLTEST_IS_NOT_FALSE")] +pub const ExprEvalOp_EEOP_BOOLTEST_IS_NOT_FALSE: u32 = 51; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_PARAM_EXEC")] +pub const ExprEvalOp_EEOP_PARAM_EXEC: u32 = 52; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_PARAM_EXTERN")] +pub const ExprEvalOp_EEOP_PARAM_EXTERN: u32 = 53; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_PARAM_CALLBACK")] +pub const ExprEvalOp_EEOP_PARAM_CALLBACK: u32 = 54; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_PARAM_SET")] +pub const ExprEvalOp_EEOP_PARAM_SET: u32 = 55; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_CASE_TESTVAL")] +pub const ExprEvalOp_EEOP_CASE_TESTVAL: u32 = 56; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_CASE_TESTVAL_EXT")] +pub const ExprEvalOp_EEOP_CASE_TESTVAL_EXT: u32 = 57; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_MAKE_READONLY")] +pub const ExprEvalOp_EEOP_MAKE_READONLY: u32 = 58; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_IOCOERCE")] +pub const ExprEvalOp_EEOP_IOCOERCE: u32 = 59; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_IOCOERCE_SAFE")] +pub const ExprEvalOp_EEOP_IOCOERCE_SAFE: u32 = 60; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_DISTINCT")] +pub const ExprEvalOp_EEOP_DISTINCT: u32 = 61; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_NOT_DISTINCT")] +pub const ExprEvalOp_EEOP_NOT_DISTINCT: u32 = 62; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_NULLIF")] +pub const ExprEvalOp_EEOP_NULLIF: u32 = 63; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_SQLVALUEFUNCTION")] +pub const ExprEvalOp_EEOP_SQLVALUEFUNCTION: u32 = 64; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_CURRENTOFEXPR")] +pub const ExprEvalOp_EEOP_CURRENTOFEXPR: u32 = 65; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_NEXTVALUEEXPR")] +pub const ExprEvalOp_EEOP_NEXTVALUEEXPR: u32 = 66; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_RETURNINGEXPR")] +pub const ExprEvalOp_EEOP_RETURNINGEXPR: u32 = 67; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_ARRAYEXPR")] +pub const ExprEvalOp_EEOP_ARRAYEXPR: u32 = 68; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_ARRAYCOERCE")] +pub const ExprEvalOp_EEOP_ARRAYCOERCE: u32 = 69; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_ROW")] +pub const ExprEvalOp_EEOP_ROW: u32 = 70; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_ROWCOMPARE_STEP")] +pub const ExprEvalOp_EEOP_ROWCOMPARE_STEP: u32 = 71; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_ROWCOMPARE_FINAL")] +pub const ExprEvalOp_EEOP_ROWCOMPARE_FINAL: u32 = 72; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_MINMAX")] +pub const ExprEvalOp_EEOP_MINMAX: u32 = 73; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_FIELDSELECT")] +pub const ExprEvalOp_EEOP_FIELDSELECT: u32 = 74; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_FIELDSTORE_DEFORM")] +pub const ExprEvalOp_EEOP_FIELDSTORE_DEFORM: u32 = 75; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_FIELDSTORE_FORM")] +pub const ExprEvalOp_EEOP_FIELDSTORE_FORM: u32 = 76; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_SBSREF_SUBSCRIPTS")] +pub const ExprEvalOp_EEOP_SBSREF_SUBSCRIPTS: u32 = 77; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_SBSREF_OLD")] +pub const ExprEvalOp_EEOP_SBSREF_OLD: u32 = 78; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_SBSREF_ASSIGN")] +pub const ExprEvalOp_EEOP_SBSREF_ASSIGN: u32 = 79; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_SBSREF_FETCH")] +pub const ExprEvalOp_EEOP_SBSREF_FETCH: u32 = 80; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_DOMAIN_TESTVAL")] +pub const ExprEvalOp_EEOP_DOMAIN_TESTVAL: u32 = 81; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_DOMAIN_TESTVAL_EXT")] +pub const ExprEvalOp_EEOP_DOMAIN_TESTVAL_EXT: u32 = 82; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_DOMAIN_NOTNULL")] +pub const ExprEvalOp_EEOP_DOMAIN_NOTNULL: u32 = 83; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_DOMAIN_CHECK")] +pub const ExprEvalOp_EEOP_DOMAIN_CHECK: u32 = 84; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_HASHDATUM_SET_INITVAL")] +pub const ExprEvalOp_EEOP_HASHDATUM_SET_INITVAL: u32 = 85; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_HASHDATUM_FIRST")] +pub const ExprEvalOp_EEOP_HASHDATUM_FIRST: u32 = 86; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_HASHDATUM_FIRST_STRICT")] +pub const ExprEvalOp_EEOP_HASHDATUM_FIRST_STRICT: u32 = 87; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_HASHDATUM_NEXT32")] +pub const ExprEvalOp_EEOP_HASHDATUM_NEXT32: u32 = 88; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_HASHDATUM_NEXT32_STRICT")] +pub const ExprEvalOp_EEOP_HASHDATUM_NEXT32_STRICT: u32 = 89; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_CONVERT_ROWTYPE")] +pub const ExprEvalOp_EEOP_CONVERT_ROWTYPE: u32 = 90; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_SCALARARRAYOP")] +pub const ExprEvalOp_EEOP_SCALARARRAYOP: u32 = 91; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_HASHED_SCALARARRAYOP")] +pub const ExprEvalOp_EEOP_HASHED_SCALARARRAYOP: u32 = 92; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_XMLEXPR")] +pub const ExprEvalOp_EEOP_XMLEXPR: u32 = 93; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_JSON_CONSTRUCTOR")] +pub const ExprEvalOp_EEOP_JSON_CONSTRUCTOR: u32 = 94; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_IS_JSON")] +pub const ExprEvalOp_EEOP_IS_JSON: u32 = 95; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_JSONEXPR_PATH")] +pub const ExprEvalOp_EEOP_JSONEXPR_PATH: u32 = 96; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_JSONEXPR_COERCION")] +pub const ExprEvalOp_EEOP_JSONEXPR_COERCION: u32 = 97; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_JSONEXPR_COERCION_FINISH")] +pub const ExprEvalOp_EEOP_JSONEXPR_COERCION_FINISH: u32 = 98; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_AGGREF")] +pub const ExprEvalOp_EEOP_AGGREF: u32 = 99; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_GROUPING_FUNC")] +pub const ExprEvalOp_EEOP_GROUPING_FUNC: u32 = 100; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_WINDOW_FUNC")] +pub const ExprEvalOp_EEOP_WINDOW_FUNC: u32 = 101; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_MERGE_SUPPORT_FUNC")] +pub const ExprEvalOp_EEOP_MERGE_SUPPORT_FUNC: u32 = 102; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_SUBPLAN")] +pub const ExprEvalOp_EEOP_SUBPLAN: u32 = 103; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_AGG_STRICT_DESERIALIZE")] +pub const ExprEvalOp_EEOP_AGG_STRICT_DESERIALIZE: u32 = 104; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_AGG_DESERIALIZE")] +pub const ExprEvalOp_EEOP_AGG_DESERIALIZE: u32 = 105; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExprEvalOp::EEOP_AGG_STRICT_INPUT_CHECK_ARGS" +)] +pub const ExprEvalOp_EEOP_AGG_STRICT_INPUT_CHECK_ARGS: u32 = 106; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExprEvalOp::EEOP_AGG_STRICT_INPUT_CHECK_ARGS_1" +)] +pub const ExprEvalOp_EEOP_AGG_STRICT_INPUT_CHECK_ARGS_1: u32 = 107; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExprEvalOp::EEOP_AGG_STRICT_INPUT_CHECK_NULLS" +)] +pub const ExprEvalOp_EEOP_AGG_STRICT_INPUT_CHECK_NULLS: u32 = 108; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExprEvalOp::EEOP_AGG_PLAIN_PERGROUP_NULLCHECK" +)] +pub const ExprEvalOp_EEOP_AGG_PLAIN_PERGROUP_NULLCHECK: u32 = 109; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExprEvalOp::EEOP_AGG_PLAIN_TRANS_INIT_STRICT_BYVAL" +)] +pub const ExprEvalOp_EEOP_AGG_PLAIN_TRANS_INIT_STRICT_BYVAL: u32 = 110; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExprEvalOp::EEOP_AGG_PLAIN_TRANS_STRICT_BYVAL" +)] +pub const ExprEvalOp_EEOP_AGG_PLAIN_TRANS_STRICT_BYVAL: u32 = 111; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_AGG_PLAIN_TRANS_BYVAL")] +pub const ExprEvalOp_EEOP_AGG_PLAIN_TRANS_BYVAL: u32 = 112; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExprEvalOp::EEOP_AGG_PLAIN_TRANS_INIT_STRICT_BYREF" +)] +pub const ExprEvalOp_EEOP_AGG_PLAIN_TRANS_INIT_STRICT_BYREF: u32 = 113; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExprEvalOp::EEOP_AGG_PLAIN_TRANS_STRICT_BYREF" +)] +pub const ExprEvalOp_EEOP_AGG_PLAIN_TRANS_STRICT_BYREF: u32 = 114; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_AGG_PLAIN_TRANS_BYREF")] +pub const ExprEvalOp_EEOP_AGG_PLAIN_TRANS_BYREF: u32 = 115; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExprEvalOp::EEOP_AGG_PRESORTED_DISTINCT_SINGLE" +)] +pub const ExprEvalOp_EEOP_AGG_PRESORTED_DISTINCT_SINGLE: u32 = 116; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExprEvalOp::EEOP_AGG_PRESORTED_DISTINCT_MULTI" +)] +pub const ExprEvalOp_EEOP_AGG_PRESORTED_DISTINCT_MULTI: u32 = 117; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_AGG_ORDERED_TRANS_DATUM")] +pub const ExprEvalOp_EEOP_AGG_ORDERED_TRANS_DATUM: u32 = 118; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_AGG_ORDERED_TRANS_TUPLE")] +pub const ExprEvalOp_EEOP_AGG_ORDERED_TRANS_TUPLE: u32 = 119; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExprEvalOp::EEOP_LAST")] +pub const ExprEvalOp_EEOP_LAST: u32 = 120; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExtendBufferedFlags::EB_SKIP_EXTENSION_LOCK" +)] +pub const ExtendBufferedFlags_EB_SKIP_EXTENSION_LOCK: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExtendBufferedFlags::EB_PERFORMING_RECOVERY" +)] +pub const ExtendBufferedFlags_EB_PERFORMING_RECOVERY: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ExtendBufferedFlags::EB_CREATE_FORK_IF_NEEDED" +)] +pub const ExtendBufferedFlags_EB_CREATE_FORK_IF_NEEDED: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExtendBufferedFlags::EB_LOCK_FIRST")] +pub const ExtendBufferedFlags_EB_LOCK_FIRST: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExtendBufferedFlags::EB_CLEAR_SIZE_CACHE")] +pub const ExtendBufferedFlags_EB_CLEAR_SIZE_CACHE: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ExtendBufferedFlags::EB_LOCK_TARGET")] +pub const ExtendBufferedFlags_EB_LOCK_TARGET: u32 = 32; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FetchDirection::FETCH_FORWARD")] +pub const FetchDirection_FETCH_FORWARD: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FetchDirection::FETCH_BACKWARD")] +pub const FetchDirection_FETCH_BACKWARD: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FetchDirection::FETCH_ABSOLUTE")] +pub const FetchDirection_FETCH_ABSOLUTE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FetchDirection::FETCH_RELATIVE")] +pub const FetchDirection_FETCH_RELATIVE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FmgrHookEventType::FHET_START")] +pub const FmgrHookEventType_FHET_START: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FmgrHookEventType::FHET_END")] +pub const FmgrHookEventType_FHET_END: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FmgrHookEventType::FHET_ABORT")] +pub const FmgrHookEventType_FHET_ABORT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ForkNumber::InvalidForkNumber")] +pub const ForkNumber_InvalidForkNumber: i32 = -1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ForkNumber::MAIN_FORKNUM")] +pub const ForkNumber_MAIN_FORKNUM: i32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ForkNumber::FSM_FORKNUM")] +pub const ForkNumber_FSM_FORKNUM: i32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ForkNumber::VISIBILITYMAP_FORKNUM")] +pub const ForkNumber_VISIBILITYMAP_FORKNUM: i32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ForkNumber::INIT_FORKNUM")] +pub const ForkNumber_INIT_FORKNUM: i32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FuncDetailCode::FUNCDETAIL_NOTFOUND")] +pub const FuncDetailCode_FUNCDETAIL_NOTFOUND: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FuncDetailCode::FUNCDETAIL_MULTIPLE")] +pub const FuncDetailCode_FUNCDETAIL_MULTIPLE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FuncDetailCode::FUNCDETAIL_NORMAL")] +pub const FuncDetailCode_FUNCDETAIL_NORMAL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FuncDetailCode::FUNCDETAIL_PROCEDURE")] +pub const FuncDetailCode_FUNCDETAIL_PROCEDURE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FuncDetailCode::FUNCDETAIL_AGGREGATE")] +pub const FuncDetailCode_FUNCDETAIL_AGGREGATE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FuncDetailCode::FUNCDETAIL_WINDOWFUNC")] +pub const FuncDetailCode_FUNCDETAIL_WINDOWFUNC: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FuncDetailCode::FUNCDETAIL_COERCION")] +pub const FuncDetailCode_FUNCDETAIL_COERCION: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FunctionParameterMode::FUNC_PARAM_IN")] +pub const FunctionParameterMode_FUNC_PARAM_IN: u32 = 105; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FunctionParameterMode::FUNC_PARAM_OUT")] +pub const FunctionParameterMode_FUNC_PARAM_OUT: u32 = 111; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FunctionParameterMode::FUNC_PARAM_INOUT")] +pub const FunctionParameterMode_FUNC_PARAM_INOUT: u32 = 98; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::FunctionParameterMode::FUNC_PARAM_VARIADIC" +)] +pub const FunctionParameterMode_FUNC_PARAM_VARIADIC: u32 = 118; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FunctionParameterMode::FUNC_PARAM_TABLE")] +pub const FunctionParameterMode_FUNC_PARAM_TABLE: u32 = 116; +#[deprecated(since = "0.12.0", note = "you want pg_sys::FunctionParameterMode::FUNC_PARAM_DEFAULT")] +pub const FunctionParameterMode_FUNC_PARAM_DEFAULT: u32 = 100; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GrantTargetType::ACL_TARGET_OBJECT")] +pub const GrantTargetType_ACL_TARGET_OBJECT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GrantTargetType::ACL_TARGET_ALL_IN_SCHEMA")] +pub const GrantTargetType_ACL_TARGET_ALL_IN_SCHEMA: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GrantTargetType::ACL_TARGET_DEFAULTS")] +pub const GrantTargetType_ACL_TARGET_DEFAULTS: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GroupingSetKind::GROUPING_SET_EMPTY")] +pub const GroupingSetKind_GROUPING_SET_EMPTY: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GroupingSetKind::GROUPING_SET_SIMPLE")] +pub const GroupingSetKind_GROUPING_SET_SIMPLE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GroupingSetKind::GROUPING_SET_ROLLUP")] +pub const GroupingSetKind_GROUPING_SET_ROLLUP: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GroupingSetKind::GROUPING_SET_CUBE")] +pub const GroupingSetKind_GROUPING_SET_CUBE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GroupingSetKind::GROUPING_SET_SETS")] +pub const GroupingSetKind_GROUPING_SET_SETS: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucAction::GUC_ACTION_SET")] +pub const GucAction_GUC_ACTION_SET: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucAction::GUC_ACTION_LOCAL")] +pub const GucAction_GUC_ACTION_LOCAL: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucAction::GUC_ACTION_SAVE")] +pub const GucAction_GUC_ACTION_SAVE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucContext::PGC_INTERNAL")] +pub const GucContext_PGC_INTERNAL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucContext::PGC_POSTMASTER")] +pub const GucContext_PGC_POSTMASTER: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucContext::PGC_SIGHUP")] +pub const GucContext_PGC_SIGHUP: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucContext::PGC_SU_BACKEND")] +pub const GucContext_PGC_SU_BACKEND: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucContext::PGC_BACKEND")] +pub const GucContext_PGC_BACKEND: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucContext::PGC_SUSET")] +pub const GucContext_PGC_SUSET: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucContext::PGC_USERSET")] +pub const GucContext_PGC_USERSET: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_DEFAULT")] +pub const GucSource_PGC_S_DEFAULT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_DYNAMIC_DEFAULT")] +pub const GucSource_PGC_S_DYNAMIC_DEFAULT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_ENV_VAR")] +pub const GucSource_PGC_S_ENV_VAR: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_FILE")] +pub const GucSource_PGC_S_FILE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_ARGV")] +pub const GucSource_PGC_S_ARGV: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_GLOBAL")] +pub const GucSource_PGC_S_GLOBAL: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_DATABASE")] +pub const GucSource_PGC_S_DATABASE: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_USER")] +pub const GucSource_PGC_S_USER: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_DATABASE_USER")] +pub const GucSource_PGC_S_DATABASE_USER: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_CLIENT")] +pub const GucSource_PGC_S_CLIENT: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_OVERRIDE")] +pub const GucSource_PGC_S_OVERRIDE: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_INTERACTIVE")] +pub const GucSource_PGC_S_INTERACTIVE: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_TEST")] +pub const GucSource_PGC_S_TEST: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::GucSource::PGC_S_SESSION")] +pub const GucSource_PGC_S_SESSION: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HASHACTION::HASH_FIND")] +pub const HASHACTION_HASH_FIND: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HASHACTION::HASH_ENTER")] +pub const HASHACTION_HASH_ENTER: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HASHACTION::HASH_REMOVE")] +pub const HASHACTION_HASH_REMOVE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HASHACTION::HASH_ENTER_NULL")] +pub const HASHACTION_HASH_ENTER_NULL: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HTSV_Result::HEAPTUPLE_DEAD")] +pub const HTSV_Result_HEAPTUPLE_DEAD: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HTSV_Result::HEAPTUPLE_LIVE")] +pub const HTSV_Result_HEAPTUPLE_LIVE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HTSV_Result::HEAPTUPLE_RECENTLY_DEAD")] +pub const HTSV_Result_HEAPTUPLE_RECENTLY_DEAD: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HTSV_Result::HEAPTUPLE_INSERT_IN_PROGRESS")] +pub const HTSV_Result_HEAPTUPLE_INSERT_IN_PROGRESS: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HTSV_Result::HEAPTUPLE_DELETE_IN_PROGRESS")] +pub const HTSV_Result_HEAPTUPLE_DELETE_IN_PROGRESS: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HotStandbyState::STANDBY_DISABLED")] +pub const HotStandbyState_STANDBY_DISABLED: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HotStandbyState::STANDBY_INITIALIZED")] +pub const HotStandbyState_STANDBY_INITIALIZED: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HotStandbyState::STANDBY_SNAPSHOT_PENDING")] +pub const HotStandbyState_STANDBY_SNAPSHOT_PENDING: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::HotStandbyState::STANDBY_SNAPSHOT_READY")] +pub const HotStandbyState_STANDBY_SNAPSHOT_READY: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOContext::IOCONTEXT_BULKREAD")] +pub const IOContext_IOCONTEXT_BULKREAD: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOContext::IOCONTEXT_BULKWRITE")] +pub const IOContext_IOCONTEXT_BULKWRITE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOContext::IOCONTEXT_INIT")] +pub const IOContext_IOCONTEXT_INIT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOContext::IOCONTEXT_NORMAL")] +pub const IOContext_IOCONTEXT_NORMAL: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOContext::IOCONTEXT_VACUUM")] +pub const IOContext_IOCONTEXT_VACUUM: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOFuncSelector::IOFunc_input")] +pub const IOFuncSelector_IOFunc_input: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOFuncSelector::IOFunc_output")] +pub const IOFuncSelector_IOFunc_output: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOFuncSelector::IOFunc_receive")] +pub const IOFuncSelector_IOFunc_receive: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOFuncSelector::IOFunc_send")] +pub const IOFuncSelector_IOFunc_send: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOObject::IOOBJECT_RELATION")] +pub const IOObject_IOOBJECT_RELATION: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOObject::IOOBJECT_TEMP_RELATION")] +pub const IOObject_IOOBJECT_TEMP_RELATION: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOObject::IOOBJECT_WAL")] +pub const IOObject_IOOBJECT_WAL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOOp::IOOP_EVICT")] +pub const IOOp_IOOP_EVICT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOOp::IOOP_FSYNC")] +pub const IOOp_IOOP_FSYNC: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOOp::IOOP_HIT")] +pub const IOOp_IOOP_HIT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOOp::IOOP_REUSE")] +pub const IOOp_IOOP_REUSE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOOp::IOOP_WRITEBACK")] +pub const IOOp_IOOP_WRITEBACK: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOOp::IOOP_EXTEND")] +pub const IOOp_IOOP_EXTEND: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOOp::IOOP_READ")] +pub const IOOp_IOOP_READ: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IOOp::IOOP_WRITE")] +pub const IOOp_IOOP_WRITE: u32 = 7; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IdentifierLookup::IDENTIFIER_LOOKUP_NORMAL" +)] +pub const IdentifierLookup_IDENTIFIER_LOOKUP_NORMAL: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IdentifierLookup::IDENTIFIER_LOOKUP_DECLARE" +)] +pub const IdentifierLookup_IDENTIFIER_LOOKUP_DECLARE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IdentifierLookup::IDENTIFIER_LOOKUP_EXPR")] +pub const IdentifierLookup_IDENTIFIER_LOOKUP_EXPR: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ImportForeignSchemaType::FDW_IMPORT_SCHEMA_ALL" +)] +pub const ImportForeignSchemaType_FDW_IMPORT_SCHEMA_ALL: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ImportForeignSchemaType::FDW_IMPORT_SCHEMA_LIMIT_TO" +)] +pub const ImportForeignSchemaType_FDW_IMPORT_SCHEMA_LIMIT_TO: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ImportForeignSchemaType::FDW_IMPORT_SCHEMA_EXCEPT" +)] +pub const ImportForeignSchemaType_FDW_IMPORT_SCHEMA_EXCEPT: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IncrementalSortExecutionStatus::INCSORT_LOADFULLSORT" +)] +pub const IncrementalSortExecutionStatus_INCSORT_LOADFULLSORT: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IncrementalSortExecutionStatus::INCSORT_LOADPREFIXSORT" +)] +pub const IncrementalSortExecutionStatus_INCSORT_LOADPREFIXSORT: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IncrementalSortExecutionStatus::INCSORT_READFULLSORT" +)] +pub const IncrementalSortExecutionStatus_INCSORT_READFULLSORT: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IncrementalSortExecutionStatus::INCSORT_READPREFIXSORT" +)] +pub const IncrementalSortExecutionStatus_INCSORT_READPREFIXSORT: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_UNKNOWN")] +pub const IndexAMProperty_AMPROP_UNKNOWN: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_ASC")] +pub const IndexAMProperty_AMPROP_ASC: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_DESC")] +pub const IndexAMProperty_AMPROP_DESC: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_NULLS_FIRST")] +pub const IndexAMProperty_AMPROP_NULLS_FIRST: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_NULLS_LAST")] +pub const IndexAMProperty_AMPROP_NULLS_LAST: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_ORDERABLE")] +pub const IndexAMProperty_AMPROP_ORDERABLE: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IndexAMProperty::AMPROP_DISTANCE_ORDERABLE" +)] +pub const IndexAMProperty_AMPROP_DISTANCE_ORDERABLE: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_RETURNABLE")] +pub const IndexAMProperty_AMPROP_RETURNABLE: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_SEARCH_ARRAY")] +pub const IndexAMProperty_AMPROP_SEARCH_ARRAY: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_SEARCH_NULLS")] +pub const IndexAMProperty_AMPROP_SEARCH_NULLS: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_CLUSTERABLE")] +pub const IndexAMProperty_AMPROP_CLUSTERABLE: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_INDEX_SCAN")] +pub const IndexAMProperty_AMPROP_INDEX_SCAN: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_BITMAP_SCAN")] +pub const IndexAMProperty_AMPROP_BITMAP_SCAN: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_BACKWARD_SCAN")] +pub const IndexAMProperty_AMPROP_BACKWARD_SCAN: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_CAN_ORDER")] +pub const IndexAMProperty_AMPROP_CAN_ORDER: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_CAN_UNIQUE")] +pub const IndexAMProperty_AMPROP_CAN_UNIQUE: u32 = 15; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_CAN_MULTI_COL")] +pub const IndexAMProperty_AMPROP_CAN_MULTI_COL: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_CAN_EXCLUDE")] +pub const IndexAMProperty_AMPROP_CAN_EXCLUDE: u32 = 17; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexAMProperty::AMPROP_CAN_INCLUDE")] +pub const IndexAMProperty_AMPROP_CAN_INCLUDE: u32 = 18; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IndexAttrBitmapKind::INDEX_ATTR_BITMAP_KEY" +)] +pub const IndexAttrBitmapKind_INDEX_ATTR_BITMAP_KEY: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IndexAttrBitmapKind::INDEX_ATTR_BITMAP_PRIMARY_KEY" +)] +pub const IndexAttrBitmapKind_INDEX_ATTR_BITMAP_PRIMARY_KEY: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IndexAttrBitmapKind::INDEX_ATTR_BITMAP_IDENTITY_KEY" +)] +pub const IndexAttrBitmapKind_INDEX_ATTR_BITMAP_IDENTITY_KEY: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IndexAttrBitmapKind::INDEX_ATTR_BITMAP_HOT_BLOCKING" +)] +pub const IndexAttrBitmapKind_INDEX_ATTR_BITMAP_HOT_BLOCKING: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IndexAttrBitmapKind::INDEX_ATTR_BITMAP_SUMMARIZED" +)] +pub const IndexAttrBitmapKind_INDEX_ATTR_BITMAP_SUMMARIZED: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IndexStateFlagsAction::INDEX_CREATE_SET_READY" +)] +pub const IndexStateFlagsAction_INDEX_CREATE_SET_READY: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IndexStateFlagsAction::INDEX_CREATE_SET_VALID" +)] +pub const IndexStateFlagsAction_INDEX_CREATE_SET_VALID: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IndexStateFlagsAction::INDEX_DROP_CLEAR_VALID" +)] +pub const IndexStateFlagsAction_INDEX_DROP_CLEAR_VALID: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::IndexStateFlagsAction::INDEX_DROP_SET_DEAD" +)] +pub const IndexStateFlagsAction_INDEX_DROP_SET_DEAD: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexUniqueCheck::UNIQUE_CHECK_NO")] +pub const IndexUniqueCheck_UNIQUE_CHECK_NO: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexUniqueCheck::UNIQUE_CHECK_YES")] +pub const IndexUniqueCheck_UNIQUE_CHECK_YES: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexUniqueCheck::UNIQUE_CHECK_PARTIAL")] +pub const IndexUniqueCheck_UNIQUE_CHECK_PARTIAL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::IndexUniqueCheck::UNIQUE_CHECK_EXISTING")] +pub const IndexUniqueCheck_UNIQUE_CHECK_EXISTING: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::InstrumentOption::INSTRUMENT_TIMER")] +pub const InstrumentOption_INSTRUMENT_TIMER: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::InstrumentOption::INSTRUMENT_BUFFERS")] +pub const InstrumentOption_INSTRUMENT_BUFFERS: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::InstrumentOption::INSTRUMENT_ROWS")] +pub const InstrumentOption_INSTRUMENT_ROWS: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::InstrumentOption::INSTRUMENT_WAL")] +pub const InstrumentOption_INSTRUMENT_WAL: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::InstrumentOption::INSTRUMENT_ALL")] +pub const InstrumentOption_INSTRUMENT_ALL: u32 = 2147483647; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JoinType::JOIN_INNER")] +pub const JoinType_JOIN_INNER: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JoinType::JOIN_LEFT")] +pub const JoinType_JOIN_LEFT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JoinType::JOIN_FULL")] +pub const JoinType_JOIN_FULL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JoinType::JOIN_RIGHT")] +pub const JoinType_JOIN_RIGHT: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JoinType::JOIN_SEMI")] +pub const JoinType_JOIN_SEMI: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JoinType::JOIN_ANTI")] +pub const JoinType_JOIN_ANTI: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JoinType::JOIN_RIGHT_SEMI")] +pub const JoinType_JOIN_RIGHT_SEMI: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JoinType::JOIN_RIGHT_ANTI")] +pub const JoinType_JOIN_RIGHT_ANTI: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JoinType::JOIN_UNIQUE_OUTER")] +pub const JoinType_JOIN_UNIQUE_OUTER: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JoinType::JOIN_UNIQUE_INNER")] +pub const JoinType_JOIN_UNIQUE_INNER: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonBehaviorType::JSON_BEHAVIOR_NULL")] +pub const JsonBehaviorType_JSON_BEHAVIOR_NULL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonBehaviorType::JSON_BEHAVIOR_ERROR")] +pub const JsonBehaviorType_JSON_BEHAVIOR_ERROR: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonBehaviorType::JSON_BEHAVIOR_EMPTY")] +pub const JsonBehaviorType_JSON_BEHAVIOR_EMPTY: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonBehaviorType::JSON_BEHAVIOR_TRUE")] +pub const JsonBehaviorType_JSON_BEHAVIOR_TRUE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonBehaviorType::JSON_BEHAVIOR_FALSE")] +pub const JsonBehaviorType_JSON_BEHAVIOR_FALSE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonBehaviorType::JSON_BEHAVIOR_UNKNOWN")] +pub const JsonBehaviorType_JSON_BEHAVIOR_UNKNOWN: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::JsonBehaviorType::JSON_BEHAVIOR_EMPTY_ARRAY" +)] +pub const JsonBehaviorType_JSON_BEHAVIOR_EMPTY_ARRAY: u32 = 6; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::JsonBehaviorType::JSON_BEHAVIOR_EMPTY_OBJECT" +)] +pub const JsonBehaviorType_JSON_BEHAVIOR_EMPTY_OBJECT: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonBehaviorType::JSON_BEHAVIOR_DEFAULT")] +pub const JsonBehaviorType_JSON_BEHAVIOR_DEFAULT: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonConstructorType::JSCTOR_JSON_OBJECT")] +pub const JsonConstructorType_JSCTOR_JSON_OBJECT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonConstructorType::JSCTOR_JSON_ARRAY")] +pub const JsonConstructorType_JSCTOR_JSON_ARRAY: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::JsonConstructorType::JSCTOR_JSON_OBJECTAGG" +)] +pub const JsonConstructorType_JSCTOR_JSON_OBJECTAGG: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonConstructorType::JSCTOR_JSON_ARRAYAGG")] +pub const JsonConstructorType_JSCTOR_JSON_ARRAYAGG: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonConstructorType::JSCTOR_JSON_PARSE")] +pub const JsonConstructorType_JSCTOR_JSON_PARSE: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonConstructorType::JSCTOR_JSON_SCALAR")] +pub const JsonConstructorType_JSCTOR_JSON_SCALAR: u32 = 6; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::JsonConstructorType::JSCTOR_JSON_SERIALIZE" +)] +pub const JsonConstructorType_JSCTOR_JSON_SERIALIZE: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonEncoding::JS_ENC_DEFAULT")] +pub const JsonEncoding_JS_ENC_DEFAULT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonEncoding::JS_ENC_UTF8")] +pub const JsonEncoding_JS_ENC_UTF8: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonEncoding::JS_ENC_UTF16")] +pub const JsonEncoding_JS_ENC_UTF16: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonEncoding::JS_ENC_UTF32")] +pub const JsonEncoding_JS_ENC_UTF32: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonExprOp::JSON_EXISTS_OP")] +pub const JsonExprOp_JSON_EXISTS_OP: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonExprOp::JSON_QUERY_OP")] +pub const JsonExprOp_JSON_QUERY_OP: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonExprOp::JSON_VALUE_OP")] +pub const JsonExprOp_JSON_VALUE_OP: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonExprOp::JSON_TABLE_OP")] +pub const JsonExprOp_JSON_TABLE_OP: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonFormatType::JS_FORMAT_DEFAULT")] +pub const JsonFormatType_JS_FORMAT_DEFAULT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonFormatType::JS_FORMAT_JSON")] +pub const JsonFormatType_JS_FORMAT_JSON: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonFormatType::JS_FORMAT_JSONB")] +pub const JsonFormatType_JS_FORMAT_JSONB: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonQuotes::JS_QUOTES_UNSPEC")] +pub const JsonQuotes_JS_QUOTES_UNSPEC: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonQuotes::JS_QUOTES_KEEP")] +pub const JsonQuotes_JS_QUOTES_KEEP: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonQuotes::JS_QUOTES_OMIT")] +pub const JsonQuotes_JS_QUOTES_OMIT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonTableColumnType::JTC_FOR_ORDINALITY")] +pub const JsonTableColumnType_JTC_FOR_ORDINALITY: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonTableColumnType::JTC_REGULAR")] +pub const JsonTableColumnType_JTC_REGULAR: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonTableColumnType::JTC_EXISTS")] +pub const JsonTableColumnType_JTC_EXISTS: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonTableColumnType::JTC_FORMATTED")] +pub const JsonTableColumnType_JTC_FORMATTED: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonTableColumnType::JTC_NESTED")] +pub const JsonTableColumnType_JTC_NESTED: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonValueType::JS_TYPE_ANY")] +pub const JsonValueType_JS_TYPE_ANY: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonValueType::JS_TYPE_OBJECT")] +pub const JsonValueType_JS_TYPE_OBJECT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonValueType::JS_TYPE_ARRAY")] +pub const JsonValueType_JS_TYPE_ARRAY: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonValueType::JS_TYPE_SCALAR")] +pub const JsonValueType_JS_TYPE_SCALAR: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonWrapper::JSW_UNSPEC")] +pub const JsonWrapper_JSW_UNSPEC: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonWrapper::JSW_NONE")] +pub const JsonWrapper_JSW_NONE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonWrapper::JSW_CONDITIONAL")] +pub const JsonWrapper_JSW_CONDITIONAL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonWrapper::JSW_UNCONDITIONAL")] +pub const JsonWrapper_JSW_UNCONDITIONAL: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIterState::JBI_ARRAY_START")] +pub const JsonbIterState_JBI_ARRAY_START: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIterState::JBI_ARRAY_ELEM")] +pub const JsonbIterState_JBI_ARRAY_ELEM: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIterState::JBI_OBJECT_START")] +pub const JsonbIterState_JBI_OBJECT_START: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIterState::JBI_OBJECT_KEY")] +pub const JsonbIterState_JBI_OBJECT_KEY: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIterState::JBI_OBJECT_VALUE")] +pub const JsonbIterState_JBI_OBJECT_VALUE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIteratorToken::WJB_DONE")] +pub const JsonbIteratorToken_WJB_DONE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIteratorToken::WJB_KEY")] +pub const JsonbIteratorToken_WJB_KEY: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIteratorToken::WJB_VALUE")] +pub const JsonbIteratorToken_WJB_VALUE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIteratorToken::WJB_ELEM")] +pub const JsonbIteratorToken_WJB_ELEM: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIteratorToken::WJB_BEGIN_ARRAY")] +pub const JsonbIteratorToken_WJB_BEGIN_ARRAY: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIteratorToken::WJB_END_ARRAY")] +pub const JsonbIteratorToken_WJB_END_ARRAY: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIteratorToken::WJB_BEGIN_OBJECT")] +pub const JsonbIteratorToken_WJB_BEGIN_OBJECT: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::JsonbIteratorToken::WJB_END_OBJECT")] +pub const JsonbIteratorToken_WJB_END_OBJECT: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LWLockMode::LW_EXCLUSIVE")] +pub const LWLockMode_LW_EXCLUSIVE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LWLockMode::LW_SHARED")] +pub const LWLockMode_LW_SHARED: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LWLockMode::LW_WAIT_UNTIL_FREE")] +pub const LWLockMode_LW_WAIT_UNTIL_FREE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LWLockWaitState::LW_WS_NOT_WAITING")] +pub const LWLockWaitState_LW_WS_NOT_WAITING: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LWLockWaitState::LW_WS_WAITING")] +pub const LWLockWaitState_LW_WS_WAITING: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LWLockWaitState::LW_WS_PENDING_WAKEUP")] +pub const LWLockWaitState_LW_WS_PENDING_WAKEUP: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LimitOption::LIMIT_OPTION_COUNT")] +pub const LimitOption_LIMIT_OPTION_COUNT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LimitOption::LIMIT_OPTION_WITH_TIES")] +pub const LimitOption_LIMIT_OPTION_WITH_TIES: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LimitStateCond::LIMIT_INITIAL")] +pub const LimitStateCond_LIMIT_INITIAL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LimitStateCond::LIMIT_RESCAN")] +pub const LimitStateCond_LIMIT_RESCAN: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LimitStateCond::LIMIT_EMPTY")] +pub const LimitStateCond_LIMIT_EMPTY: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LimitStateCond::LIMIT_INWINDOW")] +pub const LimitStateCond_LIMIT_INWINDOW: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LimitStateCond::LIMIT_WINDOWEND_TIES")] +pub const LimitStateCond_LIMIT_WINDOWEND_TIES: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LimitStateCond::LIMIT_SUBPLANEOF")] +pub const LimitStateCond_LIMIT_SUBPLANEOF: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LimitStateCond::LIMIT_WINDOWEND")] +pub const LimitStateCond_LIMIT_WINDOWEND: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LimitStateCond::LIMIT_WINDOWSTART")] +pub const LimitStateCond_LIMIT_WINDOWSTART: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockAcquireResult::LOCKACQUIRE_NOT_AVAIL")] +pub const LockAcquireResult_LOCKACQUIRE_NOT_AVAIL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockAcquireResult::LOCKACQUIRE_OK")] +pub const LockAcquireResult_LOCKACQUIRE_OK: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LockAcquireResult::LOCKACQUIRE_ALREADY_HELD" +)] +pub const LockAcquireResult_LOCKACQUIRE_ALREADY_HELD: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LockAcquireResult::LOCKACQUIRE_ALREADY_CLEAR" +)] +pub const LockAcquireResult_LOCKACQUIRE_ALREADY_CLEAR: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockClauseStrength::LCS_NONE")] +pub const LockClauseStrength_LCS_NONE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockClauseStrength::LCS_FORKEYSHARE")] +pub const LockClauseStrength_LCS_FORKEYSHARE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockClauseStrength::LCS_FORSHARE")] +pub const LockClauseStrength_LCS_FORSHARE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockClauseStrength::LCS_FORNOKEYUPDATE")] +pub const LockClauseStrength_LCS_FORNOKEYUPDATE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockClauseStrength::LCS_FORUPDATE")] +pub const LockClauseStrength_LCS_FORUPDATE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTagType::LOCKTAG_RELATION")] +pub const LockTagType_LOCKTAG_RELATION: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTagType::LOCKTAG_RELATION_EXTEND")] +pub const LockTagType_LOCKTAG_RELATION_EXTEND: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTagType::LOCKTAG_DATABASE_FROZEN_IDS")] +pub const LockTagType_LOCKTAG_DATABASE_FROZEN_IDS: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTagType::LOCKTAG_PAGE")] +pub const LockTagType_LOCKTAG_PAGE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTagType::LOCKTAG_TUPLE")] +pub const LockTagType_LOCKTAG_TUPLE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTagType::LOCKTAG_TRANSACTION")] +pub const LockTagType_LOCKTAG_TRANSACTION: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTagType::LOCKTAG_VIRTUALTRANSACTION")] +pub const LockTagType_LOCKTAG_VIRTUALTRANSACTION: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTagType::LOCKTAG_SPECULATIVE_TOKEN")] +pub const LockTagType_LOCKTAG_SPECULATIVE_TOKEN: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTagType::LOCKTAG_OBJECT")] +pub const LockTagType_LOCKTAG_OBJECT: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTagType::LOCKTAG_USERLOCK")] +pub const LockTagType_LOCKTAG_USERLOCK: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTagType::LOCKTAG_ADVISORY")] +pub const LockTagType_LOCKTAG_ADVISORY: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTagType::LOCKTAG_APPLY_TRANSACTION")] +pub const LockTagType_LOCKTAG_APPLY_TRANSACTION: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTupleMode::LockTupleKeyShare")] +pub const LockTupleMode_LockTupleKeyShare: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTupleMode::LockTupleShare")] +pub const LockTupleMode_LockTupleShare: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTupleMode::LockTupleNoKeyExclusive")] +pub const LockTupleMode_LockTupleNoKeyExclusive: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockTupleMode::LockTupleExclusive")] +pub const LockTupleMode_LockTupleExclusive: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockWaitPolicy::LockWaitBlock")] +pub const LockWaitPolicy_LockWaitBlock: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockWaitPolicy::LockWaitSkip")] +pub const LockWaitPolicy_LockWaitSkip: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LockWaitPolicy::LockWaitError")] +pub const LockWaitPolicy_LockWaitError: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LogStmtLevel::LOGSTMT_NONE")] +pub const LogStmtLevel_LOGSTMT_NONE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LogStmtLevel::LOGSTMT_DDL")] +pub const LogStmtLevel_LOGSTMT_DDL: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LogStmtLevel::LOGSTMT_MOD")] +pub const LogStmtLevel_LOGSTMT_MOD: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LogStmtLevel::LOGSTMT_ALL")] +pub const LogStmtLevel_LOGSTMT_ALL: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_BEGIN")] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_BEGIN: u32 = 66; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_COMMIT")] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_COMMIT: u32 = 67; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_ORIGIN")] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_ORIGIN: u32 = 79; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_INSERT")] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_INSERT: u32 = 73; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_UPDATE")] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_UPDATE: u32 = 85; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_DELETE")] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_DELETE: u32 = 68; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_TRUNCATE" +)] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_TRUNCATE: u32 = 84; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_RELATION" +)] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_RELATION: u32 = 82; +#[deprecated(since = "0.12.0", note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_TYPE")] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_TYPE: u32 = 89; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_MESSAGE" +)] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_MESSAGE: u32 = 77; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_BEGIN_PREPARE" +)] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_BEGIN_PREPARE: u32 = 98; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_PREPARE" +)] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_PREPARE: u32 = 80; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_COMMIT_PREPARED" +)] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_COMMIT_PREPARED: u32 = 75; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_ROLLBACK_PREPARED" +)] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_ROLLBACK_PREPARED: u32 = 114; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_STREAM_START" +)] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_STREAM_START: u32 = 83; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_STREAM_STOP" +)] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_STREAM_STOP: u32 = 69; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_STREAM_COMMIT" +)] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_STREAM_COMMIT: u32 = 99; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_STREAM_ABORT" +)] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_STREAM_ABORT: u32 = 65; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::LogicalRepMsgType::LOGICAL_REP_MSG_STREAM_PREPARE" +)] +pub const LogicalRepMsgType_LOGICAL_REP_MSG_STREAM_PREPARE: u32 = 112; +#[deprecated(since = "0.12.0", note = "you want pg_sys::MergeMatchKind::MERGE_WHEN_MATCHED")] +pub const MergeMatchKind_MERGE_WHEN_MATCHED: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::MergeMatchKind::MERGE_WHEN_NOT_MATCHED_BY_SOURCE" +)] +pub const MergeMatchKind_MERGE_WHEN_NOT_MATCHED_BY_SOURCE: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::MergeMatchKind::MERGE_WHEN_NOT_MATCHED_BY_TARGET" +)] +pub const MergeMatchKind_MERGE_WHEN_NOT_MATCHED_BY_TARGET: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::MinMaxOp::IS_GREATEST")] +pub const MinMaxOp_IS_GREATEST: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::MinMaxOp::IS_LEAST")] +pub const MinMaxOp_IS_LEAST: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::MonotonicFunction::MONOTONICFUNC_NONE")] +pub const MonotonicFunction_MONOTONICFUNC_NONE: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::MonotonicFunction::MONOTONICFUNC_INCREASING" +)] +pub const MonotonicFunction_MONOTONICFUNC_INCREASING: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::MonotonicFunction::MONOTONICFUNC_DECREASING" +)] +pub const MonotonicFunction_MONOTONICFUNC_DECREASING: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::MonotonicFunction::MONOTONICFUNC_BOTH")] +pub const MonotonicFunction_MONOTONICFUNC_BOTH: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::MultiXactStatus::MultiXactStatusForKeyShare" +)] +pub const MultiXactStatus_MultiXactStatusForKeyShare: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::MultiXactStatus::MultiXactStatusForShare")] +pub const MultiXactStatus_MultiXactStatusForShare: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::MultiXactStatus::MultiXactStatusForNoKeyUpdate" +)] +pub const MultiXactStatus_MultiXactStatusForNoKeyUpdate: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::MultiXactStatus::MultiXactStatusForUpdate")] +pub const MultiXactStatus_MultiXactStatusForUpdate: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::MultiXactStatus::MultiXactStatusNoKeyUpdate" +)] +pub const MultiXactStatus_MultiXactStatusNoKeyUpdate: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::MultiXactStatus::MultiXactStatusUpdate")] +pub const MultiXactStatus_MultiXactStatusUpdate: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::NullTestType::IS_NULL")] +pub const NullTestType_IS_NULL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::NullTestType::IS_NOT_NULL")] +pub const NullTestType_IS_NOT_NULL: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectAccessType::OAT_POST_CREATE")] +pub const ObjectAccessType_OAT_POST_CREATE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectAccessType::OAT_DROP")] +pub const ObjectAccessType_OAT_DROP: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectAccessType::OAT_POST_ALTER")] +pub const ObjectAccessType_OAT_POST_ALTER: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectAccessType::OAT_NAMESPACE_SEARCH")] +pub const ObjectAccessType_OAT_NAMESPACE_SEARCH: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectAccessType::OAT_FUNCTION_EXECUTE")] +pub const ObjectAccessType_OAT_FUNCTION_EXECUTE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectAccessType::OAT_TRUNCATE")] +pub const ObjectAccessType_OAT_TRUNCATE: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_ACCESS_METHOD")] +pub const ObjectType_OBJECT_ACCESS_METHOD: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_AGGREGATE")] +pub const ObjectType_OBJECT_AGGREGATE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_AMOP")] +pub const ObjectType_OBJECT_AMOP: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_AMPROC")] +pub const ObjectType_OBJECT_AMPROC: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_ATTRIBUTE")] +pub const ObjectType_OBJECT_ATTRIBUTE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_CAST")] +pub const ObjectType_OBJECT_CAST: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_COLUMN")] +pub const ObjectType_OBJECT_COLUMN: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_COLLATION")] +pub const ObjectType_OBJECT_COLLATION: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_CONVERSION")] +pub const ObjectType_OBJECT_CONVERSION: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_DATABASE")] +pub const ObjectType_OBJECT_DATABASE: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_DEFAULT")] +pub const ObjectType_OBJECT_DEFAULT: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_DEFACL")] +pub const ObjectType_OBJECT_DEFACL: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_DOMAIN")] +pub const ObjectType_OBJECT_DOMAIN: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_DOMCONSTRAINT")] +pub const ObjectType_OBJECT_DOMCONSTRAINT: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_EVENT_TRIGGER")] +pub const ObjectType_OBJECT_EVENT_TRIGGER: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_EXTENSION")] +pub const ObjectType_OBJECT_EXTENSION: u32 = 15; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_FDW")] +pub const ObjectType_OBJECT_FDW: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_FOREIGN_SERVER")] +pub const ObjectType_OBJECT_FOREIGN_SERVER: u32 = 17; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_FOREIGN_TABLE")] +pub const ObjectType_OBJECT_FOREIGN_TABLE: u32 = 18; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_FUNCTION")] +pub const ObjectType_OBJECT_FUNCTION: u32 = 19; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_INDEX")] +pub const ObjectType_OBJECT_INDEX: u32 = 20; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_LANGUAGE")] +pub const ObjectType_OBJECT_LANGUAGE: u32 = 21; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_LARGEOBJECT")] +pub const ObjectType_OBJECT_LARGEOBJECT: u32 = 22; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_MATVIEW")] +pub const ObjectType_OBJECT_MATVIEW: u32 = 23; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_OPCLASS")] +pub const ObjectType_OBJECT_OPCLASS: u32 = 24; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_OPERATOR")] +pub const ObjectType_OBJECT_OPERATOR: u32 = 25; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_OPFAMILY")] +pub const ObjectType_OBJECT_OPFAMILY: u32 = 26; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_PARAMETER_ACL")] +pub const ObjectType_OBJECT_PARAMETER_ACL: u32 = 27; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_POLICY")] +pub const ObjectType_OBJECT_POLICY: u32 = 28; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_PROCEDURE")] +pub const ObjectType_OBJECT_PROCEDURE: u32 = 29; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_PUBLICATION")] +pub const ObjectType_OBJECT_PUBLICATION: u32 = 30; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_PUBLICATION_NAMESPACE")] +pub const ObjectType_OBJECT_PUBLICATION_NAMESPACE: u32 = 31; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_PUBLICATION_REL")] +pub const ObjectType_OBJECT_PUBLICATION_REL: u32 = 32; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_ROLE")] +pub const ObjectType_OBJECT_ROLE: u32 = 33; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_ROUTINE")] +pub const ObjectType_OBJECT_ROUTINE: u32 = 34; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_RULE")] +pub const ObjectType_OBJECT_RULE: u32 = 35; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_SCHEMA")] +pub const ObjectType_OBJECT_SCHEMA: u32 = 36; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_SEQUENCE")] +pub const ObjectType_OBJECT_SEQUENCE: u32 = 37; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_SUBSCRIPTION")] +pub const ObjectType_OBJECT_SUBSCRIPTION: u32 = 38; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_STATISTIC_EXT")] +pub const ObjectType_OBJECT_STATISTIC_EXT: u32 = 39; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_TABCONSTRAINT")] +pub const ObjectType_OBJECT_TABCONSTRAINT: u32 = 40; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_TABLE")] +pub const ObjectType_OBJECT_TABLE: u32 = 41; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_TABLESPACE")] +pub const ObjectType_OBJECT_TABLESPACE: u32 = 42; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_TRANSFORM")] +pub const ObjectType_OBJECT_TRANSFORM: u32 = 43; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_TRIGGER")] +pub const ObjectType_OBJECT_TRIGGER: u32 = 44; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_TSCONFIGURATION")] +pub const ObjectType_OBJECT_TSCONFIGURATION: u32 = 45; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_TSDICTIONARY")] +pub const ObjectType_OBJECT_TSDICTIONARY: u32 = 46; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_TSPARSER")] +pub const ObjectType_OBJECT_TSPARSER: u32 = 47; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_TSTEMPLATE")] +pub const ObjectType_OBJECT_TSTEMPLATE: u32 = 48; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_TYPE")] +pub const ObjectType_OBJECT_TYPE: u32 = 49; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_USER_MAPPING")] +pub const ObjectType_OBJECT_USER_MAPPING: u32 = 50; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ObjectType::OBJECT_VIEW")] +pub const ObjectType_OBJECT_VIEW: u32 = 51; +#[deprecated(since = "0.12.0", note = "you want pg_sys::OnCommitAction::ONCOMMIT_NOOP")] +pub const OnCommitAction_ONCOMMIT_NOOP: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::OnCommitAction::ONCOMMIT_PRESERVE_ROWS")] +pub const OnCommitAction_ONCOMMIT_PRESERVE_ROWS: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::OnCommitAction::ONCOMMIT_DELETE_ROWS")] +pub const OnCommitAction_ONCOMMIT_DELETE_ROWS: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::OnCommitAction::ONCOMMIT_DROP")] +pub const OnCommitAction_ONCOMMIT_DROP: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::OnConflictAction::ONCONFLICT_NONE")] +pub const OnConflictAction_ONCONFLICT_NONE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::OnConflictAction::ONCONFLICT_NOTHING")] +pub const OnConflictAction_ONCONFLICT_NOTHING: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::OnConflictAction::ONCONFLICT_UPDATE")] +pub const OnConflictAction_ONCONFLICT_UPDATE: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::OutputPluginOutputType::OUTPUT_PLUGIN_BINARY_OUTPUT" +)] +pub const OutputPluginOutputType_OUTPUT_PLUGIN_BINARY_OUTPUT: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::OutputPluginOutputType::OUTPUT_PLUGIN_TEXTUAL_OUTPUT" +)] +pub const OutputPluginOutputType_OUTPUT_PLUGIN_TEXTUAL_OUTPUT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::OverridingKind::OVERRIDING_NOT_SET")] +pub const OverridingKind_OVERRIDING_NOT_SET: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::OverridingKind::OVERRIDING_USER_VALUE")] +pub const OverridingKind_OVERRIDING_USER_VALUE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::OverridingKind::OVERRIDING_SYSTEM_VALUE")] +pub const OverridingKind_OVERRIDING_SYSTEM_VALUE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PGErrorVerbosity::PGERROR_TERSE")] +pub const PGErrorVerbosity_PGERROR_TERSE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PGErrorVerbosity::PGERROR_DEFAULT")] +pub const PGErrorVerbosity_PGERROR_DEFAULT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PGErrorVerbosity::PGERROR_VERBOSE")] +pub const PGErrorVerbosity_PGERROR_VERBOSE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_datum_type::PLPGSQL_DTYPE_VAR")] +pub const PLpgSQL_datum_type_PLPGSQL_DTYPE_VAR: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_datum_type::PLPGSQL_DTYPE_ROW")] +pub const PLpgSQL_datum_type_PLPGSQL_DTYPE_ROW: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_datum_type::PLPGSQL_DTYPE_REC")] +pub const PLpgSQL_datum_type_PLPGSQL_DTYPE_REC: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_datum_type::PLPGSQL_DTYPE_RECFIELD" +)] +pub const PLpgSQL_datum_type_PLPGSQL_DTYPE_RECFIELD: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_datum_type::PLPGSQL_DTYPE_PROMISE")] +pub const PLpgSQL_datum_type_PLPGSQL_DTYPE_PROMISE: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_getdiag_kind::PLPGSQL_GETDIAG_ROW_COUNT" +)] +pub const PLpgSQL_getdiag_kind_PLPGSQL_GETDIAG_ROW_COUNT: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_getdiag_kind::PLPGSQL_GETDIAG_CONTEXT" +)] +pub const PLpgSQL_getdiag_kind_PLPGSQL_GETDIAG_CONTEXT: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_getdiag_kind::PLPGSQL_GETDIAG_ERROR_CONTEXT" +)] +pub const PLpgSQL_getdiag_kind_PLPGSQL_GETDIAG_ERROR_CONTEXT: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_getdiag_kind::PLPGSQL_GETDIAG_ERROR_DETAIL" +)] +pub const PLpgSQL_getdiag_kind_PLPGSQL_GETDIAG_ERROR_DETAIL: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_getdiag_kind::PLPGSQL_GETDIAG_ERROR_HINT" +)] +pub const PLpgSQL_getdiag_kind_PLPGSQL_GETDIAG_ERROR_HINT: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_getdiag_kind::PLPGSQL_GETDIAG_RETURNED_SQLSTATE" +)] +pub const PLpgSQL_getdiag_kind_PLPGSQL_GETDIAG_RETURNED_SQLSTATE: u32 = 6; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_getdiag_kind::PLPGSQL_GETDIAG_COLUMN_NAME" +)] +pub const PLpgSQL_getdiag_kind_PLPGSQL_GETDIAG_COLUMN_NAME: u32 = 7; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_getdiag_kind::PLPGSQL_GETDIAG_CONSTRAINT_NAME" +)] +pub const PLpgSQL_getdiag_kind_PLPGSQL_GETDIAG_CONSTRAINT_NAME: u32 = 8; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_getdiag_kind::PLPGSQL_GETDIAG_DATATYPE_NAME" +)] +pub const PLpgSQL_getdiag_kind_PLPGSQL_GETDIAG_DATATYPE_NAME: u32 = 9; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_getdiag_kind::PLPGSQL_GETDIAG_MESSAGE_TEXT" +)] +pub const PLpgSQL_getdiag_kind_PLPGSQL_GETDIAG_MESSAGE_TEXT: u32 = 10; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_getdiag_kind::PLPGSQL_GETDIAG_TABLE_NAME" +)] +pub const PLpgSQL_getdiag_kind_PLPGSQL_GETDIAG_TABLE_NAME: u32 = 11; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_getdiag_kind::PLPGSQL_GETDIAG_SCHEMA_NAME" +)] +pub const PLpgSQL_getdiag_kind_PLPGSQL_GETDIAG_SCHEMA_NAME: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_label_type::PLPGSQL_LABEL_BLOCK")] +pub const PLpgSQL_label_type_PLPGSQL_LABEL_BLOCK: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_label_type::PLPGSQL_LABEL_LOOP")] +pub const PLpgSQL_label_type_PLPGSQL_LABEL_LOOP: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_label_type::PLPGSQL_LABEL_OTHER")] +pub const PLpgSQL_label_type_PLPGSQL_LABEL_OTHER: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_nsitem_type::PLPGSQL_NSTYPE_LABEL")] +pub const PLpgSQL_nsitem_type_PLPGSQL_NSTYPE_LABEL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_nsitem_type::PLPGSQL_NSTYPE_VAR")] +pub const PLpgSQL_nsitem_type_PLPGSQL_NSTYPE_VAR: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_nsitem_type::PLPGSQL_NSTYPE_REC")] +pub const PLpgSQL_nsitem_type_PLPGSQL_NSTYPE_REC: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_promise_type::PLPGSQL_PROMISE_NONE" +)] +pub const PLpgSQL_promise_type_PLPGSQL_PROMISE_NONE: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_promise_type::PLPGSQL_PROMISE_TG_NAME" +)] +pub const PLpgSQL_promise_type_PLPGSQL_PROMISE_TG_NAME: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_promise_type::PLPGSQL_PROMISE_TG_WHEN" +)] +pub const PLpgSQL_promise_type_PLPGSQL_PROMISE_TG_WHEN: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_promise_type::PLPGSQL_PROMISE_TG_LEVEL" +)] +pub const PLpgSQL_promise_type_PLPGSQL_PROMISE_TG_LEVEL: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_promise_type::PLPGSQL_PROMISE_TG_OP" +)] +pub const PLpgSQL_promise_type_PLPGSQL_PROMISE_TG_OP: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_promise_type::PLPGSQL_PROMISE_TG_RELID" +)] +pub const PLpgSQL_promise_type_PLPGSQL_PROMISE_TG_RELID: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_promise_type::PLPGSQL_PROMISE_TG_TABLE_NAME" +)] +pub const PLpgSQL_promise_type_PLPGSQL_PROMISE_TG_TABLE_NAME: u32 = 6; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_promise_type::PLPGSQL_PROMISE_TG_TABLE_SCHEMA" +)] +pub const PLpgSQL_promise_type_PLPGSQL_PROMISE_TG_TABLE_SCHEMA: u32 = 7; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_promise_type::PLPGSQL_PROMISE_TG_NARGS" +)] +pub const PLpgSQL_promise_type_PLPGSQL_PROMISE_TG_NARGS: u32 = 8; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_promise_type::PLPGSQL_PROMISE_TG_ARGV" +)] +pub const PLpgSQL_promise_type_PLPGSQL_PROMISE_TG_ARGV: u32 = 9; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_promise_type::PLPGSQL_PROMISE_TG_EVENT" +)] +pub const PLpgSQL_promise_type_PLPGSQL_PROMISE_TG_EVENT: u32 = 10; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_promise_type::PLPGSQL_PROMISE_TG_TAG" +)] +pub const PLpgSQL_promise_type_PLPGSQL_PROMISE_TG_TAG: u32 = 11; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_raise_option_type::PLPGSQL_RAISEOPTION_ERRCODE" +)] +pub const PLpgSQL_raise_option_type_PLPGSQL_RAISEOPTION_ERRCODE: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_raise_option_type::PLPGSQL_RAISEOPTION_MESSAGE" +)] +pub const PLpgSQL_raise_option_type_PLPGSQL_RAISEOPTION_MESSAGE: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_raise_option_type::PLPGSQL_RAISEOPTION_DETAIL" +)] +pub const PLpgSQL_raise_option_type_PLPGSQL_RAISEOPTION_DETAIL: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_raise_option_type::PLPGSQL_RAISEOPTION_HINT" +)] +pub const PLpgSQL_raise_option_type_PLPGSQL_RAISEOPTION_HINT: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_raise_option_type::PLPGSQL_RAISEOPTION_COLUMN" +)] +pub const PLpgSQL_raise_option_type_PLPGSQL_RAISEOPTION_COLUMN: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_raise_option_type::PLPGSQL_RAISEOPTION_CONSTRAINT" +)] +pub const PLpgSQL_raise_option_type_PLPGSQL_RAISEOPTION_CONSTRAINT: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_raise_option_type::PLPGSQL_RAISEOPTION_DATATYPE" +)] +pub const PLpgSQL_raise_option_type_PLPGSQL_RAISEOPTION_DATATYPE: u32 = 6; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_raise_option_type::PLPGSQL_RAISEOPTION_TABLE" +)] +pub const PLpgSQL_raise_option_type_PLPGSQL_RAISEOPTION_TABLE: u32 = 7; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_raise_option_type::PLPGSQL_RAISEOPTION_SCHEMA" +)] +pub const PLpgSQL_raise_option_type_PLPGSQL_RAISEOPTION_SCHEMA: u32 = 8; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_resolve_option::PLPGSQL_RESOLVE_ERROR" +)] +pub const PLpgSQL_resolve_option_PLPGSQL_RESOLVE_ERROR: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_resolve_option::PLPGSQL_RESOLVE_VARIABLE" +)] +pub const PLpgSQL_resolve_option_PLPGSQL_RESOLVE_VARIABLE: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_resolve_option::PLPGSQL_RESOLVE_COLUMN" +)] +pub const PLpgSQL_resolve_option_PLPGSQL_RESOLVE_COLUMN: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_rwopt::PLPGSQL_RWOPT_UNKNOWN")] +pub const PLpgSQL_rwopt_PLPGSQL_RWOPT_UNKNOWN: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_rwopt::PLPGSQL_RWOPT_NOPE")] +pub const PLpgSQL_rwopt_PLPGSQL_RWOPT_NOPE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_rwopt::PLPGSQL_RWOPT_TRANSFER")] +pub const PLpgSQL_rwopt_PLPGSQL_RWOPT_TRANSFER: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_rwopt::PLPGSQL_RWOPT_INPLACE")] +pub const PLpgSQL_rwopt_PLPGSQL_RWOPT_INPLACE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_BLOCK")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_BLOCK: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_ASSIGN")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_ASSIGN: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_IF")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_IF: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_CASE")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_CASE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_LOOP")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_LOOP: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_WHILE")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_WHILE: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_FORI")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_FORI: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_FORS")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_FORS: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_FORC")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_FORC: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_FOREACH_A")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_FOREACH_A: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_EXIT")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_EXIT: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_RETURN")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_RETURN: u32 = 11; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_RETURN_NEXT" +)] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_RETURN_NEXT: u32 = 12; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_RETURN_QUERY" +)] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_RETURN_QUERY: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_RAISE")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_RAISE: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_ASSERT")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_ASSERT: u32 = 15; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_EXECSQL")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_EXECSQL: u32 = 16; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_DYNEXECUTE" +)] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_DYNEXECUTE: u32 = 17; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_DYNFORS")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_DYNFORS: u32 = 18; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_GETDIAG")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_GETDIAG: u32 = 19; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_OPEN")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_OPEN: u32 = 20; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_FETCH")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_FETCH: u32 = 21; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_CLOSE")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_CLOSE: u32 = 22; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_PERFORM")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_PERFORM: u32 = 23; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_CALL")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_CALL: u32 = 24; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_COMMIT")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_COMMIT: u32 = 25; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_stmt_type::PLPGSQL_STMT_ROLLBACK")] +pub const PLpgSQL_stmt_type_PLPGSQL_STMT_ROLLBACK: u32 = 26; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_trigtype::PLPGSQL_DML_TRIGGER")] +pub const PLpgSQL_trigtype_PLPGSQL_DML_TRIGGER: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_trigtype::PLPGSQL_EVENT_TRIGGER")] +pub const PLpgSQL_trigtype_PLPGSQL_EVENT_TRIGGER: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_trigtype::PLPGSQL_NOT_TRIGGER")] +pub const PLpgSQL_trigtype_PLPGSQL_NOT_TRIGGER: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_type_type::PLPGSQL_TTYPE_SCALAR")] +pub const PLpgSQL_type_type_PLPGSQL_TTYPE_SCALAR: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_type_type::PLPGSQL_TTYPE_REC")] +pub const PLpgSQL_type_type_PLPGSQL_TTYPE_REC: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PLpgSQL_type_type::PLPGSQL_TTYPE_PSEUDO")] +pub const PLpgSQL_type_type_PLPGSQL_TTYPE_PSEUDO: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParamKind::PARAM_EXTERN")] +pub const ParamKind_PARAM_EXTERN: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParamKind::PARAM_EXEC")] +pub const ParamKind_PARAM_EXEC: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParamKind::PARAM_SUBLINK")] +pub const ParamKind_PARAM_SUBLINK: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParamKind::PARAM_MULTIEXPR")] +pub const ParamKind_PARAM_MULTIEXPR: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_NONE")] +pub const ParseExprKind_EXPR_KIND_NONE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_OTHER")] +pub const ParseExprKind_EXPR_KIND_OTHER: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_JOIN_ON")] +pub const ParseExprKind_EXPR_KIND_JOIN_ON: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_JOIN_USING")] +pub const ParseExprKind_EXPR_KIND_JOIN_USING: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_FROM_SUBSELECT")] +pub const ParseExprKind_EXPR_KIND_FROM_SUBSELECT: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_FROM_FUNCTION")] +pub const ParseExprKind_EXPR_KIND_FROM_FUNCTION: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_WHERE")] +pub const ParseExprKind_EXPR_KIND_WHERE: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_HAVING")] +pub const ParseExprKind_EXPR_KIND_HAVING: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_FILTER")] +pub const ParseExprKind_EXPR_KIND_FILTER: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_WINDOW_PARTITION")] +pub const ParseExprKind_EXPR_KIND_WINDOW_PARTITION: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_WINDOW_ORDER")] +pub const ParseExprKind_EXPR_KIND_WINDOW_ORDER: u32 = 10; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ParseExprKind::EXPR_KIND_WINDOW_FRAME_RANGE" +)] +pub const ParseExprKind_EXPR_KIND_WINDOW_FRAME_RANGE: u32 = 11; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ParseExprKind::EXPR_KIND_WINDOW_FRAME_ROWS" +)] +pub const ParseExprKind_EXPR_KIND_WINDOW_FRAME_ROWS: u32 = 12; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ParseExprKind::EXPR_KIND_WINDOW_FRAME_GROUPS" +)] +pub const ParseExprKind_EXPR_KIND_WINDOW_FRAME_GROUPS: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_SELECT_TARGET")] +pub const ParseExprKind_EXPR_KIND_SELECT_TARGET: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_INSERT_TARGET")] +pub const ParseExprKind_EXPR_KIND_INSERT_TARGET: u32 = 15; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_UPDATE_SOURCE")] +pub const ParseExprKind_EXPR_KIND_UPDATE_SOURCE: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_UPDATE_TARGET")] +pub const ParseExprKind_EXPR_KIND_UPDATE_TARGET: u32 = 17; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_MERGE_WHEN")] +pub const ParseExprKind_EXPR_KIND_MERGE_WHEN: u32 = 18; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_GROUP_BY")] +pub const ParseExprKind_EXPR_KIND_GROUP_BY: u32 = 19; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_ORDER_BY")] +pub const ParseExprKind_EXPR_KIND_ORDER_BY: u32 = 20; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_DISTINCT_ON")] +pub const ParseExprKind_EXPR_KIND_DISTINCT_ON: u32 = 21; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_LIMIT")] +pub const ParseExprKind_EXPR_KIND_LIMIT: u32 = 22; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_OFFSET")] +pub const ParseExprKind_EXPR_KIND_OFFSET: u32 = 23; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_RETURNING")] +pub const ParseExprKind_EXPR_KIND_RETURNING: u32 = 24; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_MERGE_RETURNING")] +pub const ParseExprKind_EXPR_KIND_MERGE_RETURNING: u32 = 25; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_VALUES")] +pub const ParseExprKind_EXPR_KIND_VALUES: u32 = 26; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_VALUES_SINGLE")] +pub const ParseExprKind_EXPR_KIND_VALUES_SINGLE: u32 = 27; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_CHECK_CONSTRAINT")] +pub const ParseExprKind_EXPR_KIND_CHECK_CONSTRAINT: u32 = 28; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_DOMAIN_CHECK")] +pub const ParseExprKind_EXPR_KIND_DOMAIN_CHECK: u32 = 29; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_COLUMN_DEFAULT")] +pub const ParseExprKind_EXPR_KIND_COLUMN_DEFAULT: u32 = 30; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_FUNCTION_DEFAULT")] +pub const ParseExprKind_EXPR_KIND_FUNCTION_DEFAULT: u32 = 31; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_INDEX_EXPRESSION")] +pub const ParseExprKind_EXPR_KIND_INDEX_EXPRESSION: u32 = 32; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_INDEX_PREDICATE")] +pub const ParseExprKind_EXPR_KIND_INDEX_PREDICATE: u32 = 33; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_STATS_EXPRESSION")] +pub const ParseExprKind_EXPR_KIND_STATS_EXPRESSION: u32 = 34; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ParseExprKind::EXPR_KIND_ALTER_COL_TRANSFORM" +)] +pub const ParseExprKind_EXPR_KIND_ALTER_COL_TRANSFORM: u32 = 35; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ParseExprKind::EXPR_KIND_EXECUTE_PARAMETER" +)] +pub const ParseExprKind_EXPR_KIND_EXECUTE_PARAMETER: u32 = 36; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_TRIGGER_WHEN")] +pub const ParseExprKind_EXPR_KIND_TRIGGER_WHEN: u32 = 37; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_POLICY")] +pub const ParseExprKind_EXPR_KIND_POLICY: u32 = 38; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_PARTITION_BOUND")] +pub const ParseExprKind_EXPR_KIND_PARTITION_BOUND: u32 = 39; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ParseExprKind::EXPR_KIND_PARTITION_EXPRESSION" +)] +pub const ParseExprKind_EXPR_KIND_PARTITION_EXPRESSION: u32 = 40; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_CALL_ARGUMENT")] +pub const ParseExprKind_EXPR_KIND_CALL_ARGUMENT: u32 = 41; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_COPY_WHERE")] +pub const ParseExprKind_EXPR_KIND_COPY_WHERE: u32 = 42; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_GENERATED_COLUMN")] +pub const ParseExprKind_EXPR_KIND_GENERATED_COLUMN: u32 = 43; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ParseExprKind::EXPR_KIND_CYCLE_MARK")] +pub const ParseExprKind_EXPR_KIND_CYCLE_MARK: u32 = 44; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PartitionPruneCombineOp::PARTPRUNE_COMBINE_UNION" +)] +pub const PartitionPruneCombineOp_PARTPRUNE_COMBINE_UNION: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PartitionPruneCombineOp::PARTPRUNE_COMBINE_INTERSECT" +)] +pub const PartitionPruneCombineOp_PARTPRUNE_COMBINE_INTERSECT: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PartitionRangeDatumKind::PARTITION_RANGE_DATUM_MINVALUE" +)] +pub const PartitionRangeDatumKind_PARTITION_RANGE_DATUM_MINVALUE: i32 = -1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PartitionRangeDatumKind::PARTITION_RANGE_DATUM_VALUE" +)] +pub const PartitionRangeDatumKind_PARTITION_RANGE_DATUM_VALUE: i32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PartitionRangeDatumKind::PARTITION_RANGE_DATUM_MAXVALUE" +)] +pub const PartitionRangeDatumKind_PARTITION_RANGE_DATUM_MAXVALUE: i32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PartitionStrategy::PARTITION_STRATEGY_LIST" +)] +pub const PartitionStrategy_PARTITION_STRATEGY_LIST: u32 = 108; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PartitionStrategy::PARTITION_STRATEGY_RANGE" +)] +pub const PartitionStrategy_PARTITION_STRATEGY_RANGE: u32 = 114; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PartitionStrategy::PARTITION_STRATEGY_HASH" +)] +pub const PartitionStrategy_PARTITION_STRATEGY_HASH: u32 = 104; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PartitionwiseAggregateType::PARTITIONWISE_AGGREGATE_NONE" +)] +pub const PartitionwiseAggregateType_PARTITIONWISE_AGGREGATE_NONE: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PartitionwiseAggregateType::PARTITIONWISE_AGGREGATE_FULL" +)] +pub const PartitionwiseAggregateType_PARTITIONWISE_AGGREGATE_FULL: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PartitionwiseAggregateType::PARTITIONWISE_AGGREGATE_PARTIAL" +)] +pub const PartitionwiseAggregateType_PARTITIONWISE_AGGREGATE_PARTIAL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PasswordType::PASSWORD_TYPE_PLAINTEXT")] +pub const PasswordType_PASSWORD_TYPE_PLAINTEXT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PasswordType::PASSWORD_TYPE_MD5")] +pub const PasswordType_PASSWORD_TYPE_MD5: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PasswordType::PASSWORD_TYPE_SCRAM_SHA_256")] +pub const PasswordType_PASSWORD_TYPE_SCRAM_SHA_256: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PathKeysComparison::PATHKEYS_EQUAL")] +pub const PathKeysComparison_PATHKEYS_EQUAL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PathKeysComparison::PATHKEYS_BETTER1")] +pub const PathKeysComparison_PATHKEYS_BETTER1: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PathKeysComparison::PATHKEYS_BETTER2")] +pub const PathKeysComparison_PATHKEYS_BETTER2: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PathKeysComparison::PATHKEYS_DIFFERENT")] +pub const PathKeysComparison_PATHKEYS_DIFFERENT: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PgAioResultStatus::PGAIO_RS_UNKNOWN")] +pub const PgAioResultStatus_PGAIO_RS_UNKNOWN: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PgAioResultStatus::PGAIO_RS_OK")] +pub const PgAioResultStatus_PGAIO_RS_OK: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PgAioResultStatus::PGAIO_RS_PARTIAL")] +pub const PgAioResultStatus_PGAIO_RS_PARTIAL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PgAioResultStatus::PGAIO_RS_WARNING")] +pub const PgAioResultStatus_PGAIO_RS_WARNING: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PgAioResultStatus::PGAIO_RS_ERROR")] +pub const PgAioResultStatus_PGAIO_RS_ERROR: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PgStat_FetchConsistency::PGSTAT_FETCH_CONSISTENCY_NONE" +)] +pub const PgStat_FetchConsistency_PGSTAT_FETCH_CONSISTENCY_NONE: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PgStat_FetchConsistency::PGSTAT_FETCH_CONSISTENCY_CACHE" +)] +pub const PgStat_FetchConsistency_PGSTAT_FETCH_CONSISTENCY_CACHE: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PgStat_FetchConsistency::PGSTAT_FETCH_CONSISTENCY_SNAPSHOT" +)] +pub const PgStat_FetchConsistency_PGSTAT_FETCH_CONSISTENCY_SNAPSHOT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PlanCacheMode::PLAN_CACHE_MODE_AUTO")] +pub const PlanCacheMode_PLAN_CACHE_MODE_AUTO: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PlanCacheMode::PLAN_CACHE_MODE_FORCE_GENERIC_PLAN" +)] +pub const PlanCacheMode_PLAN_CACHE_MODE_FORCE_GENERIC_PLAN: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PlanCacheMode::PLAN_CACHE_MODE_FORCE_CUSTOM_PLAN" +)] +pub const PlanCacheMode_PLAN_CACHE_MODE_FORCE_CUSTOM_PLAN: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PortalStatus::PORTAL_NEW")] +pub const PortalStatus_PORTAL_NEW: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PortalStatus::PORTAL_DEFINED")] +pub const PortalStatus_PORTAL_DEFINED: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PortalStatus::PORTAL_READY")] +pub const PortalStatus_PORTAL_READY: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PortalStatus::PORTAL_ACTIVE")] +pub const PortalStatus_PORTAL_ACTIVE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PortalStatus::PORTAL_DONE")] +pub const PortalStatus_PORTAL_DONE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PortalStatus::PORTAL_FAILED")] +pub const PortalStatus_PORTAL_FAILED: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PortalStrategy::PORTAL_ONE_SELECT")] +pub const PortalStrategy_PORTAL_ONE_SELECT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PortalStrategy::PORTAL_ONE_RETURNING")] +pub const PortalStrategy_PORTAL_ONE_RETURNING: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PortalStrategy::PORTAL_ONE_MOD_WITH")] +pub const PortalStrategy_PORTAL_ONE_MOD_WITH: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PortalStrategy::PORTAL_UTIL_SELECT")] +pub const PortalStrategy_PORTAL_UTIL_SELECT: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PortalStrategy::PORTAL_MULTI_QUERY")] +pub const PortalStrategy_PORTAL_MULTI_QUERY: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalBarrierType::PROCSIGNAL_BARRIER_SMGRRELEASE" +)] +pub const ProcSignalBarrierType_PROCSIGNAL_BARRIER_SMGRRELEASE: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_CATCHUP_INTERRUPT" +)] +pub const ProcSignalReason_PROCSIG_CATCHUP_INTERRUPT: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_NOTIFY_INTERRUPT" +)] +pub const ProcSignalReason_PROCSIG_NOTIFY_INTERRUPT: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_PARALLEL_MESSAGE" +)] +pub const ProcSignalReason_PROCSIG_PARALLEL_MESSAGE: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_WALSND_INIT_STOPPING" +)] +pub const ProcSignalReason_PROCSIG_WALSND_INIT_STOPPING: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ProcSignalReason::PROCSIG_BARRIER")] +pub const ProcSignalReason_PROCSIG_BARRIER: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_LOG_MEMORY_CONTEXT" +)] +pub const ProcSignalReason_PROCSIG_LOG_MEMORY_CONTEXT: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_GET_MEMORY_CONTEXT" +)] +pub const ProcSignalReason_PROCSIG_GET_MEMORY_CONTEXT: u32 = 6; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_PARALLEL_APPLY_MESSAGE" +)] +pub const ProcSignalReason_PROCSIG_PARALLEL_APPLY_MESSAGE: u32 = 7; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_RECOVERY_CONFLICT_FIRST" +)] +pub const ProcSignalReason_PROCSIG_RECOVERY_CONFLICT_FIRST: u32 = 8; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_RECOVERY_CONFLICT_DATABASE" +)] +pub const ProcSignalReason_PROCSIG_RECOVERY_CONFLICT_DATABASE: u32 = 8; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_RECOVERY_CONFLICT_TABLESPACE" +)] +pub const ProcSignalReason_PROCSIG_RECOVERY_CONFLICT_TABLESPACE: u32 = 9; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_RECOVERY_CONFLICT_LOCK" +)] +pub const ProcSignalReason_PROCSIG_RECOVERY_CONFLICT_LOCK: u32 = 10; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_RECOVERY_CONFLICT_SNAPSHOT" +)] +pub const ProcSignalReason_PROCSIG_RECOVERY_CONFLICT_SNAPSHOT: u32 = 11; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_RECOVERY_CONFLICT_LOGICALSLOT" +)] +pub const ProcSignalReason_PROCSIG_RECOVERY_CONFLICT_LOGICALSLOT: u32 = 12; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_RECOVERY_CONFLICT_BUFFERPIN" +)] +pub const ProcSignalReason_PROCSIG_RECOVERY_CONFLICT_BUFFERPIN: u32 = 13; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK" +)] +pub const ProcSignalReason_PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK: u32 = 14; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcSignalReason::PROCSIG_RECOVERY_CONFLICT_LAST" +)] +pub const ProcSignalReason_PROCSIG_RECOVERY_CONFLICT_LAST: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ProcWaitStatus::PROC_WAIT_STATUS_OK")] +pub const ProcWaitStatus_PROC_WAIT_STATUS_OK: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ProcWaitStatus::PROC_WAIT_STATUS_WAITING")] +pub const ProcWaitStatus_PROC_WAIT_STATUS_WAITING: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ProcWaitStatus::PROC_WAIT_STATUS_ERROR")] +pub const ProcWaitStatus_PROC_WAIT_STATUS_ERROR: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcessUtilityContext::PROCESS_UTILITY_TOPLEVEL" +)] +pub const ProcessUtilityContext_PROCESS_UTILITY_TOPLEVEL: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcessUtilityContext::PROCESS_UTILITY_QUERY" +)] +pub const ProcessUtilityContext_PROCESS_UTILITY_QUERY: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcessUtilityContext::PROCESS_UTILITY_QUERY_NONATOMIC" +)] +pub const ProcessUtilityContext_PROCESS_UTILITY_QUERY_NONATOMIC: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProcessUtilityContext::PROCESS_UTILITY_SUBCOMMAND" +)] +pub const ProcessUtilityContext_PROCESS_UTILITY_SUBCOMMAND: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ProcessingMode::BootstrapProcessing")] +pub const ProcessingMode_BootstrapProcessing: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ProcessingMode::InitProcessing")] +pub const ProcessingMode_InitProcessing: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ProcessingMode::NormalProcessing")] +pub const ProcessingMode_NormalProcessing: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProgressCommandType::PROGRESS_COMMAND_INVALID" +)] +pub const ProgressCommandType_PROGRESS_COMMAND_INVALID: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProgressCommandType::PROGRESS_COMMAND_VACUUM" +)] +pub const ProgressCommandType_PROGRESS_COMMAND_VACUUM: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProgressCommandType::PROGRESS_COMMAND_ANALYZE" +)] +pub const ProgressCommandType_PROGRESS_COMMAND_ANALYZE: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProgressCommandType::PROGRESS_COMMAND_CLUSTER" +)] +pub const ProgressCommandType_PROGRESS_COMMAND_CLUSTER: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProgressCommandType::PROGRESS_COMMAND_CREATE_INDEX" +)] +pub const ProgressCommandType_PROGRESS_COMMAND_CREATE_INDEX: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProgressCommandType::PROGRESS_COMMAND_BASEBACKUP" +)] +pub const ProgressCommandType_PROGRESS_COMMAND_BASEBACKUP: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ProgressCommandType::PROGRESS_COMMAND_COPY" +)] +pub const ProgressCommandType_PROGRESS_COMMAND_COPY: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PruneReason::PRUNE_ON_ACCESS")] +pub const PruneReason_PRUNE_ON_ACCESS: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PruneReason::PRUNE_VACUUM_SCAN")] +pub const PruneReason_PRUNE_VACUUM_SCAN: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PruneReason::PRUNE_VACUUM_CLEANUP")] +pub const PruneReason_PRUNE_VACUUM_CLEANUP: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PublicationObjSpecType::PUBLICATIONOBJ_TABLE" +)] +pub const PublicationObjSpecType_PUBLICATIONOBJ_TABLE: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PublicationObjSpecType::PUBLICATIONOBJ_TABLES_IN_SCHEMA" +)] +pub const PublicationObjSpecType_PUBLICATIONOBJ_TABLES_IN_SCHEMA: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PublicationObjSpecType::PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA" +)] +pub const PublicationObjSpecType_PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PublicationObjSpecType::PUBLICATIONOBJ_CONTINUATION" +)] +pub const PublicationObjSpecType_PUBLICATIONOBJ_CONTINUATION: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PublicationPartOpt::PUBLICATION_PART_ROOT")] +pub const PublicationPartOpt_PUBLICATION_PART_ROOT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PublicationPartOpt::PUBLICATION_PART_LEAF")] +pub const PublicationPartOpt_PUBLICATION_PART_LEAF: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PublicationPartOpt::PUBLICATION_PART_ALL")] +pub const PublicationPartOpt_PUBLICATION_PART_ALL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::PublishGencolsType::PUBLISH_GENCOLS_NONE")] +pub const PublishGencolsType_PUBLISH_GENCOLS_NONE: u32 = 110; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::PublishGencolsType::PUBLISH_GENCOLS_STORED" +)] +pub const PublishGencolsType_PUBLISH_GENCOLS_STORED: u32 = 115; +#[deprecated(since = "0.12.0", note = "you want pg_sys::QuerySource::QSRC_ORIGINAL")] +pub const QuerySource_QSRC_ORIGINAL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::QuerySource::QSRC_PARSER")] +pub const QuerySource_QSRC_PARSER: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::QuerySource::QSRC_INSTEAD_RULE")] +pub const QuerySource_QSRC_INSTEAD_RULE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::QuerySource::QSRC_QUAL_INSTEAD_RULE")] +pub const QuerySource_QSRC_QUAL_INSTEAD_RULE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::QuerySource::QSRC_NON_INSTEAD_RULE")] +pub const QuerySource_QSRC_NON_INSTEAD_RULE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RTEKind::RTE_RELATION")] +pub const RTEKind_RTE_RELATION: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RTEKind::RTE_SUBQUERY")] +pub const RTEKind_RTE_SUBQUERY: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RTEKind::RTE_JOIN")] +pub const RTEKind_RTE_JOIN: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RTEKind::RTE_FUNCTION")] +pub const RTEKind_RTE_FUNCTION: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RTEKind::RTE_TABLEFUNC")] +pub const RTEKind_RTE_TABLEFUNC: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RTEKind::RTE_VALUES")] +pub const RTEKind_RTE_VALUES: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RTEKind::RTE_CTE")] +pub const RTEKind_RTE_CTE: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RTEKind::RTE_NAMEDTUPLESTORE")] +pub const RTEKind_RTE_NAMEDTUPLESTORE: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RTEKind::RTE_RESULT")] +pub const RTEKind_RTE_RESULT: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RTEKind::RTE_GROUP")] +pub const RTEKind_RTE_GROUP: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RVROption::RVR_MISSING_OK")] +pub const RVROption_RVR_MISSING_OK: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RVROption::RVR_NOWAIT")] +pub const RVROption_RVR_NOWAIT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RVROption::RVR_SKIP_LOCKED")] +pub const RVROption_RVR_SKIP_LOCKED: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RawParseMode::RAW_PARSE_DEFAULT")] +pub const RawParseMode_RAW_PARSE_DEFAULT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RawParseMode::RAW_PARSE_TYPE_NAME")] +pub const RawParseMode_RAW_PARSE_TYPE_NAME: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RawParseMode::RAW_PARSE_PLPGSQL_EXPR")] +pub const RawParseMode_RAW_PARSE_PLPGSQL_EXPR: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RawParseMode::RAW_PARSE_PLPGSQL_ASSIGN1")] +pub const RawParseMode_RAW_PARSE_PLPGSQL_ASSIGN1: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RawParseMode::RAW_PARSE_PLPGSQL_ASSIGN2")] +pub const RawParseMode_RAW_PARSE_PLPGSQL_ASSIGN2: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RawParseMode::RAW_PARSE_PLPGSQL_ASSIGN3")] +pub const RawParseMode_RAW_PARSE_PLPGSQL_ASSIGN3: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReadBufferMode::RBM_NORMAL")] +pub const ReadBufferMode_RBM_NORMAL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReadBufferMode::RBM_ZERO_AND_LOCK")] +pub const ReadBufferMode_RBM_ZERO_AND_LOCK: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReadBufferMode::RBM_ZERO_AND_CLEANUP_LOCK")] +pub const ReadBufferMode_RBM_ZERO_AND_CLEANUP_LOCK: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReadBufferMode::RBM_ZERO_ON_ERROR")] +pub const ReadBufferMode_RBM_ZERO_ON_ERROR: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReadBufferMode::RBM_NORMAL_NO_LOG")] +pub const ReadBufferMode_RBM_NORMAL_NO_LOG: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RecoveryPauseState::RECOVERY_NOT_PAUSED")] +pub const RecoveryPauseState_RECOVERY_NOT_PAUSED: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::RecoveryPauseState::RECOVERY_PAUSE_REQUESTED" +)] +pub const RecoveryPauseState_RECOVERY_PAUSE_REQUESTED: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RecoveryPauseState::RECOVERY_PAUSED")] +pub const RecoveryPauseState_RECOVERY_PAUSED: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RecoveryState::RECOVERY_STATE_CRASH")] +pub const RecoveryState_RECOVERY_STATE_CRASH: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RecoveryState::RECOVERY_STATE_ARCHIVE")] +pub const RecoveryState_RECOVERY_STATE_ARCHIVE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RecoveryState::RECOVERY_STATE_DONE")] +pub const RecoveryState_RECOVERY_STATE_DONE: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::RecoveryTargetAction::RECOVERY_TARGET_ACTION_PAUSE" +)] +pub const RecoveryTargetAction_RECOVERY_TARGET_ACTION_PAUSE: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::RecoveryTargetAction::RECOVERY_TARGET_ACTION_PROMOTE" +)] +pub const RecoveryTargetAction_RECOVERY_TARGET_ACTION_PROMOTE: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::RecoveryTargetAction::RECOVERY_TARGET_ACTION_SHUTDOWN" +)] +pub const RecoveryTargetAction_RECOVERY_TARGET_ACTION_SHUTDOWN: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::RecoveryTargetTimeLineGoal::RECOVERY_TARGET_TIMELINE_CONTROLFILE" +)] +pub const RecoveryTargetTimeLineGoal_RECOVERY_TARGET_TIMELINE_CONTROLFILE: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::RecoveryTargetTimeLineGoal::RECOVERY_TARGET_TIMELINE_LATEST" +)] +pub const RecoveryTargetTimeLineGoal_RECOVERY_TARGET_TIMELINE_LATEST: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::RecoveryTargetTimeLineGoal::RECOVERY_TARGET_TIMELINE_NUMERIC" +)] +pub const RecoveryTargetTimeLineGoal_RECOVERY_TARGET_TIMELINE_NUMERIC: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RecoveryTargetType::RECOVERY_TARGET_UNSET")] +pub const RecoveryTargetType_RECOVERY_TARGET_UNSET: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RecoveryTargetType::RECOVERY_TARGET_XID")] +pub const RecoveryTargetType_RECOVERY_TARGET_XID: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RecoveryTargetType::RECOVERY_TARGET_TIME")] +pub const RecoveryTargetType_RECOVERY_TARGET_TIME: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RecoveryTargetType::RECOVERY_TARGET_NAME")] +pub const RecoveryTargetType_RECOVERY_TARGET_NAME: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RecoveryTargetType::RECOVERY_TARGET_LSN")] +pub const RecoveryTargetType_RECOVERY_TARGET_LSN: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::RecoveryTargetType::RECOVERY_TARGET_IMMEDIATE" +)] +pub const RecoveryTargetType_RECOVERY_TARGET_IMMEDIATE: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReindexObjectType::REINDEX_OBJECT_INDEX")] +pub const ReindexObjectType_REINDEX_OBJECT_INDEX: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReindexObjectType::REINDEX_OBJECT_TABLE")] +pub const ReindexObjectType_REINDEX_OBJECT_TABLE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReindexObjectType::REINDEX_OBJECT_SCHEMA")] +pub const ReindexObjectType_REINDEX_OBJECT_SCHEMA: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReindexObjectType::REINDEX_OBJECT_SYSTEM")] +pub const ReindexObjectType_REINDEX_OBJECT_SYSTEM: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReindexObjectType::REINDEX_OBJECT_DATABASE" +)] +pub const ReindexObjectType_REINDEX_OBJECT_DATABASE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RelOptKind::RELOPT_BASEREL")] +pub const RelOptKind_RELOPT_BASEREL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RelOptKind::RELOPT_JOINREL")] +pub const RelOptKind_RELOPT_JOINREL: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RelOptKind::RELOPT_OTHER_MEMBER_REL")] +pub const RelOptKind_RELOPT_OTHER_MEMBER_REL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RelOptKind::RELOPT_OTHER_JOINREL")] +pub const RelOptKind_RELOPT_OTHER_JOINREL: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RelOptKind::RELOPT_UPPER_REL")] +pub const RelOptKind_RELOPT_UPPER_REL: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RelOptKind::RELOPT_OTHER_UPPER_REL")] +pub const RelOptKind_RELOPT_OTHER_UPPER_REL: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReorderBufferChangeType::REORDER_BUFFER_CHANGE_INSERT" +)] +pub const ReorderBufferChangeType_REORDER_BUFFER_CHANGE_INSERT: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReorderBufferChangeType::REORDER_BUFFER_CHANGE_UPDATE" +)] +pub const ReorderBufferChangeType_REORDER_BUFFER_CHANGE_UPDATE: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReorderBufferChangeType::REORDER_BUFFER_CHANGE_DELETE" +)] +pub const ReorderBufferChangeType_REORDER_BUFFER_CHANGE_DELETE: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReorderBufferChangeType::REORDER_BUFFER_CHANGE_MESSAGE" +)] +pub const ReorderBufferChangeType_REORDER_BUFFER_CHANGE_MESSAGE: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReorderBufferChangeType::REORDER_BUFFER_CHANGE_INVALIDATION" +)] +pub const ReorderBufferChangeType_REORDER_BUFFER_CHANGE_INVALIDATION: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReorderBufferChangeType::REORDER_BUFFER_CHANGE_INTERNAL_SNAPSHOT" +)] +pub const ReorderBufferChangeType_REORDER_BUFFER_CHANGE_INTERNAL_SNAPSHOT: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReorderBufferChangeType::REORDER_BUFFER_CHANGE_INTERNAL_COMMAND_ID" +)] +pub const ReorderBufferChangeType_REORDER_BUFFER_CHANGE_INTERNAL_COMMAND_ID: u32 = 6; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReorderBufferChangeType::REORDER_BUFFER_CHANGE_INTERNAL_TUPLECID" +)] +pub const ReorderBufferChangeType_REORDER_BUFFER_CHANGE_INTERNAL_TUPLECID: u32 = 7; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReorderBufferChangeType::REORDER_BUFFER_CHANGE_INTERNAL_SPEC_INSERT" +)] +pub const ReorderBufferChangeType_REORDER_BUFFER_CHANGE_INTERNAL_SPEC_INSERT: u32 = 8; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReorderBufferChangeType::REORDER_BUFFER_CHANGE_INTERNAL_SPEC_CONFIRM" +)] +pub const ReorderBufferChangeType_REORDER_BUFFER_CHANGE_INTERNAL_SPEC_CONFIRM: u32 = 9; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReorderBufferChangeType::REORDER_BUFFER_CHANGE_INTERNAL_SPEC_ABORT" +)] +pub const ReorderBufferChangeType_REORDER_BUFFER_CHANGE_INTERNAL_SPEC_ABORT: u32 = 10; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReorderBufferChangeType::REORDER_BUFFER_CHANGE_TRUNCATE" +)] +pub const ReorderBufferChangeType_REORDER_BUFFER_CHANGE_TRUNCATE: u32 = 11; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReplicationKind::REPLICATION_KIND_PHYSICAL" +)] +pub const ReplicationKind_REPLICATION_KIND_PHYSICAL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReplicationKind::REPLICATION_KIND_LOGICAL")] +pub const ReplicationKind_REPLICATION_KIND_LOGICAL: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReplicationSlotInvalidationCause::RS_INVAL_NONE" +)] +pub const ReplicationSlotInvalidationCause_RS_INVAL_NONE: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReplicationSlotInvalidationCause::RS_INVAL_WAL_REMOVED" +)] +pub const ReplicationSlotInvalidationCause_RS_INVAL_WAL_REMOVED: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReplicationSlotInvalidationCause::RS_INVAL_HORIZON" +)] +pub const ReplicationSlotInvalidationCause_RS_INVAL_HORIZON: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReplicationSlotInvalidationCause::RS_INVAL_WAL_LEVEL" +)] +pub const ReplicationSlotInvalidationCause_RS_INVAL_WAL_LEVEL: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ReplicationSlotInvalidationCause::RS_INVAL_IDLE_TIMEOUT" +)] +pub const ReplicationSlotInvalidationCause_RS_INVAL_IDLE_TIMEOUT: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReplicationSlotPersistency::RS_PERSISTENT")] +pub const ReplicationSlotPersistency_RS_PERSISTENT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReplicationSlotPersistency::RS_EPHEMERAL")] +pub const ReplicationSlotPersistency_RS_EPHEMERAL: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReplicationSlotPersistency::RS_TEMPORARY")] +pub const ReplicationSlotPersistency_RS_TEMPORARY: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ResourceReleasePhase::RESOURCE_RELEASE_BEFORE_LOCKS" +)] +pub const ResourceReleasePhase_RESOURCE_RELEASE_BEFORE_LOCKS: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ResourceReleasePhase::RESOURCE_RELEASE_LOCKS" +)] +pub const ResourceReleasePhase_RESOURCE_RELEASE_LOCKS: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ResourceReleasePhase::RESOURCE_RELEASE_AFTER_LOCKS" +)] +pub const ResourceReleasePhase_RESOURCE_RELEASE_AFTER_LOCKS: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReturningOptionKind::RETURNING_OPTION_OLD")] +pub const ReturningOptionKind_RETURNING_OPTION_OLD: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ReturningOptionKind::RETURNING_OPTION_NEW")] +pub const ReturningOptionKind_RETURNING_OPTION_NEW: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_XLOG_ID")] +pub const RmgrIds_RM_XLOG_ID: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_XACT_ID")] +pub const RmgrIds_RM_XACT_ID: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_SMGR_ID")] +pub const RmgrIds_RM_SMGR_ID: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_CLOG_ID")] +pub const RmgrIds_RM_CLOG_ID: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_DBASE_ID")] +pub const RmgrIds_RM_DBASE_ID: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_TBLSPC_ID")] +pub const RmgrIds_RM_TBLSPC_ID: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_MULTIXACT_ID")] +pub const RmgrIds_RM_MULTIXACT_ID: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_RELMAP_ID")] +pub const RmgrIds_RM_RELMAP_ID: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_STANDBY_ID")] +pub const RmgrIds_RM_STANDBY_ID: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_HEAP2_ID")] +pub const RmgrIds_RM_HEAP2_ID: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_HEAP_ID")] +pub const RmgrIds_RM_HEAP_ID: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_BTREE_ID")] +pub const RmgrIds_RM_BTREE_ID: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_HASH_ID")] +pub const RmgrIds_RM_HASH_ID: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_GIN_ID")] +pub const RmgrIds_RM_GIN_ID: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_GIST_ID")] +pub const RmgrIds_RM_GIST_ID: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_SEQ_ID")] +pub const RmgrIds_RM_SEQ_ID: u32 = 15; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_SPGIST_ID")] +pub const RmgrIds_RM_SPGIST_ID: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_BRIN_ID")] +pub const RmgrIds_RM_BRIN_ID: u32 = 17; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_COMMIT_TS_ID")] +pub const RmgrIds_RM_COMMIT_TS_ID: u32 = 18; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_REPLORIGIN_ID")] +pub const RmgrIds_RM_REPLORIGIN_ID: u32 = 19; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_GENERIC_ID")] +pub const RmgrIds_RM_GENERIC_ID: u32 = 20; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_LOGICALMSG_ID")] +pub const RmgrIds_RM_LOGICALMSG_ID: u32 = 21; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RmgrIds::RM_NEXT_ID")] +pub const RmgrIds_RM_NEXT_ID: u32 = 22; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RoleSpecType::ROLESPEC_CSTRING")] +pub const RoleSpecType_ROLESPEC_CSTRING: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RoleSpecType::ROLESPEC_CURRENT_ROLE")] +pub const RoleSpecType_ROLESPEC_CURRENT_ROLE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RoleSpecType::ROLESPEC_CURRENT_USER")] +pub const RoleSpecType_ROLESPEC_CURRENT_USER: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RoleSpecType::ROLESPEC_SESSION_USER")] +pub const RoleSpecType_ROLESPEC_SESSION_USER: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RoleSpecType::ROLESPEC_PUBLIC")] +pub const RoleSpecType_ROLESPEC_PUBLIC: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RoleStmtType::ROLESTMT_ROLE")] +pub const RoleStmtType_ROLESTMT_ROLE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RoleStmtType::ROLESTMT_USER")] +pub const RoleStmtType_ROLESTMT_USER: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RoleStmtType::ROLESTMT_GROUP")] +pub const RoleStmtType_ROLESTMT_GROUP: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RowMarkType::ROW_MARK_EXCLUSIVE")] +pub const RowMarkType_ROW_MARK_EXCLUSIVE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RowMarkType::ROW_MARK_NOKEYEXCLUSIVE")] +pub const RowMarkType_ROW_MARK_NOKEYEXCLUSIVE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RowMarkType::ROW_MARK_SHARE")] +pub const RowMarkType_ROW_MARK_SHARE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RowMarkType::ROW_MARK_KEYSHARE")] +pub const RowMarkType_ROW_MARK_KEYSHARE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RowMarkType::ROW_MARK_REFERENCE")] +pub const RowMarkType_ROW_MARK_REFERENCE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::RowMarkType::ROW_MARK_COPY")] +pub const RowMarkType_ROW_MARK_COPY: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SQLValueFunctionOp::SVFOP_CURRENT_DATE")] +pub const SQLValueFunctionOp_SVFOP_CURRENT_DATE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SQLValueFunctionOp::SVFOP_CURRENT_TIME")] +pub const SQLValueFunctionOp_SVFOP_CURRENT_TIME: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SQLValueFunctionOp::SVFOP_CURRENT_TIME_N")] +pub const SQLValueFunctionOp_SVFOP_CURRENT_TIME_N: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SQLValueFunctionOp::SVFOP_CURRENT_TIMESTAMP" +)] +pub const SQLValueFunctionOp_SVFOP_CURRENT_TIMESTAMP: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SQLValueFunctionOp::SVFOP_CURRENT_TIMESTAMP_N" +)] +pub const SQLValueFunctionOp_SVFOP_CURRENT_TIMESTAMP_N: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SQLValueFunctionOp::SVFOP_LOCALTIME")] +pub const SQLValueFunctionOp_SVFOP_LOCALTIME: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SQLValueFunctionOp::SVFOP_LOCALTIME_N")] +pub const SQLValueFunctionOp_SVFOP_LOCALTIME_N: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SQLValueFunctionOp::SVFOP_LOCALTIMESTAMP")] +pub const SQLValueFunctionOp_SVFOP_LOCALTIMESTAMP: u32 = 7; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SQLValueFunctionOp::SVFOP_LOCALTIMESTAMP_N" +)] +pub const SQLValueFunctionOp_SVFOP_LOCALTIMESTAMP_N: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SQLValueFunctionOp::SVFOP_CURRENT_ROLE")] +pub const SQLValueFunctionOp_SVFOP_CURRENT_ROLE: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SQLValueFunctionOp::SVFOP_CURRENT_USER")] +pub const SQLValueFunctionOp_SVFOP_CURRENT_USER: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SQLValueFunctionOp::SVFOP_USER")] +pub const SQLValueFunctionOp_SVFOP_USER: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SQLValueFunctionOp::SVFOP_SESSION_USER")] +pub const SQLValueFunctionOp_SVFOP_SESSION_USER: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SQLValueFunctionOp::SVFOP_CURRENT_CATALOG")] +pub const SQLValueFunctionOp_SVFOP_CURRENT_CATALOG: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SQLValueFunctionOp::SVFOP_CURRENT_SCHEMA")] +pub const SQLValueFunctionOp_SVFOP_CURRENT_SCHEMA: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanDirection::BackwardScanDirection")] +pub const ScanDirection_BackwardScanDirection: i32 = -1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanDirection::NoMovementScanDirection")] +pub const ScanDirection_NoMovementScanDirection: i32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanDirection::ForwardScanDirection")] +pub const ScanDirection_ForwardScanDirection: i32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanOptions::SO_TYPE_SEQSCAN")] +pub const ScanOptions_SO_TYPE_SEQSCAN: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanOptions::SO_TYPE_BITMAPSCAN")] +pub const ScanOptions_SO_TYPE_BITMAPSCAN: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanOptions::SO_TYPE_SAMPLESCAN")] +pub const ScanOptions_SO_TYPE_SAMPLESCAN: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanOptions::SO_TYPE_TIDSCAN")] +pub const ScanOptions_SO_TYPE_TIDSCAN: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanOptions::SO_TYPE_TIDRANGESCAN")] +pub const ScanOptions_SO_TYPE_TIDRANGESCAN: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanOptions::SO_TYPE_ANALYZE")] +pub const ScanOptions_SO_TYPE_ANALYZE: u32 = 32; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanOptions::SO_ALLOW_STRAT")] +pub const ScanOptions_SO_ALLOW_STRAT: u32 = 64; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanOptions::SO_ALLOW_SYNC")] +pub const ScanOptions_SO_ALLOW_SYNC: u32 = 128; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanOptions::SO_ALLOW_PAGEMODE")] +pub const ScanOptions_SO_ALLOW_PAGEMODE: u32 = 256; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ScanOptions::SO_TEMP_SNAPSHOT")] +pub const ScanOptions_SO_TEMP_SNAPSHOT: u32 = 512; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SessionBackupState::SESSION_BACKUP_NONE")] +pub const SessionBackupState_SESSION_BACKUP_NONE: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SessionBackupState::SESSION_BACKUP_RUNNING" +)] +pub const SessionBackupState_SESSION_BACKUP_RUNNING: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SessionEndType::DISCONNECT_NOT_YET")] +pub const SessionEndType_DISCONNECT_NOT_YET: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SessionEndType::DISCONNECT_NORMAL")] +pub const SessionEndType_DISCONNECT_NORMAL: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SessionEndType::DISCONNECT_CLIENT_EOF")] +pub const SessionEndType_DISCONNECT_CLIENT_EOF: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SessionEndType::DISCONNECT_FATAL")] +pub const SessionEndType_DISCONNECT_FATAL: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SessionEndType::DISCONNECT_KILLED")] +pub const SessionEndType_DISCONNECT_KILLED: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetFunctionReturnMode::SFRM_ValuePerCall")] +pub const SetFunctionReturnMode_SFRM_ValuePerCall: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetFunctionReturnMode::SFRM_Materialize")] +pub const SetFunctionReturnMode_SFRM_Materialize: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SetFunctionReturnMode::SFRM_Materialize_Random" +)] +pub const SetFunctionReturnMode_SFRM_Materialize_Random: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SetFunctionReturnMode::SFRM_Materialize_Preferred" +)] +pub const SetFunctionReturnMode_SFRM_Materialize_Preferred: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetOpCmd::SETOPCMD_INTERSECT")] +pub const SetOpCmd_SETOPCMD_INTERSECT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetOpCmd::SETOPCMD_INTERSECT_ALL")] +pub const SetOpCmd_SETOPCMD_INTERSECT_ALL: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetOpCmd::SETOPCMD_EXCEPT")] +pub const SetOpCmd_SETOPCMD_EXCEPT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetOpCmd::SETOPCMD_EXCEPT_ALL")] +pub const SetOpCmd_SETOPCMD_EXCEPT_ALL: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetOpStrategy::SETOP_SORTED")] +pub const SetOpStrategy_SETOP_SORTED: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetOpStrategy::SETOP_HASHED")] +pub const SetOpStrategy_SETOP_HASHED: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetOperation::SETOP_NONE")] +pub const SetOperation_SETOP_NONE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetOperation::SETOP_UNION")] +pub const SetOperation_SETOP_UNION: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetOperation::SETOP_INTERSECT")] +pub const SetOperation_SETOP_INTERSECT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetOperation::SETOP_EXCEPT")] +pub const SetOperation_SETOP_EXCEPT: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetQuantifier::SET_QUANTIFIER_DEFAULT")] +pub const SetQuantifier_SET_QUANTIFIER_DEFAULT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetQuantifier::SET_QUANTIFIER_ALL")] +pub const SetQuantifier_SET_QUANTIFIER_ALL: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SetQuantifier::SET_QUANTIFIER_DISTINCT")] +pub const SetQuantifier_SET_QUANTIFIER_DISTINCT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SharedBitmapState::BM_INITIAL")] +pub const SharedBitmapState_BM_INITIAL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SharedBitmapState::BM_INPROGRESS")] +pub const SharedBitmapState_BM_INPROGRESS: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SharedBitmapState::BM_FINISHED")] +pub const SharedBitmapState_BM_FINISHED: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SharedDependencyType::SHARED_DEPENDENCY_OWNER" +)] +pub const SharedDependencyType_SHARED_DEPENDENCY_OWNER: u32 = 111; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SharedDependencyType::SHARED_DEPENDENCY_ACL" +)] +pub const SharedDependencyType_SHARED_DEPENDENCY_ACL: u32 = 97; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SharedDependencyType::SHARED_DEPENDENCY_INITACL" +)] +pub const SharedDependencyType_SHARED_DEPENDENCY_INITACL: u32 = 105; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SharedDependencyType::SHARED_DEPENDENCY_POLICY" +)] +pub const SharedDependencyType_SHARED_DEPENDENCY_POLICY: u32 = 114; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SharedDependencyType::SHARED_DEPENDENCY_TABLESPACE" +)] +pub const SharedDependencyType_SHARED_DEPENDENCY_TABLESPACE: u32 = 116; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SharedDependencyType::SHARED_DEPENDENCY_INVALID" +)] +pub const SharedDependencyType_SHARED_DEPENDENCY_INVALID: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SnapshotType::SNAPSHOT_MVCC")] +pub const SnapshotType_SNAPSHOT_MVCC: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SnapshotType::SNAPSHOT_SELF")] +pub const SnapshotType_SNAPSHOT_SELF: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SnapshotType::SNAPSHOT_ANY")] +pub const SnapshotType_SNAPSHOT_ANY: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SnapshotType::SNAPSHOT_TOAST")] +pub const SnapshotType_SNAPSHOT_TOAST: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SnapshotType::SNAPSHOT_DIRTY")] +pub const SnapshotType_SNAPSHOT_DIRTY: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SnapshotType::SNAPSHOT_HISTORIC_MVCC")] +pub const SnapshotType_SNAPSHOT_HISTORIC_MVCC: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SnapshotType::SNAPSHOT_NON_VACUUMABLE")] +pub const SnapshotType_SNAPSHOT_NON_VACUUMABLE: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SortByDir::SORTBY_DEFAULT")] +pub const SortByDir_SORTBY_DEFAULT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SortByDir::SORTBY_ASC")] +pub const SortByDir_SORTBY_ASC: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SortByDir::SORTBY_DESC")] +pub const SortByDir_SORTBY_DESC: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SortByDir::SORTBY_USING")] +pub const SortByDir_SORTBY_USING: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SortByNulls::SORTBY_NULLS_DEFAULT")] +pub const SortByNulls_SORTBY_NULLS_DEFAULT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SortByNulls::SORTBY_NULLS_FIRST")] +pub const SortByNulls_SORTBY_NULLS_FIRST: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SortByNulls::SORTBY_NULLS_LAST")] +pub const SortByNulls_SORTBY_NULLS_LAST: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::StdRdOptIndexCleanup::STDRD_OPTION_VACUUM_INDEX_CLEANUP_AUTO" +)] +pub const StdRdOptIndexCleanup_STDRD_OPTION_VACUUM_INDEX_CLEANUP_AUTO: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::StdRdOptIndexCleanup::STDRD_OPTION_VACUUM_INDEX_CLEANUP_OFF" +)] +pub const StdRdOptIndexCleanup_STDRD_OPTION_VACUUM_INDEX_CLEANUP_OFF: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::StdRdOptIndexCleanup::STDRD_OPTION_VACUUM_INDEX_CLEANUP_ON" +)] +pub const StdRdOptIndexCleanup_STDRD_OPTION_VACUUM_INDEX_CLEANUP_ON: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubLinkType::EXISTS_SUBLINK")] +pub const SubLinkType_EXISTS_SUBLINK: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubLinkType::ALL_SUBLINK")] +pub const SubLinkType_ALL_SUBLINK: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubLinkType::ANY_SUBLINK")] +pub const SubLinkType_ANY_SUBLINK: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubLinkType::ROWCOMPARE_SUBLINK")] +pub const SubLinkType_ROWCOMPARE_SUBLINK: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubLinkType::EXPR_SUBLINK")] +pub const SubLinkType_EXPR_SUBLINK: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubLinkType::MULTIEXPR_SUBLINK")] +pub const SubLinkType_MULTIEXPR_SUBLINK: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubLinkType::ARRAY_SUBLINK")] +pub const SubLinkType_ARRAY_SUBLINK: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubLinkType::CTE_SUBLINK")] +pub const SubLinkType_CTE_SUBLINK: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubXactEvent::SUBXACT_EVENT_START_SUB")] +pub const SubXactEvent_SUBXACT_EVENT_START_SUB: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubXactEvent::SUBXACT_EVENT_COMMIT_SUB")] +pub const SubXactEvent_SUBXACT_EVENT_COMMIT_SUB: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubXactEvent::SUBXACT_EVENT_ABORT_SUB")] +pub const SubXactEvent_SUBXACT_EVENT_ABORT_SUB: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SubXactEvent::SUBXACT_EVENT_PRE_COMMIT_SUB" +)] +pub const SubXactEvent_SUBXACT_EVENT_PRE_COMMIT_SUB: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubqueryScanStatus::SUBQUERY_SCAN_UNKNOWN")] +pub const SubqueryScanStatus_SUBQUERY_SCAN_UNKNOWN: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SubqueryScanStatus::SUBQUERY_SCAN_TRIVIAL")] +pub const SubqueryScanStatus_SUBQUERY_SCAN_TRIVIAL: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SubqueryScanStatus::SUBQUERY_SCAN_NONTRIVIAL" +)] +pub const SubqueryScanStatus_SUBQUERY_SCAN_NONTRIVIAL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SyncCommitLevel::SYNCHRONOUS_COMMIT_OFF")] +pub const SyncCommitLevel_SYNCHRONOUS_COMMIT_OFF: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SyncCommitLevel::SYNCHRONOUS_COMMIT_LOCAL_FLUSH" +)] +pub const SyncCommitLevel_SYNCHRONOUS_COMMIT_LOCAL_FLUSH: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SyncCommitLevel::SYNCHRONOUS_COMMIT_REMOTE_WRITE" +)] +pub const SyncCommitLevel_SYNCHRONOUS_COMMIT_REMOTE_WRITE: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SyncCommitLevel::SYNCHRONOUS_COMMIT_REMOTE_FLUSH" +)] +pub const SyncCommitLevel_SYNCHRONOUS_COMMIT_REMOTE_FLUSH: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SyncCommitLevel::SYNCHRONOUS_COMMIT_REMOTE_APPLY" +)] +pub const SyncCommitLevel_SYNCHRONOUS_COMMIT_REMOTE_APPLY: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SyncRequestHandler::SYNC_HANDLER_MD")] +pub const SyncRequestHandler_SYNC_HANDLER_MD: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SyncRequestHandler::SYNC_HANDLER_CLOG")] +pub const SyncRequestHandler_SYNC_HANDLER_CLOG: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SyncRequestHandler::SYNC_HANDLER_COMMIT_TS" +)] +pub const SyncRequestHandler_SYNC_HANDLER_COMMIT_TS: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SyncRequestHandler::SYNC_HANDLER_MULTIXACT_OFFSET" +)] +pub const SyncRequestHandler_SYNC_HANDLER_MULTIXACT_OFFSET: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SyncRequestHandler::SYNC_HANDLER_MULTIXACT_MEMBER" +)] +pub const SyncRequestHandler_SYNC_HANDLER_MULTIXACT_MEMBER: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SyncRequestHandler::SYNC_HANDLER_NONE")] +pub const SyncRequestHandler_SYNC_HANDLER_NONE: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SyncRequestType::SYNC_REQUEST")] +pub const SyncRequestType_SYNC_REQUEST: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SyncRequestType::SYNC_UNLINK_REQUEST")] +pub const SyncRequestType_SYNC_UNLINK_REQUEST: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SyncRequestType::SYNC_FORGET_REQUEST")] +pub const SyncRequestType_SYNC_FORGET_REQUEST: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SyncRequestType::SYNC_FILTER_REQUEST")] +pub const SyncRequestType_SYNC_FILTER_REQUEST: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::AMNAME")] +pub const SysCacheIdentifier_AMNAME: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::AMOPOPID")] +pub const SysCacheIdentifier_AMOPOPID: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::AMOPSTRATEGY")] +pub const SysCacheIdentifier_AMOPSTRATEGY: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::AMPROCNUM")] +pub const SysCacheIdentifier_AMPROCNUM: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::ATTNAME")] +pub const SysCacheIdentifier_ATTNAME: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::ATTNUM")] +pub const SysCacheIdentifier_ATTNUM: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::AUTHMEMMEMROLE")] +pub const SysCacheIdentifier_AUTHMEMMEMROLE: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::AUTHMEMROLEMEM")] +pub const SysCacheIdentifier_AUTHMEMROLEMEM: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::AUTHNAME")] +pub const SysCacheIdentifier_AUTHNAME: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::CASTSOURCETARGET")] +pub const SysCacheIdentifier_CASTSOURCETARGET: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::CLAAMNAMENSP")] +pub const SysCacheIdentifier_CLAAMNAMENSP: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::COLLNAMEENCNSP")] +pub const SysCacheIdentifier_COLLNAMEENCNSP: u32 = 15; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::CONDEFAULT")] +pub const SysCacheIdentifier_CONDEFAULT: u32 = 17; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::CONNAMENSP")] +pub const SysCacheIdentifier_CONNAMENSP: u32 = 18; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::DEFACLROLENSPOBJ")] +pub const SysCacheIdentifier_DEFACLROLENSPOBJ: u32 = 22; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::EVENTTRIGGERNAME")] +pub const SysCacheIdentifier_EVENTTRIGGERNAME: u32 = 25; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::EXTENSIONNAME")] +pub const SysCacheIdentifier_EXTENSIONNAME: u32 = 27; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SysCacheIdentifier::FOREIGNDATAWRAPPERNAME" +)] +pub const SysCacheIdentifier_FOREIGNDATAWRAPPERNAME: u32 = 29; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::FOREIGNSERVERNAME")] +pub const SysCacheIdentifier_FOREIGNSERVERNAME: u32 = 31; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::FOREIGNTABLEREL")] +pub const SysCacheIdentifier_FOREIGNTABLEREL: u32 = 33; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::INDEXRELID")] +pub const SysCacheIdentifier_INDEXRELID: u32 = 34; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::LANGNAME")] +pub const SysCacheIdentifier_LANGNAME: u32 = 35; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::NAMESPACENAME")] +pub const SysCacheIdentifier_NAMESPACENAME: u32 = 37; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::OPERNAMENSP")] +pub const SysCacheIdentifier_OPERNAMENSP: u32 = 39; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::OPFAMILYAMNAMENSP")] +pub const SysCacheIdentifier_OPFAMILYAMNAMENSP: u32 = 41; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::PARAMETERACLNAME")] +pub const SysCacheIdentifier_PARAMETERACLNAME: u32 = 43; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::PARTRELID")] +pub const SysCacheIdentifier_PARTRELID: u32 = 45; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::PROCNAMEARGSNSP")] +pub const SysCacheIdentifier_PROCNAMEARGSNSP: u32 = 46; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::PUBLICATIONNAME")] +pub const SysCacheIdentifier_PUBLICATIONNAME: u32 = 48; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::PUBLICATIONNAMESPACE")] +pub const SysCacheIdentifier_PUBLICATIONNAMESPACE: u32 = 49; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::SysCacheIdentifier::PUBLICATIONNAMESPACEMAP" +)] +pub const SysCacheIdentifier_PUBLICATIONNAMESPACEMAP: u32 = 50; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::PUBLICATIONREL")] +pub const SysCacheIdentifier_PUBLICATIONREL: u32 = 52; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::PUBLICATIONRELMAP")] +pub const SysCacheIdentifier_PUBLICATIONRELMAP: u32 = 53; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::RANGEMULTIRANGE")] +pub const SysCacheIdentifier_RANGEMULTIRANGE: u32 = 54; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::RANGETYPE")] +pub const SysCacheIdentifier_RANGETYPE: u32 = 55; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::RELNAMENSP")] +pub const SysCacheIdentifier_RELNAMENSP: u32 = 56; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::REPLORIGIDENT")] +pub const SysCacheIdentifier_REPLORIGIDENT: u32 = 58; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::REPLORIGNAME")] +pub const SysCacheIdentifier_REPLORIGNAME: u32 = 59; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::RULERELNAME")] +pub const SysCacheIdentifier_RULERELNAME: u32 = 60; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::SEQRELID")] +pub const SysCacheIdentifier_SEQRELID: u32 = 61; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::STATEXTNAMENSP")] +pub const SysCacheIdentifier_STATEXTNAMENSP: u32 = 63; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::STATRELATTINH")] +pub const SysCacheIdentifier_STATRELATTINH: u32 = 65; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::SUBSCRIPTIONNAME")] +pub const SysCacheIdentifier_SUBSCRIPTIONNAME: u32 = 66; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::SUBSCRIPTIONRELMAP")] +pub const SysCacheIdentifier_SUBSCRIPTIONRELMAP: u32 = 68; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::TRFTYPELANG")] +pub const SysCacheIdentifier_TRFTYPELANG: u32 = 71; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::TSCONFIGMAP")] +pub const SysCacheIdentifier_TSCONFIGMAP: u32 = 72; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::TSCONFIGNAMENSP")] +pub const SysCacheIdentifier_TSCONFIGNAMENSP: u32 = 73; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::TSDICTNAMENSP")] +pub const SysCacheIdentifier_TSDICTNAMENSP: u32 = 75; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::TSPARSERNAMENSP")] +pub const SysCacheIdentifier_TSPARSERNAMENSP: u32 = 77; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::TSTEMPLATENAMENSP")] +pub const SysCacheIdentifier_TSTEMPLATENAMENSP: u32 = 79; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::TYPENAMENSP")] +pub const SysCacheIdentifier_TYPENAMENSP: u32 = 81; +#[deprecated(since = "0.12.0", note = "you want pg_sys::SysCacheIdentifier::USERMAPPINGUSERSERVER")] +pub const SysCacheIdentifier_USERMAPPINGUSERSERVER: u32 = 84; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TM_Result::TM_Ok")] +pub const TM_Result_TM_Ok: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TM_Result::TM_Invisible")] +pub const TM_Result_TM_Invisible: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TM_Result::TM_SelfModified")] +pub const TM_Result_TM_SelfModified: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TM_Result::TM_Updated")] +pub const TM_Result_TM_Updated: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TM_Result::TM_Deleted")] +pub const TM_Result_TM_Deleted: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TM_Result::TM_BeingModified")] +pub const TM_Result_TM_BeingModified: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TM_Result::TM_WouldBlock")] +pub const TM_Result_TM_WouldBlock: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TSTernaryValue::TS_NO")] +pub const TSTernaryValue_TS_NO: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TSTernaryValue::TS_YES")] +pub const TSTernaryValue_TS_YES: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TSTernaryValue::TS_MAYBE")] +pub const TSTernaryValue_TS_MAYBE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TU_UpdateIndexes::TU_None")] +pub const TU_UpdateIndexes_TU_None: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TU_UpdateIndexes::TU_All")] +pub const TU_UpdateIndexes_TU_All: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TU_UpdateIndexes::TU_Summarizing")] +pub const TU_UpdateIndexes_TU_Summarizing: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TableFuncType::TFT_XMLTABLE")] +pub const TableFuncType_TFT_XMLTABLE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TableFuncType::TFT_JSON_TABLE")] +pub const TableFuncType_TFT_JSON_TABLE: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TableLikeOption::CREATE_TABLE_LIKE_COMMENTS" +)] +pub const TableLikeOption_CREATE_TABLE_LIKE_COMMENTS: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TableLikeOption::CREATE_TABLE_LIKE_COMPRESSION" +)] +pub const TableLikeOption_CREATE_TABLE_LIKE_COMPRESSION: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TableLikeOption::CREATE_TABLE_LIKE_CONSTRAINTS" +)] +pub const TableLikeOption_CREATE_TABLE_LIKE_CONSTRAINTS: u32 = 4; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TableLikeOption::CREATE_TABLE_LIKE_DEFAULTS" +)] +pub const TableLikeOption_CREATE_TABLE_LIKE_DEFAULTS: u32 = 8; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TableLikeOption::CREATE_TABLE_LIKE_GENERATED" +)] +pub const TableLikeOption_CREATE_TABLE_LIKE_GENERATED: u32 = 16; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TableLikeOption::CREATE_TABLE_LIKE_IDENTITY" +)] +pub const TableLikeOption_CREATE_TABLE_LIKE_IDENTITY: u32 = 32; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TableLikeOption::CREATE_TABLE_LIKE_INDEXES" +)] +pub const TableLikeOption_CREATE_TABLE_LIKE_INDEXES: u32 = 64; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TableLikeOption::CREATE_TABLE_LIKE_STATISTICS" +)] +pub const TableLikeOption_CREATE_TABLE_LIKE_STATISTICS: u32 = 128; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TableLikeOption::CREATE_TABLE_LIKE_STORAGE" +)] +pub const TableLikeOption_CREATE_TABLE_LIKE_STORAGE: u32 = 256; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TableLikeOption::CREATE_TABLE_LIKE_ALL")] +pub const TableLikeOption_CREATE_TABLE_LIKE_ALL: u32 = 2147483647; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TempNamespaceStatus::TEMP_NAMESPACE_NOT_TEMP" +)] +pub const TempNamespaceStatus_TEMP_NAMESPACE_NOT_TEMP: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TempNamespaceStatus::TEMP_NAMESPACE_IDLE")] +pub const TempNamespaceStatus_TEMP_NAMESPACE_IDLE: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TempNamespaceStatus::TEMP_NAMESPACE_IN_USE" +)] +pub const TempNamespaceStatus_TEMP_NAMESPACE_IN_USE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TrackFunctionsLevel::TRACK_FUNC_OFF")] +pub const TrackFunctionsLevel_TRACK_FUNC_OFF: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TrackFunctionsLevel::TRACK_FUNC_PL")] +pub const TrackFunctionsLevel_TRACK_FUNC_PL: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TrackFunctionsLevel::TRACK_FUNC_ALL")] +pub const TrackFunctionsLevel_TRACK_FUNC_ALL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TransactionStmtKind::TRANS_STMT_BEGIN")] +pub const TransactionStmtKind_TRANS_STMT_BEGIN: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TransactionStmtKind::TRANS_STMT_START")] +pub const TransactionStmtKind_TRANS_STMT_START: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TransactionStmtKind::TRANS_STMT_COMMIT")] +pub const TransactionStmtKind_TRANS_STMT_COMMIT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TransactionStmtKind::TRANS_STMT_ROLLBACK")] +pub const TransactionStmtKind_TRANS_STMT_ROLLBACK: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TransactionStmtKind::TRANS_STMT_SAVEPOINT")] +pub const TransactionStmtKind_TRANS_STMT_SAVEPOINT: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TransactionStmtKind::TRANS_STMT_RELEASE")] +pub const TransactionStmtKind_TRANS_STMT_RELEASE: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TransactionStmtKind::TRANS_STMT_ROLLBACK_TO" +)] +pub const TransactionStmtKind_TRANS_STMT_ROLLBACK_TO: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TransactionStmtKind::TRANS_STMT_PREPARE")] +pub const TransactionStmtKind_TRANS_STMT_PREPARE: u32 = 7; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TransactionStmtKind::TRANS_STMT_COMMIT_PREPARED" +)] +pub const TransactionStmtKind_TRANS_STMT_COMMIT_PREPARED: u32 = 8; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TransactionStmtKind::TRANS_STMT_ROLLBACK_PREPARED" +)] +pub const TransactionStmtKind_TRANS_STMT_ROLLBACK_PREPARED: u32 = 9; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TuplesortMethod::SORT_TYPE_STILL_IN_PROGRESS" +)] +pub const TuplesortMethod_SORT_TYPE_STILL_IN_PROGRESS: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TuplesortMethod::SORT_TYPE_TOP_N_HEAPSORT")] +pub const TuplesortMethod_SORT_TYPE_TOP_N_HEAPSORT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TuplesortMethod::SORT_TYPE_QUICKSORT")] +pub const TuplesortMethod_SORT_TYPE_QUICKSORT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TuplesortMethod::SORT_TYPE_EXTERNAL_SORT")] +pub const TuplesortMethod_SORT_TYPE_EXTERNAL_SORT: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TuplesortMethod::SORT_TYPE_EXTERNAL_MERGE")] +pub const TuplesortMethod_SORT_TYPE_EXTERNAL_MERGE: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TuplesortSpaceType::SORT_SPACE_TYPE_DISK")] +pub const TuplesortSpaceType_SORT_SPACE_TYPE_DISK: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::TuplesortSpaceType::SORT_SPACE_TYPE_MEMORY" +)] +pub const TuplesortSpaceType_SORT_SPACE_TYPE_MEMORY: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TypeFuncClass::TYPEFUNC_SCALAR")] +pub const TypeFuncClass_TYPEFUNC_SCALAR: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TypeFuncClass::TYPEFUNC_COMPOSITE")] +pub const TypeFuncClass_TYPEFUNC_COMPOSITE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TypeFuncClass::TYPEFUNC_COMPOSITE_DOMAIN")] +pub const TypeFuncClass_TYPEFUNC_COMPOSITE_DOMAIN: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TypeFuncClass::TYPEFUNC_RECORD")] +pub const TypeFuncClass_TYPEFUNC_RECORD: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::TypeFuncClass::TYPEFUNC_OTHER")] +pub const TypeFuncClass_TYPEFUNC_OTHER: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::UniquePathMethod::UNIQUE_PATH_NOOP")] +pub const UniquePathMethod_UNIQUE_PATH_NOOP: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::UniquePathMethod::UNIQUE_PATH_HASH")] +pub const UniquePathMethod_UNIQUE_PATH_HASH: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::UniquePathMethod::UNIQUE_PATH_SORT")] +pub const UniquePathMethod_UNIQUE_PATH_SORT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::UpperRelationKind::UPPERREL_SETOP")] +pub const UpperRelationKind_UPPERREL_SETOP: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::UpperRelationKind::UPPERREL_PARTIAL_GROUP_AGG" +)] +pub const UpperRelationKind_UPPERREL_PARTIAL_GROUP_AGG: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::UpperRelationKind::UPPERREL_GROUP_AGG")] +pub const UpperRelationKind_UPPERREL_GROUP_AGG: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::UpperRelationKind::UPPERREL_WINDOW")] +pub const UpperRelationKind_UPPERREL_WINDOW: u32 = 3; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::UpperRelationKind::UPPERREL_PARTIAL_DISTINCT" +)] +pub const UpperRelationKind_UPPERREL_PARTIAL_DISTINCT: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::UpperRelationKind::UPPERREL_DISTINCT")] +pub const UpperRelationKind_UPPERREL_DISTINCT: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::UpperRelationKind::UPPERREL_ORDERED")] +pub const UpperRelationKind_UPPERREL_ORDERED: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::UpperRelationKind::UPPERREL_FINAL")] +pub const UpperRelationKind_UPPERREL_FINAL: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VacOptValue::VACOPTVALUE_UNSPECIFIED")] +pub const VacOptValue_VACOPTVALUE_UNSPECIFIED: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VacOptValue::VACOPTVALUE_AUTO")] +pub const VacOptValue_VACOPTVALUE_AUTO: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VacOptValue::VACOPTVALUE_DISABLED")] +pub const VacOptValue_VACOPTVALUE_DISABLED: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VacOptValue::VACOPTVALUE_ENABLED")] +pub const VacOptValue_VACOPTVALUE_ENABLED: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VarReturningType::VAR_RETURNING_DEFAULT")] +pub const VarReturningType_VAR_RETURNING_DEFAULT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VarReturningType::VAR_RETURNING_OLD")] +pub const VarReturningType_VAR_RETURNING_OLD: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VarReturningType::VAR_RETURNING_NEW")] +pub const VarReturningType_VAR_RETURNING_NEW: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VariableSetKind::VAR_SET_VALUE")] +pub const VariableSetKind_VAR_SET_VALUE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VariableSetKind::VAR_SET_DEFAULT")] +pub const VariableSetKind_VAR_SET_DEFAULT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VariableSetKind::VAR_SET_CURRENT")] +pub const VariableSetKind_VAR_SET_CURRENT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VariableSetKind::VAR_SET_MULTI")] +pub const VariableSetKind_VAR_SET_MULTI: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VariableSetKind::VAR_RESET")] +pub const VariableSetKind_VAR_RESET: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::VariableSetKind::VAR_RESET_ALL")] +pub const VariableSetKind_VAR_RESET_ALL: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ViewCheckOption::NO_CHECK_OPTION")] +pub const ViewCheckOption_NO_CHECK_OPTION: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ViewCheckOption::LOCAL_CHECK_OPTION")] +pub const ViewCheckOption_LOCAL_CHECK_OPTION: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::ViewCheckOption::CASCADED_CHECK_OPTION")] +pub const ViewCheckOption_CASCADED_CHECK_OPTION: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ViewOptCheckOption::VIEW_OPTION_CHECK_OPTION_NOT_SET" +)] +pub const ViewOptCheckOption_VIEW_OPTION_CHECK_OPTION_NOT_SET: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ViewOptCheckOption::VIEW_OPTION_CHECK_OPTION_LOCAL" +)] +pub const ViewOptCheckOption_VIEW_OPTION_CHECK_OPTION_LOCAL: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::ViewOptCheckOption::VIEW_OPTION_CHECK_OPTION_CASCADED" +)] +pub const ViewOptCheckOption_VIEW_OPTION_CHECK_OPTION_CASCADED: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::VolatileFunctionStatus::VOLATILITY_UNKNOWN" +)] +pub const VolatileFunctionStatus_VOLATILITY_UNKNOWN: u32 = 0; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::VolatileFunctionStatus::VOLATILITY_VOLATILE" +)] +pub const VolatileFunctionStatus_VOLATILITY_VOLATILE: u32 = 1; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::VolatileFunctionStatus::VOLATILITY_NOVOLATILE" +)] +pub const VolatileFunctionStatus_VOLATILITY_NOVOLATILE: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WALAvailability::WALAVAIL_INVALID_LSN")] +pub const WALAvailability_WALAVAIL_INVALID_LSN: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WALAvailability::WALAVAIL_RESERVED")] +pub const WALAvailability_WALAVAIL_RESERVED: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WALAvailability::WALAVAIL_EXTENDED")] +pub const WALAvailability_WALAVAIL_EXTENDED: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WALAvailability::WALAVAIL_UNRESERVED")] +pub const WALAvailability_WALAVAIL_UNRESERVED: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WALAvailability::WALAVAIL_REMOVED")] +pub const WALAvailability_WALAVAIL_REMOVED: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WCOKind::WCO_VIEW_CHECK")] +pub const WCOKind_WCO_VIEW_CHECK: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WCOKind::WCO_RLS_INSERT_CHECK")] +pub const WCOKind_WCO_RLS_INSERT_CHECK: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WCOKind::WCO_RLS_UPDATE_CHECK")] +pub const WCOKind_WCO_RLS_UPDATE_CHECK: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WCOKind::WCO_RLS_CONFLICT_CHECK")] +pub const WCOKind_WCO_RLS_CONFLICT_CHECK: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WCOKind::WCO_RLS_MERGE_UPDATE_CHECK")] +pub const WCOKind_WCO_RLS_MERGE_UPDATE_CHECK: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WCOKind::WCO_RLS_MERGE_DELETE_CHECK")] +pub const WCOKind_WCO_RLS_MERGE_DELETE_CHECK: u32 = 5; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_ARCHIVER_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_ARCHIVER_MAIN: u32 = 83886080; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_AUTOVACUUM_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_AUTOVACUUM_MAIN: u32 = 83886081; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_BGWRITER_HIBERNATE" +)] +pub const WaitEventActivity_WAIT_EVENT_BGWRITER_HIBERNATE: u32 = 83886082; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_BGWRITER_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_BGWRITER_MAIN: u32 = 83886083; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_CHECKPOINTER_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_CHECKPOINTER_MAIN: u32 = 83886084; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_CHECKPOINTER_SHUTDOWN" +)] +pub const WaitEventActivity_WAIT_EVENT_CHECKPOINTER_SHUTDOWN: u32 = 83886085; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_IO_WORKER_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_IO_WORKER_MAIN: u32 = 83886086; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_LOGICAL_APPLY_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_LOGICAL_APPLY_MAIN: u32 = 83886087; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_LOGICAL_LAUNCHER_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_LOGICAL_LAUNCHER_MAIN: u32 = 83886088; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN: u32 = 83886089; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_RECOVERY_WAL_STREAM" +)] +pub const WaitEventActivity_WAIT_EVENT_RECOVERY_WAL_STREAM: u32 = 83886090; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_REPLICATION_SLOTSYNC_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_REPLICATION_SLOTSYNC_MAIN: u32 = 83886091; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_REPLICATION_SLOTSYNC_SHUTDOWN" +)] +pub const WaitEventActivity_WAIT_EVENT_REPLICATION_SLOTSYNC_SHUTDOWN: u32 = 83886092; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_SYSLOGGER_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_SYSLOGGER_MAIN: u32 = 83886093; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_WAL_RECEIVER_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_WAL_RECEIVER_MAIN: u32 = 83886094; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_WAL_SENDER_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_WAL_SENDER_MAIN: u32 = 83886095; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_WAL_SUMMARIZER_WAL" +)] +pub const WaitEventActivity_WAIT_EVENT_WAL_SUMMARIZER_WAL: u32 = 83886096; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventActivity::WAIT_EVENT_WAL_WRITER_MAIN" +)] +pub const WaitEventActivity_WAIT_EVENT_WAL_WRITER_MAIN: u32 = 83886097; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventBufferPin::WAIT_EVENT_BUFFER_PIN")] +pub const WaitEventBufferPin_WAIT_EVENT_BUFFER_PIN: u32 = 67108864; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventClient::WAIT_EVENT_CLIENT_READ")] +pub const WaitEventClient_WAIT_EVENT_CLIENT_READ: u32 = 100663296; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventClient::WAIT_EVENT_CLIENT_WRITE")] +pub const WaitEventClient_WAIT_EVENT_CLIENT_WRITE: u32 = 100663297; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventClient::WAIT_EVENT_GSS_OPEN_SERVER" +)] +pub const WaitEventClient_WAIT_EVENT_GSS_OPEN_SERVER: u32 = 100663298; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventClient::WAIT_EVENT_LIBPQWALRECEIVER_CONNECT" +)] +pub const WaitEventClient_WAIT_EVENT_LIBPQWALRECEIVER_CONNECT: u32 = 100663299; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventClient::WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE" +)] +pub const WaitEventClient_WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE: u32 = 100663300; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventClient::WAIT_EVENT_SSL_OPEN_SERVER" +)] +pub const WaitEventClient_WAIT_EVENT_SSL_OPEN_SERVER: u32 = 100663301; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventClient::WAIT_EVENT_WAIT_FOR_STANDBY_CONFIRMATION" +)] +pub const WaitEventClient_WAIT_EVENT_WAIT_FOR_STANDBY_CONFIRMATION: u32 = 100663302; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventClient::WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL" +)] +pub const WaitEventClient_WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL: u32 = 100663303; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventClient::WAIT_EVENT_WAL_SENDER_WRITE_DATA" +)] +pub const WaitEventClient_WAIT_EVENT_WAL_SENDER_WRITE_DATA: u32 = 100663304; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_AIO_IO_COMPLETION")] +pub const WaitEventIO_WAIT_EVENT_AIO_IO_COMPLETION: u32 = 167772160; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_AIO_IO_URING_EXECUTION" +)] +pub const WaitEventIO_WAIT_EVENT_AIO_IO_URING_EXECUTION: u32 = 167772161; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_AIO_IO_URING_SUBMIT" +)] +pub const WaitEventIO_WAIT_EVENT_AIO_IO_URING_SUBMIT: u32 = 167772162; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_BASEBACKUP_READ")] +pub const WaitEventIO_WAIT_EVENT_BASEBACKUP_READ: u32 = 167772163; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_BASEBACKUP_SYNC")] +pub const WaitEventIO_WAIT_EVENT_BASEBACKUP_SYNC: u32 = 167772164; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_BASEBACKUP_WRITE")] +pub const WaitEventIO_WAIT_EVENT_BASEBACKUP_WRITE: u32 = 167772165; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_BUFFILE_READ")] +pub const WaitEventIO_WAIT_EVENT_BUFFILE_READ: u32 = 167772166; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_BUFFILE_TRUNCATE")] +pub const WaitEventIO_WAIT_EVENT_BUFFILE_TRUNCATE: u32 = 167772167; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_BUFFILE_WRITE")] +pub const WaitEventIO_WAIT_EVENT_BUFFILE_WRITE: u32 = 167772168; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_CONTROL_FILE_READ")] +pub const WaitEventIO_WAIT_EVENT_CONTROL_FILE_READ: u32 = 167772169; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_CONTROL_FILE_SYNC")] +pub const WaitEventIO_WAIT_EVENT_CONTROL_FILE_SYNC: u32 = 167772170; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE" +)] +pub const WaitEventIO_WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE: u32 = 167772171; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_CONTROL_FILE_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_CONTROL_FILE_WRITE: u32 = 167772172; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE" +)] +pub const WaitEventIO_WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE: u32 = 167772173; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_COPY_FILE_COPY")] +pub const WaitEventIO_WAIT_EVENT_COPY_FILE_COPY: u32 = 167772174; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_COPY_FILE_READ")] +pub const WaitEventIO_WAIT_EVENT_COPY_FILE_READ: u32 = 167772175; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_COPY_FILE_WRITE")] +pub const WaitEventIO_WAIT_EVENT_COPY_FILE_WRITE: u32 = 167772176; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_DATA_FILE_EXTEND")] +pub const WaitEventIO_WAIT_EVENT_DATA_FILE_EXTEND: u32 = 167772177; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_DATA_FILE_FLUSH")] +pub const WaitEventIO_WAIT_EVENT_DATA_FILE_FLUSH: u32 = 167772178; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC" +)] +pub const WaitEventIO_WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC: u32 = 167772179; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_DATA_FILE_PREFETCH" +)] +pub const WaitEventIO_WAIT_EVENT_DATA_FILE_PREFETCH: u32 = 167772180; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_DATA_FILE_READ")] +pub const WaitEventIO_WAIT_EVENT_DATA_FILE_READ: u32 = 167772181; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_DATA_FILE_SYNC")] +pub const WaitEventIO_WAIT_EVENT_DATA_FILE_SYNC: u32 = 167772182; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_DATA_FILE_TRUNCATE" +)] +pub const WaitEventIO_WAIT_EVENT_DATA_FILE_TRUNCATE: u32 = 167772183; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_DATA_FILE_WRITE")] +pub const WaitEventIO_WAIT_EVENT_DATA_FILE_WRITE: u32 = 167772184; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_DSM_ALLOCATE")] +pub const WaitEventIO_WAIT_EVENT_DSM_ALLOCATE: u32 = 167772185; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_DSM_FILL_ZERO_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_DSM_FILL_ZERO_WRITE: u32 = 167772186; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ" +)] +pub const WaitEventIO_WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ: u32 = 167772187; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC" +)] +pub const WaitEventIO_WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC: u32 = 167772188; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE: u32 = 167772189; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOCK_FILE_CREATE_READ" +)] +pub const WaitEventIO_WAIT_EVENT_LOCK_FILE_CREATE_READ: u32 = 167772190; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOCK_FILE_CREATE_SYNC" +)] +pub const WaitEventIO_WAIT_EVENT_LOCK_FILE_CREATE_SYNC: u32 = 167772191; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOCK_FILE_CREATE_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_LOCK_FILE_CREATE_WRITE: u32 = 167772192; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ" +)] +pub const WaitEventIO_WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ: u32 = 167772193; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC" +)] +pub const WaitEventIO_WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC: u32 = 167772194; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC" +)] +pub const WaitEventIO_WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC: u32 = 167772195; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE: u32 = 167772196; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOGICAL_REWRITE_SYNC" +)] +pub const WaitEventIO_WAIT_EVENT_LOGICAL_REWRITE_SYNC: u32 = 167772197; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE" +)] +pub const WaitEventIO_WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE: u32 = 167772198; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_LOGICAL_REWRITE_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_LOGICAL_REWRITE_WRITE: u32 = 167772199; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_RELATION_MAP_READ")] +pub const WaitEventIO_WAIT_EVENT_RELATION_MAP_READ: u32 = 167772200; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_RELATION_MAP_REPLACE" +)] +pub const WaitEventIO_WAIT_EVENT_RELATION_MAP_REPLACE: u32 = 167772201; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_RELATION_MAP_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_RELATION_MAP_WRITE: u32 = 167772202; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_REORDER_BUFFER_READ" +)] +pub const WaitEventIO_WAIT_EVENT_REORDER_BUFFER_READ: u32 = 167772203; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_REORDER_BUFFER_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_REORDER_BUFFER_WRITE: u32 = 167772204; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ" +)] +pub const WaitEventIO_WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ: u32 = 167772205; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_REPLICATION_SLOT_READ" +)] +pub const WaitEventIO_WAIT_EVENT_REPLICATION_SLOT_READ: u32 = 167772206; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC" +)] +pub const WaitEventIO_WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC: u32 = 167772207; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_REPLICATION_SLOT_SYNC" +)] +pub const WaitEventIO_WAIT_EVENT_REPLICATION_SLOT_SYNC: u32 = 167772208; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_REPLICATION_SLOT_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_REPLICATION_SLOT_WRITE: u32 = 167772209; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_SLRU_FLUSH_SYNC")] +pub const WaitEventIO_WAIT_EVENT_SLRU_FLUSH_SYNC: u32 = 167772210; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_SLRU_READ")] +pub const WaitEventIO_WAIT_EVENT_SLRU_READ: u32 = 167772211; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_SLRU_SYNC")] +pub const WaitEventIO_WAIT_EVENT_SLRU_SYNC: u32 = 167772212; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_SLRU_WRITE")] +pub const WaitEventIO_WAIT_EVENT_SLRU_WRITE: u32 = 167772213; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_SNAPBUILD_READ")] +pub const WaitEventIO_WAIT_EVENT_SNAPBUILD_READ: u32 = 167772214; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_SNAPBUILD_SYNC")] +pub const WaitEventIO_WAIT_EVENT_SNAPBUILD_SYNC: u32 = 167772215; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_SNAPBUILD_WRITE")] +pub const WaitEventIO_WAIT_EVENT_SNAPBUILD_WRITE: u32 = 167772216; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC" +)] +pub const WaitEventIO_WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC: u32 = 167772217; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE: u32 = 167772218; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_TIMELINE_HISTORY_READ" +)] +pub const WaitEventIO_WAIT_EVENT_TIMELINE_HISTORY_READ: u32 = 167772219; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_TIMELINE_HISTORY_SYNC" +)] +pub const WaitEventIO_WAIT_EVENT_TIMELINE_HISTORY_SYNC: u32 = 167772220; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_TIMELINE_HISTORY_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_TIMELINE_HISTORY_WRITE: u32 = 167772221; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_TWOPHASE_FILE_READ" +)] +pub const WaitEventIO_WAIT_EVENT_TWOPHASE_FILE_READ: u32 = 167772222; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_TWOPHASE_FILE_SYNC" +)] +pub const WaitEventIO_WAIT_EVENT_TWOPHASE_FILE_SYNC: u32 = 167772223; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_TWOPHASE_FILE_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_TWOPHASE_FILE_WRITE: u32 = 167772224; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_VERSION_FILE_SYNC")] +pub const WaitEventIO_WAIT_EVENT_VERSION_FILE_SYNC: u32 = 167772225; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_VERSION_FILE_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_VERSION_FILE_WRITE: u32 = 167772226; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ" +)] +pub const WaitEventIO_WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ: u32 = 167772227; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_BOOTSTRAP_SYNC" +)] +pub const WaitEventIO_WAIT_EVENT_WAL_BOOTSTRAP_SYNC: u32 = 167772228; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_BOOTSTRAP_WRITE" +)] +pub const WaitEventIO_WAIT_EVENT_WAL_BOOTSTRAP_WRITE: u32 = 167772229; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_COPY_READ")] +pub const WaitEventIO_WAIT_EVENT_WAL_COPY_READ: u32 = 167772230; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_COPY_SYNC")] +pub const WaitEventIO_WAIT_EVENT_WAL_COPY_SYNC: u32 = 167772231; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_COPY_WRITE")] +pub const WaitEventIO_WAIT_EVENT_WAL_COPY_WRITE: u32 = 167772232; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_INIT_SYNC")] +pub const WaitEventIO_WAIT_EVENT_WAL_INIT_SYNC: u32 = 167772233; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_INIT_WRITE")] +pub const WaitEventIO_WAIT_EVENT_WAL_INIT_WRITE: u32 = 167772234; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_READ")] +pub const WaitEventIO_WAIT_EVENT_WAL_READ: u32 = 167772235; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_SUMMARY_READ")] +pub const WaitEventIO_WAIT_EVENT_WAL_SUMMARY_READ: u32 = 167772236; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_SUMMARY_WRITE")] +pub const WaitEventIO_WAIT_EVENT_WAL_SUMMARY_WRITE: u32 = 167772237; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_SYNC")] +pub const WaitEventIO_WAIT_EVENT_WAL_SYNC: u32 = 167772238; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN" +)] +pub const WaitEventIO_WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN: u32 = 167772239; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIO::WAIT_EVENT_WAL_WRITE")] +pub const WaitEventIO_WAIT_EVENT_WAL_WRITE: u32 = 167772240; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_APPEND_READY")] +pub const WaitEventIPC_WAIT_EVENT_APPEND_READY: u32 = 134217728; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND" +)] +pub const WaitEventIPC_WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND: u32 = 134217729; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_ARCHIVE_COMMAND")] +pub const WaitEventIPC_WAIT_EVENT_ARCHIVE_COMMAND: u32 = 134217730; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_BACKEND_TERMINATION" +)] +pub const WaitEventIPC_WAIT_EVENT_BACKEND_TERMINATION: u32 = 134217731; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE" +)] +pub const WaitEventIPC_WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE: u32 = 134217732; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_BGWORKER_SHUTDOWN" +)] +pub const WaitEventIPC_WAIT_EVENT_BGWORKER_SHUTDOWN: u32 = 134217733; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_BGWORKER_STARTUP")] +pub const WaitEventIPC_WAIT_EVENT_BGWORKER_STARTUP: u32 = 134217734; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_BTREE_PAGE")] +pub const WaitEventIPC_WAIT_EVENT_BTREE_PAGE: u32 = 134217735; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_BUFFER_IO")] +pub const WaitEventIPC_WAIT_EVENT_BUFFER_IO: u32 = 134217736; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_CHECKPOINT_DELAY_COMPLETE" +)] +pub const WaitEventIPC_WAIT_EVENT_CHECKPOINT_DELAY_COMPLETE: u32 = 134217737; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_CHECKPOINT_DELAY_START" +)] +pub const WaitEventIPC_WAIT_EVENT_CHECKPOINT_DELAY_START: u32 = 134217738; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_CHECKPOINT_DONE")] +pub const WaitEventIPC_WAIT_EVENT_CHECKPOINT_DONE: u32 = 134217739; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_CHECKPOINT_START")] +pub const WaitEventIPC_WAIT_EVENT_CHECKPOINT_START: u32 = 134217740; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_EXECUTE_GATHER")] +pub const WaitEventIPC_WAIT_EVENT_EXECUTE_GATHER: u32 = 134217741; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_BATCH_ALLOCATE" +)] +pub const WaitEventIPC_WAIT_EVENT_HASH_BATCH_ALLOCATE: u32 = 134217742; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_BATCH_ELECT")] +pub const WaitEventIPC_WAIT_EVENT_HASH_BATCH_ELECT: u32 = 134217743; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_BATCH_LOAD")] +pub const WaitEventIPC_WAIT_EVENT_HASH_BATCH_LOAD: u32 = 134217744; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_BUILD_ALLOCATE" +)] +pub const WaitEventIPC_WAIT_EVENT_HASH_BUILD_ALLOCATE: u32 = 134217745; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_BUILD_ELECT")] +pub const WaitEventIPC_WAIT_EVENT_HASH_BUILD_ELECT: u32 = 134217746; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_BUILD_HASH_INNER" +)] +pub const WaitEventIPC_WAIT_EVENT_HASH_BUILD_HASH_INNER: u32 = 134217747; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_BUILD_HASH_OUTER" +)] +pub const WaitEventIPC_WAIT_EVENT_HASH_BUILD_HASH_OUTER: u32 = 134217748; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_GROW_BATCHES_DECIDE" +)] +pub const WaitEventIPC_WAIT_EVENT_HASH_GROW_BATCHES_DECIDE: u32 = 134217749; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_GROW_BATCHES_ELECT" +)] +pub const WaitEventIPC_WAIT_EVENT_HASH_GROW_BATCHES_ELECT: u32 = 134217750; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_GROW_BATCHES_FINISH" +)] +pub const WaitEventIPC_WAIT_EVENT_HASH_GROW_BATCHES_FINISH: u32 = 134217751; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE" +)] +pub const WaitEventIPC_WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE: u32 = 134217752; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION" +)] +pub const WaitEventIPC_WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION: u32 = 134217753; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_GROW_BUCKETS_ELECT" +)] +pub const WaitEventIPC_WAIT_EVENT_HASH_GROW_BUCKETS_ELECT: u32 = 134217754; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE" +)] +pub const WaitEventIPC_WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE: u32 = 134217755; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT" +)] +pub const WaitEventIPC_WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT: u32 = 134217756; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_LOGICAL_APPLY_SEND_DATA" +)] +pub const WaitEventIPC_WAIT_EVENT_LOGICAL_APPLY_SEND_DATA: u32 = 134217757; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE" +)] +pub const WaitEventIPC_WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE: u32 = 134217758; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_LOGICAL_SYNC_DATA" +)] +pub const WaitEventIPC_WAIT_EVENT_LOGICAL_SYNC_DATA: u32 = 134217759; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE" +)] +pub const WaitEventIPC_WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE: u32 = 134217760; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_MEM_CXT_PUBLISH")] +pub const WaitEventIPC_WAIT_EVENT_MEM_CXT_PUBLISH: u32 = 134217761; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_MESSAGE_QUEUE_INTERNAL" +)] +pub const WaitEventIPC_WAIT_EVENT_MESSAGE_QUEUE_INTERNAL: u32 = 134217762; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE" +)] +pub const WaitEventIPC_WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE: u32 = 134217763; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_MESSAGE_QUEUE_RECEIVE" +)] +pub const WaitEventIPC_WAIT_EVENT_MESSAGE_QUEUE_RECEIVE: u32 = 134217764; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_MESSAGE_QUEUE_SEND" +)] +pub const WaitEventIPC_WAIT_EVENT_MESSAGE_QUEUE_SEND: u32 = 134217765; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_MULTIXACT_CREATION" +)] +pub const WaitEventIPC_WAIT_EVENT_MULTIXACT_CREATION: u32 = 134217766; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_PARALLEL_BITMAP_SCAN" +)] +pub const WaitEventIPC_WAIT_EVENT_PARALLEL_BITMAP_SCAN: u32 = 134217767; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN" +)] +pub const WaitEventIPC_WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN: u32 = 134217768; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_PARALLEL_FINISH")] +pub const WaitEventIPC_WAIT_EVENT_PARALLEL_FINISH: u32 = 134217769; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_PROCARRAY_GROUP_UPDATE" +)] +pub const WaitEventIPC_WAIT_EVENT_PROCARRAY_GROUP_UPDATE: u32 = 134217770; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_PROC_SIGNAL_BARRIER" +)] +pub const WaitEventIPC_WAIT_EVENT_PROC_SIGNAL_BARRIER: u32 = 134217771; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_PROMOTE")] +pub const WaitEventIPC_WAIT_EVENT_PROMOTE: u32 = 134217772; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT" +)] +pub const WaitEventIPC_WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT: u32 = 134217773; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE" +)] +pub const WaitEventIPC_WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE: u32 = 134217774; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_RECOVERY_END_COMMAND" +)] +pub const WaitEventIPC_WAIT_EVENT_RECOVERY_END_COMMAND: u32 = 134217775; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_RECOVERY_PAUSE")] +pub const WaitEventIPC_WAIT_EVENT_RECOVERY_PAUSE: u32 = 134217776; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_REPLICATION_ORIGIN_DROP" +)] +pub const WaitEventIPC_WAIT_EVENT_REPLICATION_ORIGIN_DROP: u32 = 134217777; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_REPLICATION_SLOT_DROP" +)] +pub const WaitEventIPC_WAIT_EVENT_REPLICATION_SLOT_DROP: u32 = 134217778; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_RESTORE_COMMAND")] +pub const WaitEventIPC_WAIT_EVENT_RESTORE_COMMAND: u32 = 134217779; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_SAFE_SNAPSHOT")] +pub const WaitEventIPC_WAIT_EVENT_SAFE_SNAPSHOT: u32 = 134217780; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_SYNC_REP")] +pub const WaitEventIPC_WAIT_EVENT_SYNC_REP: u32 = 134217781; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_WAL_BUFFER_INIT")] +pub const WaitEventIPC_WAIT_EVENT_WAL_BUFFER_INIT: u32 = 134217782; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_WAL_RECEIVER_EXIT" +)] +pub const WaitEventIPC_WAIT_EVENT_WAL_RECEIVER_EXIT: u32 = 134217783; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_WAL_RECEIVER_WAIT_START" +)] +pub const WaitEventIPC_WAIT_EVENT_WAL_RECEIVER_WAIT_START: u32 = 134217784; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_WAL_SUMMARY_READY" +)] +pub const WaitEventIPC_WAIT_EVENT_WAL_SUMMARY_READY: u32 = 134217785; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventIPC::WAIT_EVENT_XACT_GROUP_UPDATE" +)] +pub const WaitEventIPC_WAIT_EVENT_XACT_GROUP_UPDATE: u32 = 134217786; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventTimeout::WAIT_EVENT_BASE_BACKUP_THROTTLE" +)] +pub const WaitEventTimeout_WAIT_EVENT_BASE_BACKUP_THROTTLE: u32 = 150994944; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventTimeout::WAIT_EVENT_CHECKPOINT_WRITE_DELAY" +)] +pub const WaitEventTimeout_WAIT_EVENT_CHECKPOINT_WRITE_DELAY: u32 = 150994945; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventTimeout::WAIT_EVENT_PG_SLEEP")] +pub const WaitEventTimeout_WAIT_EVENT_PG_SLEEP: u32 = 150994946; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventTimeout::WAIT_EVENT_RECOVERY_APPLY_DELAY" +)] +pub const WaitEventTimeout_WAIT_EVENT_RECOVERY_APPLY_DELAY: u32 = 150994947; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventTimeout::WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL" +)] +pub const WaitEventTimeout_WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL: u32 = 150994948; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventTimeout::WAIT_EVENT_REGISTER_SYNC_REQUEST" +)] +pub const WaitEventTimeout_WAIT_EVENT_REGISTER_SYNC_REQUEST: u32 = 150994949; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventTimeout::WAIT_EVENT_SPIN_DELAY")] +pub const WaitEventTimeout_WAIT_EVENT_SPIN_DELAY: u32 = 150994950; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WaitEventTimeout::WAIT_EVENT_VACUUM_DELAY")] +pub const WaitEventTimeout_WAIT_EVENT_VACUUM_DELAY: u32 = 150994951; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventTimeout::WAIT_EVENT_VACUUM_TRUNCATE" +)] +pub const WaitEventTimeout_WAIT_EVENT_VACUUM_TRUNCATE: u32 = 150994952; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WaitEventTimeout::WAIT_EVENT_WAL_SUMMARIZER_ERROR" +)] +pub const WaitEventTimeout_WAIT_EVENT_WAL_SUMMARIZER_ERROR: u32 = 150994953; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalCompression::WAL_COMPRESSION_NONE")] +pub const WalCompression_WAL_COMPRESSION_NONE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalCompression::WAL_COMPRESSION_PGLZ")] +pub const WalCompression_WAL_COMPRESSION_PGLZ: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalCompression::WAL_COMPRESSION_LZ4")] +pub const WalCompression_WAL_COMPRESSION_LZ4: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalCompression::WAL_COMPRESSION_ZSTD")] +pub const WalCompression_WAL_COMPRESSION_ZSTD: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalLevel::WAL_LEVEL_MINIMAL")] +pub const WalLevel_WAL_LEVEL_MINIMAL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalLevel::WAL_LEVEL_REPLICA")] +pub const WalLevel_WAL_LEVEL_REPLICA: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalLevel::WAL_LEVEL_LOGICAL")] +pub const WalLevel_WAL_LEVEL_LOGICAL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalRcvExecStatus::WALRCV_ERROR")] +pub const WalRcvExecStatus_WALRCV_ERROR: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalRcvExecStatus::WALRCV_OK_COMMAND")] +pub const WalRcvExecStatus_WALRCV_OK_COMMAND: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalRcvExecStatus::WALRCV_OK_TUPLES")] +pub const WalRcvExecStatus_WALRCV_OK_TUPLES: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalRcvExecStatus::WALRCV_OK_COPY_IN")] +pub const WalRcvExecStatus_WALRCV_OK_COPY_IN: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalRcvExecStatus::WALRCV_OK_COPY_OUT")] +pub const WalRcvExecStatus_WALRCV_OK_COPY_OUT: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalRcvExecStatus::WALRCV_OK_COPY_BOTH")] +pub const WalRcvExecStatus_WALRCV_OK_COPY_BOTH: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalRcvState::WALRCV_STOPPED")] +pub const WalRcvState_WALRCV_STOPPED: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalRcvState::WALRCV_STARTING")] +pub const WalRcvState_WALRCV_STARTING: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalRcvState::WALRCV_STREAMING")] +pub const WalRcvState_WALRCV_STREAMING: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalRcvState::WALRCV_WAITING")] +pub const WalRcvState_WALRCV_WAITING: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalRcvState::WALRCV_RESTARTING")] +pub const WalRcvState_WALRCV_RESTARTING: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalRcvState::WALRCV_STOPPING")] +pub const WalRcvState_WALRCV_STOPPING: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalSyncMethod::WAL_SYNC_METHOD_FSYNC")] +pub const WalSyncMethod_WAL_SYNC_METHOD_FSYNC: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalSyncMethod::WAL_SYNC_METHOD_FDATASYNC")] +pub const WalSyncMethod_WAL_SYNC_METHOD_FDATASYNC: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalSyncMethod::WAL_SYNC_METHOD_OPEN")] +pub const WalSyncMethod_WAL_SYNC_METHOD_OPEN: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WalSyncMethod::WAL_SYNC_METHOD_FSYNC_WRITETHROUGH" +)] +pub const WalSyncMethod_WAL_SYNC_METHOD_FSYNC_WRITETHROUGH: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WalSyncMethod::WAL_SYNC_METHOD_OPEN_DSYNC")] +pub const WalSyncMethod_WAL_SYNC_METHOD_OPEN_DSYNC: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WindowAggStatus::WINDOWAGG_DONE")] +pub const WindowAggStatus_WINDOWAGG_DONE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WindowAggStatus::WINDOWAGG_RUN")] +pub const WindowAggStatus_WINDOWAGG_RUN: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::WindowAggStatus::WINDOWAGG_PASSTHROUGH")] +pub const WindowAggStatus_WINDOWAGG_PASSTHROUGH: u32 = 2; +#[deprecated( + since = "0.12.0", + note = "you want pg_sys::WindowAggStatus::WINDOWAGG_PASSTHROUGH_STRICT" +)] +pub const WindowAggStatus_WINDOWAGG_PASSTHROUGH_STRICT: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLTW_Oper::XLTW_None")] +pub const XLTW_Oper_XLTW_None: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLTW_Oper::XLTW_Update")] +pub const XLTW_Oper_XLTW_Update: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLTW_Oper::XLTW_Delete")] +pub const XLTW_Oper_XLTW_Delete: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLTW_Oper::XLTW_Lock")] +pub const XLTW_Oper_XLTW_Lock: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLTW_Oper::XLTW_LockUpdated")] +pub const XLTW_Oper_XLTW_LockUpdated: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLTW_Oper::XLTW_InsertIndex")] +pub const XLTW_Oper_XLTW_InsertIndex: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLTW_Oper::XLTW_InsertIndexUnique")] +pub const XLTW_Oper_XLTW_InsertIndexUnique: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLTW_Oper::XLTW_FetchUpdated")] +pub const XLTW_Oper_XLTW_FetchUpdated: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLTW_Oper::XLTW_RecheckExclusionConstr")] +pub const XLTW_Oper_XLTW_RecheckExclusionConstr: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLogPageReadResult::XLREAD_SUCCESS")] +pub const XLogPageReadResult_XLREAD_SUCCESS: i32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLogPageReadResult::XLREAD_FAIL")] +pub const XLogPageReadResult_XLREAD_FAIL: i32 = -1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLogPageReadResult::XLREAD_WOULDBLOCK")] +pub const XLogPageReadResult_XLREAD_WOULDBLOCK: i32 = -2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLogRedoAction::BLK_NEEDS_REDO")] +pub const XLogRedoAction_BLK_NEEDS_REDO: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLogRedoAction::BLK_DONE")] +pub const XLogRedoAction_BLK_DONE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLogRedoAction::BLK_RESTORED")] +pub const XLogRedoAction_BLK_RESTORED: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XLogRedoAction::BLK_NOTFOUND")] +pub const XLogRedoAction_BLK_NOTFOUND: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XactEvent::XACT_EVENT_COMMIT")] +pub const XactEvent_XACT_EVENT_COMMIT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XactEvent::XACT_EVENT_PARALLEL_COMMIT")] +pub const XactEvent_XACT_EVENT_PARALLEL_COMMIT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XactEvent::XACT_EVENT_ABORT")] +pub const XactEvent_XACT_EVENT_ABORT: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XactEvent::XACT_EVENT_PARALLEL_ABORT")] +pub const XactEvent_XACT_EVENT_PARALLEL_ABORT: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XactEvent::XACT_EVENT_PREPARE")] +pub const XactEvent_XACT_EVENT_PREPARE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XactEvent::XACT_EVENT_PRE_COMMIT")] +pub const XactEvent_XACT_EVENT_PRE_COMMIT: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XactEvent::XACT_EVENT_PARALLEL_PRE_COMMIT")] +pub const XactEvent_XACT_EVENT_PARALLEL_PRE_COMMIT: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XactEvent::XACT_EVENT_PRE_PREPARE")] +pub const XactEvent_XACT_EVENT_PRE_PREPARE: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XmlExprOp::IS_XMLCONCAT")] +pub const XmlExprOp_IS_XMLCONCAT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XmlExprOp::IS_XMLELEMENT")] +pub const XmlExprOp_IS_XMLELEMENT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XmlExprOp::IS_XMLFOREST")] +pub const XmlExprOp_IS_XMLFOREST: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XmlExprOp::IS_XMLPARSE")] +pub const XmlExprOp_IS_XMLPARSE: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XmlExprOp::IS_XMLPI")] +pub const XmlExprOp_IS_XMLPI: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XmlExprOp::IS_XMLROOT")] +pub const XmlExprOp_IS_XMLROOT: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XmlExprOp::IS_XMLSERIALIZE")] +pub const XmlExprOp_IS_XMLSERIALIZE: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XmlExprOp::IS_DOCUMENT")] +pub const XmlExprOp_IS_DOCUMENT: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XmlOptionType::XMLOPTION_DOCUMENT")] +pub const XmlOptionType_XMLOPTION_DOCUMENT: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::XmlOptionType::XMLOPTION_CONTENT")] +pub const XmlOptionType_XMLOPTION_CONTENT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__pid_type::F_OWNER_TID")] +pub const __pid_type_F_OWNER_TID: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__pid_type::F_OWNER_PID")] +pub const __pid_type_F_OWNER_PID: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__pid_type::F_OWNER_PGRP")] +pub const __pid_type_F_OWNER_PGRP: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__pid_type::F_OWNER_GID")] +pub const __pid_type_F_OWNER_GID: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__socket_type::SOCK_STREAM")] +pub const __socket_type_SOCK_STREAM: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__socket_type::SOCK_DGRAM")] +pub const __socket_type_SOCK_DGRAM: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__socket_type::SOCK_RAW")] +pub const __socket_type_SOCK_RAW: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__socket_type::SOCK_RDM")] +pub const __socket_type_SOCK_RDM: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__socket_type::SOCK_SEQPACKET")] +pub const __socket_type_SOCK_SEQPACKET: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__socket_type::SOCK_DCCP")] +pub const __socket_type_SOCK_DCCP: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__socket_type::SOCK_PACKET")] +pub const __socket_type_SOCK_PACKET: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__socket_type::SOCK_CLOEXEC")] +pub const __socket_type_SOCK_CLOEXEC: u32 = 524288; +#[deprecated(since = "0.12.0", note = "you want pg_sys::__socket_type::SOCK_NONBLOCK")] +pub const __socket_type_SOCK_NONBLOCK: u32 = 2048; +#[deprecated(since = "0.12.0", note = "you want pg_sys::dsm_op::DSM_OP_CREATE")] +pub const dsm_op_DSM_OP_CREATE: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::dsm_op::DSM_OP_ATTACH")] +pub const dsm_op_DSM_OP_ATTACH: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::dsm_op::DSM_OP_DETACH")] +pub const dsm_op_DSM_OP_DETACH: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::dsm_op::DSM_OP_DESTROY")] +pub const dsm_op_DSM_OP_DESTROY: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::jbvType::jbvNull")] +pub const jbvType_jbvNull: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::jbvType::jbvString")] +pub const jbvType_jbvString: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::jbvType::jbvNumeric")] +pub const jbvType_jbvNumeric: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::jbvType::jbvBool")] +pub const jbvType_jbvBool: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::jbvType::jbvArray")] +pub const jbvType_jbvArray: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::jbvType::jbvObject")] +pub const jbvType_jbvObject: u32 = 17; +#[deprecated(since = "0.12.0", note = "you want pg_sys::jbvType::jbvBinary")] +pub const jbvType_jbvBinary: u32 = 18; +#[deprecated(since = "0.12.0", note = "you want pg_sys::jbvType::jbvDatetime")] +pub const jbvType_jbvDatetime: u32 = 32; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_SQL_ASCII")] +pub const pg_enc_PG_SQL_ASCII: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_EUC_JP")] +pub const pg_enc_PG_EUC_JP: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_EUC_CN")] +pub const pg_enc_PG_EUC_CN: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_EUC_KR")] +pub const pg_enc_PG_EUC_KR: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_EUC_TW")] +pub const pg_enc_PG_EUC_TW: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_EUC_JIS_2004")] +pub const pg_enc_PG_EUC_JIS_2004: u32 = 5; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_UTF8")] +pub const pg_enc_PG_UTF8: u32 = 6; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_MULE_INTERNAL")] +pub const pg_enc_PG_MULE_INTERNAL: u32 = 7; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_LATIN1")] +pub const pg_enc_PG_LATIN1: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_LATIN2")] +pub const pg_enc_PG_LATIN2: u32 = 9; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_LATIN3")] +pub const pg_enc_PG_LATIN3: u32 = 10; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_LATIN4")] +pub const pg_enc_PG_LATIN4: u32 = 11; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_LATIN5")] +pub const pg_enc_PG_LATIN5: u32 = 12; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_LATIN6")] +pub const pg_enc_PG_LATIN6: u32 = 13; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_LATIN7")] +pub const pg_enc_PG_LATIN7: u32 = 14; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_LATIN8")] +pub const pg_enc_PG_LATIN8: u32 = 15; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_LATIN9")] +pub const pg_enc_PG_LATIN9: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_LATIN10")] +pub const pg_enc_PG_LATIN10: u32 = 17; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_WIN1256")] +pub const pg_enc_PG_WIN1256: u32 = 18; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_WIN1258")] +pub const pg_enc_PG_WIN1258: u32 = 19; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_WIN866")] +pub const pg_enc_PG_WIN866: u32 = 20; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_WIN874")] +pub const pg_enc_PG_WIN874: u32 = 21; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_KOI8R")] +pub const pg_enc_PG_KOI8R: u32 = 22; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_WIN1251")] +pub const pg_enc_PG_WIN1251: u32 = 23; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_WIN1252")] +pub const pg_enc_PG_WIN1252: u32 = 24; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_ISO_8859_5")] +pub const pg_enc_PG_ISO_8859_5: u32 = 25; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_ISO_8859_6")] +pub const pg_enc_PG_ISO_8859_6: u32 = 26; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_ISO_8859_7")] +pub const pg_enc_PG_ISO_8859_7: u32 = 27; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_ISO_8859_8")] +pub const pg_enc_PG_ISO_8859_8: u32 = 28; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_WIN1250")] +pub const pg_enc_PG_WIN1250: u32 = 29; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_WIN1253")] +pub const pg_enc_PG_WIN1253: u32 = 30; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_WIN1254")] +pub const pg_enc_PG_WIN1254: u32 = 31; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_WIN1255")] +pub const pg_enc_PG_WIN1255: u32 = 32; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_WIN1257")] +pub const pg_enc_PG_WIN1257: u32 = 33; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_KOI8U")] +pub const pg_enc_PG_KOI8U: u32 = 34; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_SJIS")] +pub const pg_enc_PG_SJIS: u32 = 35; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_BIG5")] +pub const pg_enc_PG_BIG5: u32 = 36; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_GBK")] +pub const pg_enc_PG_GBK: u32 = 37; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_UHC")] +pub const pg_enc_PG_UHC: u32 = 38; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_GB18030")] +pub const pg_enc_PG_GB18030: u32 = 39; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_JOHAB")] +pub const pg_enc_PG_JOHAB: u32 = 40; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::PG_SHIFT_JIS_2004")] +pub const pg_enc_PG_SHIFT_JIS_2004: u32 = 41; +#[deprecated(since = "0.12.0", note = "you want pg_sys::pg_enc::_PG_LAST_ENCODING_")] +pub const pg_enc__PG_LAST_ENCODING_: u32 = 42; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_LOCAL")] +pub const relopt_kind_RELOPT_KIND_LOCAL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_HEAP")] +pub const relopt_kind_RELOPT_KIND_HEAP: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_TOAST")] +pub const relopt_kind_RELOPT_KIND_TOAST: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_BTREE")] +pub const relopt_kind_RELOPT_KIND_BTREE: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_HASH")] +pub const relopt_kind_RELOPT_KIND_HASH: u32 = 8; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_GIN")] +pub const relopt_kind_RELOPT_KIND_GIN: u32 = 16; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_GIST")] +pub const relopt_kind_RELOPT_KIND_GIST: u32 = 32; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_ATTRIBUTE")] +pub const relopt_kind_RELOPT_KIND_ATTRIBUTE: u32 = 64; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_TABLESPACE")] +pub const relopt_kind_RELOPT_KIND_TABLESPACE: u32 = 128; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_SPGIST")] +pub const relopt_kind_RELOPT_KIND_SPGIST: u32 = 256; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_VIEW")] +pub const relopt_kind_RELOPT_KIND_VIEW: u32 = 512; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_BRIN")] +pub const relopt_kind_RELOPT_KIND_BRIN: u32 = 1024; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_PARTITIONED")] +pub const relopt_kind_RELOPT_KIND_PARTITIONED: u32 = 2048; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_LAST_DEFAULT")] +pub const relopt_kind_RELOPT_KIND_LAST_DEFAULT: u32 = 2048; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_kind::RELOPT_KIND_MAX")] +pub const relopt_kind_RELOPT_KIND_MAX: u32 = 1073741824; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_type::RELOPT_TYPE_BOOL")] +pub const relopt_type_RELOPT_TYPE_BOOL: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_type::RELOPT_TYPE_INT")] +pub const relopt_type_RELOPT_TYPE_INT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_type::RELOPT_TYPE_REAL")] +pub const relopt_type_RELOPT_TYPE_REAL: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_type::RELOPT_TYPE_ENUM")] +pub const relopt_type_RELOPT_TYPE_ENUM: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::relopt_type::RELOPT_TYPE_STRING")] +pub const relopt_type_RELOPT_TYPE_STRING: u32 = 4; +#[deprecated(since = "0.12.0", note = "you want pg_sys::shm_mq_result::SHM_MQ_SUCCESS")] +pub const shm_mq_result_SHM_MQ_SUCCESS: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::shm_mq_result::SHM_MQ_WOULD_BLOCK")] +pub const shm_mq_result_SHM_MQ_WOULD_BLOCK: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::shm_mq_result::SHM_MQ_DETACHED")] +pub const shm_mq_result_SHM_MQ_DETACHED: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::subxids_array_status::SUBXIDS_IN_ARRAY")] +pub const subxids_array_status_SUBXIDS_IN_ARRAY: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::subxids_array_status::SUBXIDS_MISSING")] +pub const subxids_array_status_SUBXIDS_MISSING: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::subxids_array_status::SUBXIDS_IN_SUBTRANS")] +pub const subxids_array_status_SUBXIDS_IN_SUBTRANS: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::tuplehash_status::tuplehash_SH_EMPTY")] +pub const tuplehash_status_tuplehash_SH_EMPTY: u32 = 0; +#[deprecated(since = "0.12.0", note = "you want pg_sys::tuplehash_status::tuplehash_SH_IN_USE")] +pub const tuplehash_status_tuplehash_SH_IN_USE: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::vartag_external::VARTAG_INDIRECT")] +pub const vartag_external_VARTAG_INDIRECT: u32 = 1; +#[deprecated(since = "0.12.0", note = "you want pg_sys::vartag_external::VARTAG_EXPANDED_RO")] +pub const vartag_external_VARTAG_EXPANDED_RO: u32 = 2; +#[deprecated(since = "0.12.0", note = "you want pg_sys::vartag_external::VARTAG_EXPANDED_RW")] +pub const vartag_external_VARTAG_EXPANDED_RW: u32 = 3; +#[deprecated(since = "0.12.0", note = "you want pg_sys::vartag_external::VARTAG_ONDISK")] +pub const vartag_external_VARTAG_ONDISK: u32 = 18; +impl pg_sys::seal::Sealed for ATAlterConstraint {} +impl pg_sys::PgNode for ATAlterConstraint {} +impl ::core::fmt::Display for ATAlterConstraint { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for A_ArrayExpr {} +impl pg_sys::PgNode for A_ArrayExpr {} +impl ::core::fmt::Display for A_ArrayExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for A_Const {} +impl pg_sys::PgNode for A_Const {} +impl ::core::fmt::Display for A_Const { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for A_Expr {} +impl pg_sys::PgNode for A_Expr {} +impl ::core::fmt::Display for A_Expr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for A_Indices {} +impl pg_sys::PgNode for A_Indices {} +impl ::core::fmt::Display for A_Indices { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for A_Indirection {} +impl pg_sys::PgNode for A_Indirection {} +impl ::core::fmt::Display for A_Indirection { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for A_Star {} +impl pg_sys::PgNode for A_Star {} +impl ::core::fmt::Display for A_Star { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AccessPriv {} +impl pg_sys::PgNode for AccessPriv {} +impl ::core::fmt::Display for AccessPriv { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Agg {} +impl pg_sys::PgNode for Agg {} +impl ::core::fmt::Display for Agg { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AggInfo {} +impl pg_sys::PgNode for AggInfo {} +impl ::core::fmt::Display for AggInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AggPath {} +impl pg_sys::PgNode for AggPath {} +impl ::core::fmt::Display for AggPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AggState {} +impl pg_sys::PgNode for AggState {} +impl ::core::fmt::Display for AggState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AggTransInfo {} +impl pg_sys::PgNode for AggTransInfo {} +impl ::core::fmt::Display for AggTransInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Aggref {} +impl pg_sys::PgNode for Aggref {} +impl ::core::fmt::Display for Aggref { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Alias {} +impl pg_sys::PgNode for Alias {} +impl ::core::fmt::Display for Alias { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterCollationStmt {} +impl pg_sys::PgNode for AlterCollationStmt {} +impl ::core::fmt::Display for AlterCollationStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterDatabaseRefreshCollStmt {} +impl pg_sys::PgNode for AlterDatabaseRefreshCollStmt {} +impl ::core::fmt::Display for AlterDatabaseRefreshCollStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterDatabaseSetStmt {} +impl pg_sys::PgNode for AlterDatabaseSetStmt {} +impl ::core::fmt::Display for AlterDatabaseSetStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterDatabaseStmt {} +impl pg_sys::PgNode for AlterDatabaseStmt {} +impl ::core::fmt::Display for AlterDatabaseStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterDefaultPrivilegesStmt {} +impl pg_sys::PgNode for AlterDefaultPrivilegesStmt {} +impl ::core::fmt::Display for AlterDefaultPrivilegesStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterDomainStmt {} +impl pg_sys::PgNode for AlterDomainStmt {} +impl ::core::fmt::Display for AlterDomainStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterEnumStmt {} +impl pg_sys::PgNode for AlterEnumStmt {} +impl ::core::fmt::Display for AlterEnumStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterEventTrigStmt {} +impl pg_sys::PgNode for AlterEventTrigStmt {} +impl ::core::fmt::Display for AlterEventTrigStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterExtensionContentsStmt {} +impl pg_sys::PgNode for AlterExtensionContentsStmt {} +impl ::core::fmt::Display for AlterExtensionContentsStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterExtensionStmt {} +impl pg_sys::PgNode for AlterExtensionStmt {} +impl ::core::fmt::Display for AlterExtensionStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterFdwStmt {} +impl pg_sys::PgNode for AlterFdwStmt {} +impl ::core::fmt::Display for AlterFdwStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterForeignServerStmt {} +impl pg_sys::PgNode for AlterForeignServerStmt {} +impl ::core::fmt::Display for AlterForeignServerStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterFunctionStmt {} +impl pg_sys::PgNode for AlterFunctionStmt {} +impl ::core::fmt::Display for AlterFunctionStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterObjectDependsStmt {} +impl pg_sys::PgNode for AlterObjectDependsStmt {} +impl ::core::fmt::Display for AlterObjectDependsStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterObjectSchemaStmt {} +impl pg_sys::PgNode for AlterObjectSchemaStmt {} +impl ::core::fmt::Display for AlterObjectSchemaStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterOpFamilyStmt {} +impl pg_sys::PgNode for AlterOpFamilyStmt {} +impl ::core::fmt::Display for AlterOpFamilyStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterOperatorStmt {} +impl pg_sys::PgNode for AlterOperatorStmt {} +impl ::core::fmt::Display for AlterOperatorStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterOwnerStmt {} +impl pg_sys::PgNode for AlterOwnerStmt {} +impl ::core::fmt::Display for AlterOwnerStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterPolicyStmt {} +impl pg_sys::PgNode for AlterPolicyStmt {} +impl ::core::fmt::Display for AlterPolicyStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterPublicationStmt {} +impl pg_sys::PgNode for AlterPublicationStmt {} +impl ::core::fmt::Display for AlterPublicationStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterReplicationSlotCmd {} +impl pg_sys::PgNode for AlterReplicationSlotCmd {} +impl ::core::fmt::Display for AlterReplicationSlotCmd { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterRoleSetStmt {} +impl pg_sys::PgNode for AlterRoleSetStmt {} +impl ::core::fmt::Display for AlterRoleSetStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterRoleStmt {} +impl pg_sys::PgNode for AlterRoleStmt {} +impl ::core::fmt::Display for AlterRoleStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterSeqStmt {} +impl pg_sys::PgNode for AlterSeqStmt {} +impl ::core::fmt::Display for AlterSeqStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterStatsStmt {} +impl pg_sys::PgNode for AlterStatsStmt {} +impl ::core::fmt::Display for AlterStatsStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterSubscriptionStmt {} +impl pg_sys::PgNode for AlterSubscriptionStmt {} +impl ::core::fmt::Display for AlterSubscriptionStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterSystemStmt {} +impl pg_sys::PgNode for AlterSystemStmt {} +impl ::core::fmt::Display for AlterSystemStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterTSConfigurationStmt {} +impl pg_sys::PgNode for AlterTSConfigurationStmt {} +impl ::core::fmt::Display for AlterTSConfigurationStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterTSDictionaryStmt {} +impl pg_sys::PgNode for AlterTSDictionaryStmt {} +impl ::core::fmt::Display for AlterTSDictionaryStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterTableCmd {} +impl pg_sys::PgNode for AlterTableCmd {} +impl ::core::fmt::Display for AlterTableCmd { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterTableMoveAllStmt {} +impl pg_sys::PgNode for AlterTableMoveAllStmt {} +impl ::core::fmt::Display for AlterTableMoveAllStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterTableSpaceOptionsStmt {} +impl pg_sys::PgNode for AlterTableSpaceOptionsStmt {} +impl ::core::fmt::Display for AlterTableSpaceOptionsStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterTableStmt {} +impl pg_sys::PgNode for AlterTableStmt {} +impl ::core::fmt::Display for AlterTableStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterTypeStmt {} +impl pg_sys::PgNode for AlterTypeStmt {} +impl ::core::fmt::Display for AlterTypeStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlterUserMappingStmt {} +impl pg_sys::PgNode for AlterUserMappingStmt {} +impl ::core::fmt::Display for AlterUserMappingStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AlternativeSubPlan {} +impl pg_sys::PgNode for AlternativeSubPlan {} +impl ::core::fmt::Display for AlternativeSubPlan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Append {} +impl pg_sys::PgNode for Append {} +impl ::core::fmt::Display for Append { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AppendPath {} +impl pg_sys::PgNode for AppendPath {} +impl ::core::fmt::Display for AppendPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AppendRelInfo {} +impl pg_sys::PgNode for AppendRelInfo {} +impl ::core::fmt::Display for AppendRelInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for AppendState {} +impl pg_sys::PgNode for AppendState {} +impl ::core::fmt::Display for AppendState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ArrayCoerceExpr {} +impl pg_sys::PgNode for ArrayCoerceExpr {} +impl ::core::fmt::Display for ArrayCoerceExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ArrayExpr {} +impl pg_sys::PgNode for ArrayExpr {} +impl ::core::fmt::Display for ArrayExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BaseBackupCmd {} +impl pg_sys::PgNode for BaseBackupCmd {} +impl ::core::fmt::Display for BaseBackupCmd { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BitString {} +impl pg_sys::PgNode for BitString {} +impl ::core::fmt::Display for BitString { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BitmapAnd {} +impl pg_sys::PgNode for BitmapAnd {} +impl ::core::fmt::Display for BitmapAnd { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BitmapAndPath {} +impl pg_sys::PgNode for BitmapAndPath {} +impl ::core::fmt::Display for BitmapAndPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BitmapAndState {} +impl pg_sys::PgNode for BitmapAndState {} +impl ::core::fmt::Display for BitmapAndState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BitmapHeapPath {} +impl pg_sys::PgNode for BitmapHeapPath {} +impl ::core::fmt::Display for BitmapHeapPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BitmapHeapScan {} +impl pg_sys::PgNode for BitmapHeapScan {} +impl ::core::fmt::Display for BitmapHeapScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BitmapHeapScanState {} +impl pg_sys::PgNode for BitmapHeapScanState {} +impl ::core::fmt::Display for BitmapHeapScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BitmapIndexScan {} +impl pg_sys::PgNode for BitmapIndexScan {} +impl ::core::fmt::Display for BitmapIndexScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BitmapIndexScanState {} +impl pg_sys::PgNode for BitmapIndexScanState {} +impl ::core::fmt::Display for BitmapIndexScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BitmapOr {} +impl pg_sys::PgNode for BitmapOr {} +impl ::core::fmt::Display for BitmapOr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BitmapOrPath {} +impl pg_sys::PgNode for BitmapOrPath {} +impl ::core::fmt::Display for BitmapOrPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BitmapOrState {} +impl pg_sys::PgNode for BitmapOrState {} +impl ::core::fmt::Display for BitmapOrState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Bitmapset {} +impl pg_sys::PgNode for Bitmapset {} +impl ::core::fmt::Display for Bitmapset { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BoolExpr {} +impl pg_sys::PgNode for BoolExpr {} +impl ::core::fmt::Display for BoolExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Boolean {} +impl pg_sys::PgNode for Boolean {} +impl ::core::fmt::Display for Boolean { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BooleanTest {} +impl pg_sys::PgNode for BooleanTest {} +impl ::core::fmt::Display for BooleanTest { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for BufferHeapTupleTableSlot {} +impl pg_sys::PgNode for BufferHeapTupleTableSlot {} +impl ::core::fmt::Display for BufferHeapTupleTableSlot { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CTECycleClause {} +impl pg_sys::PgNode for CTECycleClause {} +impl ::core::fmt::Display for CTECycleClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CTESearchClause {} +impl pg_sys::PgNode for CTESearchClause {} +impl ::core::fmt::Display for CTESearchClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CallContext {} +impl pg_sys::PgNode for CallContext {} +impl ::core::fmt::Display for CallContext { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CallStmt {} +impl pg_sys::PgNode for CallStmt {} +impl ::core::fmt::Display for CallStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CaseExpr {} +impl pg_sys::PgNode for CaseExpr {} +impl ::core::fmt::Display for CaseExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CaseTestExpr {} +impl pg_sys::PgNode for CaseTestExpr {} +impl ::core::fmt::Display for CaseTestExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CaseWhen {} +impl pg_sys::PgNode for CaseWhen {} +impl ::core::fmt::Display for CaseWhen { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CheckPointStmt {} +impl pg_sys::PgNode for CheckPointStmt {} +impl ::core::fmt::Display for CheckPointStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ClosePortalStmt {} +impl pg_sys::PgNode for ClosePortalStmt {} +impl ::core::fmt::Display for ClosePortalStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ClusterStmt {} +impl pg_sys::PgNode for ClusterStmt {} +impl ::core::fmt::Display for ClusterStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CoalesceExpr {} +impl pg_sys::PgNode for CoalesceExpr {} +impl ::core::fmt::Display for CoalesceExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CoerceToDomain {} +impl pg_sys::PgNode for CoerceToDomain {} +impl ::core::fmt::Display for CoerceToDomain { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CoerceToDomainValue {} +impl pg_sys::PgNode for CoerceToDomainValue {} +impl ::core::fmt::Display for CoerceToDomainValue { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CoerceViaIO {} +impl pg_sys::PgNode for CoerceViaIO {} +impl ::core::fmt::Display for CoerceViaIO { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CollateClause {} +impl pg_sys::PgNode for CollateClause {} +impl ::core::fmt::Display for CollateClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CollateExpr {} +impl pg_sys::PgNode for CollateExpr {} +impl ::core::fmt::Display for CollateExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ColumnDef {} +impl pg_sys::PgNode for ColumnDef {} +impl ::core::fmt::Display for ColumnDef { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ColumnRef {} +impl pg_sys::PgNode for ColumnRef {} +impl ::core::fmt::Display for ColumnRef { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CommentStmt {} +impl pg_sys::PgNode for CommentStmt {} +impl ::core::fmt::Display for CommentStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CommonTableExpr {} +impl pg_sys::PgNode for CommonTableExpr {} +impl ::core::fmt::Display for CommonTableExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CompositeTypeStmt {} +impl pg_sys::PgNode for CompositeTypeStmt {} +impl ::core::fmt::Display for CompositeTypeStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Const {} +impl pg_sys::PgNode for Const {} +impl ::core::fmt::Display for Const { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Constraint {} +impl pg_sys::PgNode for Constraint {} +impl ::core::fmt::Display for Constraint { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ConstraintsSetStmt {} +impl pg_sys::PgNode for ConstraintsSetStmt {} +impl ::core::fmt::Display for ConstraintsSetStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ConvertRowtypeExpr {} +impl pg_sys::PgNode for ConvertRowtypeExpr {} +impl ::core::fmt::Display for ConvertRowtypeExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CopyStmt {} +impl pg_sys::PgNode for CopyStmt {} +impl ::core::fmt::Display for CopyStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateAmStmt {} +impl pg_sys::PgNode for CreateAmStmt {} +impl ::core::fmt::Display for CreateAmStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateCastStmt {} +impl pg_sys::PgNode for CreateCastStmt {} +impl ::core::fmt::Display for CreateCastStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateConversionStmt {} +impl pg_sys::PgNode for CreateConversionStmt {} +impl ::core::fmt::Display for CreateConversionStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateDomainStmt {} +impl pg_sys::PgNode for CreateDomainStmt {} +impl ::core::fmt::Display for CreateDomainStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateEnumStmt {} +impl pg_sys::PgNode for CreateEnumStmt {} +impl ::core::fmt::Display for CreateEnumStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateEventTrigStmt {} +impl pg_sys::PgNode for CreateEventTrigStmt {} +impl ::core::fmt::Display for CreateEventTrigStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateExtensionStmt {} +impl pg_sys::PgNode for CreateExtensionStmt {} +impl ::core::fmt::Display for CreateExtensionStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateFdwStmt {} +impl pg_sys::PgNode for CreateFdwStmt {} +impl ::core::fmt::Display for CreateFdwStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateForeignServerStmt {} +impl pg_sys::PgNode for CreateForeignServerStmt {} +impl ::core::fmt::Display for CreateForeignServerStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateForeignTableStmt {} +impl pg_sys::PgNode for CreateForeignTableStmt {} +impl ::core::fmt::Display for CreateForeignTableStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateFunctionStmt {} +impl pg_sys::PgNode for CreateFunctionStmt {} +impl ::core::fmt::Display for CreateFunctionStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateOpClassItem {} +impl pg_sys::PgNode for CreateOpClassItem {} +impl ::core::fmt::Display for CreateOpClassItem { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateOpClassStmt {} +impl pg_sys::PgNode for CreateOpClassStmt {} +impl ::core::fmt::Display for CreateOpClassStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateOpFamilyStmt {} +impl pg_sys::PgNode for CreateOpFamilyStmt {} +impl ::core::fmt::Display for CreateOpFamilyStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreatePLangStmt {} +impl pg_sys::PgNode for CreatePLangStmt {} +impl ::core::fmt::Display for CreatePLangStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreatePolicyStmt {} +impl pg_sys::PgNode for CreatePolicyStmt {} +impl ::core::fmt::Display for CreatePolicyStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreatePublicationStmt {} +impl pg_sys::PgNode for CreatePublicationStmt {} +impl ::core::fmt::Display for CreatePublicationStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateRangeStmt {} +impl pg_sys::PgNode for CreateRangeStmt {} +impl ::core::fmt::Display for CreateRangeStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateReplicationSlotCmd {} +impl pg_sys::PgNode for CreateReplicationSlotCmd {} +impl ::core::fmt::Display for CreateReplicationSlotCmd { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateRoleStmt {} +impl pg_sys::PgNode for CreateRoleStmt {} +impl ::core::fmt::Display for CreateRoleStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateSchemaStmt {} +impl pg_sys::PgNode for CreateSchemaStmt {} +impl ::core::fmt::Display for CreateSchemaStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateSeqStmt {} +impl pg_sys::PgNode for CreateSeqStmt {} +impl ::core::fmt::Display for CreateSeqStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateStatsStmt {} +impl pg_sys::PgNode for CreateStatsStmt {} +impl ::core::fmt::Display for CreateStatsStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateStmt {} +impl pg_sys::PgNode for CreateStmt {} +impl ::core::fmt::Display for CreateStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateSubscriptionStmt {} +impl pg_sys::PgNode for CreateSubscriptionStmt {} +impl ::core::fmt::Display for CreateSubscriptionStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateTableAsStmt {} +impl pg_sys::PgNode for CreateTableAsStmt {} +impl ::core::fmt::Display for CreateTableAsStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateTableSpaceStmt {} +impl pg_sys::PgNode for CreateTableSpaceStmt {} +impl ::core::fmt::Display for CreateTableSpaceStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateTransformStmt {} +impl pg_sys::PgNode for CreateTransformStmt {} +impl ::core::fmt::Display for CreateTransformStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateTrigStmt {} +impl pg_sys::PgNode for CreateTrigStmt {} +impl ::core::fmt::Display for CreateTrigStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreateUserMappingStmt {} +impl pg_sys::PgNode for CreateUserMappingStmt {} +impl ::core::fmt::Display for CreateUserMappingStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CreatedbStmt {} +impl pg_sys::PgNode for CreatedbStmt {} +impl ::core::fmt::Display for CreatedbStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CteScan {} +impl pg_sys::PgNode for CteScan {} +impl ::core::fmt::Display for CteScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CteScanState {} +impl pg_sys::PgNode for CteScanState {} +impl ::core::fmt::Display for CteScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CurrentOfExpr {} +impl pg_sys::PgNode for CurrentOfExpr {} +impl ::core::fmt::Display for CurrentOfExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CustomPath {} +impl pg_sys::PgNode for CustomPath {} +impl ::core::fmt::Display for CustomPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CustomScan {} +impl pg_sys::PgNode for CustomScan {} +impl ::core::fmt::Display for CustomScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for CustomScanState {} +impl pg_sys::PgNode for CustomScanState {} +impl ::core::fmt::Display for CustomScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DeallocateStmt {} +impl pg_sys::PgNode for DeallocateStmt {} +impl ::core::fmt::Display for DeallocateStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DeclareCursorStmt {} +impl pg_sys::PgNode for DeclareCursorStmt {} +impl ::core::fmt::Display for DeclareCursorStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DefElem {} +impl pg_sys::PgNode for DefElem {} +impl ::core::fmt::Display for DefElem { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DefineStmt {} +impl pg_sys::PgNode for DefineStmt {} +impl ::core::fmt::Display for DefineStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DeleteStmt {} +impl pg_sys::PgNode for DeleteStmt {} +impl ::core::fmt::Display for DeleteStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DiscardStmt {} +impl pg_sys::PgNode for DiscardStmt {} +impl ::core::fmt::Display for DiscardStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DoStmt {} +impl pg_sys::PgNode for DoStmt {} +impl ::core::fmt::Display for DoStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DomainConstraintState {} +impl pg_sys::PgNode for DomainConstraintState {} +impl ::core::fmt::Display for DomainConstraintState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DropOwnedStmt {} +impl pg_sys::PgNode for DropOwnedStmt {} +impl ::core::fmt::Display for DropOwnedStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DropReplicationSlotCmd {} +impl pg_sys::PgNode for DropReplicationSlotCmd {} +impl ::core::fmt::Display for DropReplicationSlotCmd { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DropRoleStmt {} +impl pg_sys::PgNode for DropRoleStmt {} +impl ::core::fmt::Display for DropRoleStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DropStmt {} +impl pg_sys::PgNode for DropStmt {} +impl ::core::fmt::Display for DropStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DropSubscriptionStmt {} +impl pg_sys::PgNode for DropSubscriptionStmt {} +impl ::core::fmt::Display for DropSubscriptionStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DropTableSpaceStmt {} +impl pg_sys::PgNode for DropTableSpaceStmt {} +impl ::core::fmt::Display for DropTableSpaceStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DropUserMappingStmt {} +impl pg_sys::PgNode for DropUserMappingStmt {} +impl ::core::fmt::Display for DropUserMappingStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for DropdbStmt {} +impl pg_sys::PgNode for DropdbStmt {} +impl ::core::fmt::Display for DropdbStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for EState {} +impl pg_sys::PgNode for EState {} +impl ::core::fmt::Display for EState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for EquivalenceClass {} +impl pg_sys::PgNode for EquivalenceClass {} +impl ::core::fmt::Display for EquivalenceClass { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for EquivalenceMember {} +impl pg_sys::PgNode for EquivalenceMember {} +impl ::core::fmt::Display for EquivalenceMember { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ErrorSaveContext {} +impl pg_sys::PgNode for ErrorSaveContext {} +impl ::core::fmt::Display for ErrorSaveContext { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for EventTriggerData {} +impl pg_sys::PgNode for EventTriggerData {} +impl ::core::fmt::Display for EventTriggerData { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ExecuteStmt {} +impl pg_sys::PgNode for ExecuteStmt {} +impl ::core::fmt::Display for ExecuteStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ExplainStmt {} +impl pg_sys::PgNode for ExplainStmt {} +impl ::core::fmt::Display for ExplainStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Expr {} +impl pg_sys::PgNode for Expr {} +impl ::core::fmt::Display for Expr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ExprContext {} +impl pg_sys::PgNode for ExprContext {} +impl ::core::fmt::Display for ExprContext { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ExprState {} +impl pg_sys::PgNode for ExprState {} +impl ::core::fmt::Display for ExprState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ExtensibleNode {} +impl pg_sys::PgNode for ExtensibleNode {} +impl ::core::fmt::Display for ExtensibleNode { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for FdwRoutine {} +impl pg_sys::PgNode for FdwRoutine {} +impl ::core::fmt::Display for FdwRoutine { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for FetchStmt {} +impl pg_sys::PgNode for FetchStmt {} +impl ::core::fmt::Display for FetchStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for FieldSelect {} +impl pg_sys::PgNode for FieldSelect {} +impl ::core::fmt::Display for FieldSelect { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for FieldStore {} +impl pg_sys::PgNode for FieldStore {} +impl ::core::fmt::Display for FieldStore { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Float {} +impl pg_sys::PgNode for Float {} +impl ::core::fmt::Display for Float { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ForeignKeyCacheInfo {} +impl pg_sys::PgNode for ForeignKeyCacheInfo {} +impl ::core::fmt::Display for ForeignKeyCacheInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ForeignKeyOptInfo {} +impl pg_sys::PgNode for ForeignKeyOptInfo {} +impl ::core::fmt::Display for ForeignKeyOptInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ForeignPath {} +impl pg_sys::PgNode for ForeignPath {} +impl ::core::fmt::Display for ForeignPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ForeignScan {} +impl pg_sys::PgNode for ForeignScan {} +impl ::core::fmt::Display for ForeignScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ForeignScanState {} +impl pg_sys::PgNode for ForeignScanState {} +impl ::core::fmt::Display for ForeignScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for FromExpr {} +impl pg_sys::PgNode for FromExpr {} +impl ::core::fmt::Display for FromExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for FuncCall {} +impl pg_sys::PgNode for FuncCall {} +impl ::core::fmt::Display for FuncCall { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for FuncExpr {} +impl pg_sys::PgNode for FuncExpr {} +impl ::core::fmt::Display for FuncExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for FunctionParameter {} +impl pg_sys::PgNode for FunctionParameter {} +impl ::core::fmt::Display for FunctionParameter { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for FunctionScan {} +impl pg_sys::PgNode for FunctionScan {} +impl ::core::fmt::Display for FunctionScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for FunctionScanState {} +impl pg_sys::PgNode for FunctionScanState {} +impl ::core::fmt::Display for FunctionScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Gather {} +impl pg_sys::PgNode for Gather {} +impl ::core::fmt::Display for Gather { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GatherMerge {} +impl pg_sys::PgNode for GatherMerge {} +impl ::core::fmt::Display for GatherMerge { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GatherMergePath {} +impl pg_sys::PgNode for GatherMergePath {} +impl ::core::fmt::Display for GatherMergePath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GatherMergeState {} +impl pg_sys::PgNode for GatherMergeState {} +impl ::core::fmt::Display for GatherMergeState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GatherPath {} +impl pg_sys::PgNode for GatherPath {} +impl ::core::fmt::Display for GatherPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GatherState {} +impl pg_sys::PgNode for GatherState {} +impl ::core::fmt::Display for GatherState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GrantRoleStmt {} +impl pg_sys::PgNode for GrantRoleStmt {} +impl ::core::fmt::Display for GrantRoleStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GrantStmt {} +impl pg_sys::PgNode for GrantStmt {} +impl ::core::fmt::Display for GrantStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Group {} +impl pg_sys::PgNode for Group {} +impl ::core::fmt::Display for Group { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GroupByOrdering {} +impl pg_sys::PgNode for GroupByOrdering {} +impl ::core::fmt::Display for GroupByOrdering { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GroupPath {} +impl pg_sys::PgNode for GroupPath {} +impl ::core::fmt::Display for GroupPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GroupResultPath {} +impl pg_sys::PgNode for GroupResultPath {} +impl ::core::fmt::Display for GroupResultPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GroupState {} +impl pg_sys::PgNode for GroupState {} +impl ::core::fmt::Display for GroupState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GroupingFunc {} +impl pg_sys::PgNode for GroupingFunc {} +impl ::core::fmt::Display for GroupingFunc { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GroupingSet {} +impl pg_sys::PgNode for GroupingSet {} +impl ::core::fmt::Display for GroupingSet { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GroupingSetData {} +impl pg_sys::PgNode for GroupingSetData {} +impl ::core::fmt::Display for GroupingSetData { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for GroupingSetsPath {} +impl pg_sys::PgNode for GroupingSetsPath {} +impl ::core::fmt::Display for GroupingSetsPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Hash {} +impl pg_sys::PgNode for Hash {} +impl ::core::fmt::Display for Hash { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for HashJoin {} +impl pg_sys::PgNode for HashJoin {} +impl ::core::fmt::Display for HashJoin { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for HashJoinState {} +impl pg_sys::PgNode for HashJoinState {} +impl ::core::fmt::Display for HashJoinState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for HashPath {} +impl pg_sys::PgNode for HashPath {} +impl ::core::fmt::Display for HashPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for HashState {} +impl pg_sys::PgNode for HashState {} +impl ::core::fmt::Display for HashState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for HeapTupleTableSlot {} +impl pg_sys::PgNode for HeapTupleTableSlot {} +impl ::core::fmt::Display for HeapTupleTableSlot { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IdentifySystemCmd {} +impl pg_sys::PgNode for IdentifySystemCmd {} +impl ::core::fmt::Display for IdentifySystemCmd { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ImportForeignSchemaStmt {} +impl pg_sys::PgNode for ImportForeignSchemaStmt {} +impl ::core::fmt::Display for ImportForeignSchemaStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IncrementalSort {} +impl pg_sys::PgNode for IncrementalSort {} +impl ::core::fmt::Display for IncrementalSort { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IncrementalSortPath {} +impl pg_sys::PgNode for IncrementalSortPath {} +impl ::core::fmt::Display for IncrementalSortPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IncrementalSortState {} +impl pg_sys::PgNode for IncrementalSortState {} +impl ::core::fmt::Display for IncrementalSortState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IndexAmRoutine {} +impl pg_sys::PgNode for IndexAmRoutine {} +impl ::core::fmt::Display for IndexAmRoutine { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IndexClause {} +impl pg_sys::PgNode for IndexClause {} +impl ::core::fmt::Display for IndexClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IndexElem {} +impl pg_sys::PgNode for IndexElem {} +impl ::core::fmt::Display for IndexElem { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IndexInfo {} +impl pg_sys::PgNode for IndexInfo {} +impl ::core::fmt::Display for IndexInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IndexOnlyScan {} +impl pg_sys::PgNode for IndexOnlyScan {} +impl ::core::fmt::Display for IndexOnlyScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IndexOnlyScanState {} +impl pg_sys::PgNode for IndexOnlyScanState {} +impl ::core::fmt::Display for IndexOnlyScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IndexOptInfo {} +impl pg_sys::PgNode for IndexOptInfo {} +impl ::core::fmt::Display for IndexOptInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IndexPath {} +impl pg_sys::PgNode for IndexPath {} +impl ::core::fmt::Display for IndexPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IndexScan {} +impl pg_sys::PgNode for IndexScan {} +impl ::core::fmt::Display for IndexScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IndexScanState {} +impl pg_sys::PgNode for IndexScanState {} +impl ::core::fmt::Display for IndexScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IndexStmt {} +impl pg_sys::PgNode for IndexStmt {} +impl ::core::fmt::Display for IndexStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for InferClause {} +impl pg_sys::PgNode for InferClause {} +impl ::core::fmt::Display for InferClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for InferenceElem {} +impl pg_sys::PgNode for InferenceElem {} +impl ::core::fmt::Display for InferenceElem { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for InlineCodeBlock {} +impl pg_sys::PgNode for InlineCodeBlock {} +impl ::core::fmt::Display for InlineCodeBlock { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for InsertStmt {} +impl pg_sys::PgNode for InsertStmt {} +impl ::core::fmt::Display for InsertStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Integer {} +impl pg_sys::PgNode for Integer {} +impl ::core::fmt::Display for Integer { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for IntoClause {} +impl pg_sys::PgNode for IntoClause {} +impl ::core::fmt::Display for IntoClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Join {} +impl pg_sys::PgNode for Join {} +impl ::core::fmt::Display for Join { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JoinDomain {} +impl pg_sys::PgNode for JoinDomain {} +impl ::core::fmt::Display for JoinDomain { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JoinExpr {} +impl pg_sys::PgNode for JoinExpr {} +impl ::core::fmt::Display for JoinExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JoinPath {} +impl pg_sys::PgNode for JoinPath {} +impl ::core::fmt::Display for JoinPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JoinState {} +impl pg_sys::PgNode for JoinState {} +impl ::core::fmt::Display for JoinState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonAggConstructor {} +impl pg_sys::PgNode for JsonAggConstructor {} +impl ::core::fmt::Display for JsonAggConstructor { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonArgument {} +impl pg_sys::PgNode for JsonArgument {} +impl ::core::fmt::Display for JsonArgument { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonArrayAgg {} +impl pg_sys::PgNode for JsonArrayAgg {} +impl ::core::fmt::Display for JsonArrayAgg { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonArrayConstructor {} +impl pg_sys::PgNode for JsonArrayConstructor {} +impl ::core::fmt::Display for JsonArrayConstructor { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonArrayQueryConstructor {} +impl pg_sys::PgNode for JsonArrayQueryConstructor {} +impl ::core::fmt::Display for JsonArrayQueryConstructor { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonBehavior {} +impl pg_sys::PgNode for JsonBehavior {} +impl ::core::fmt::Display for JsonBehavior { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonConstructorExpr {} +impl pg_sys::PgNode for JsonConstructorExpr {} +impl ::core::fmt::Display for JsonConstructorExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonExpr {} +impl pg_sys::PgNode for JsonExpr {} +impl ::core::fmt::Display for JsonExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonFormat {} +impl pg_sys::PgNode for JsonFormat {} +impl ::core::fmt::Display for JsonFormat { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonFuncExpr {} +impl pg_sys::PgNode for JsonFuncExpr {} +impl ::core::fmt::Display for JsonFuncExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonIsPredicate {} +impl pg_sys::PgNode for JsonIsPredicate {} +impl ::core::fmt::Display for JsonIsPredicate { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonKeyValue {} +impl pg_sys::PgNode for JsonKeyValue {} +impl ::core::fmt::Display for JsonKeyValue { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonObjectAgg {} +impl pg_sys::PgNode for JsonObjectAgg {} +impl ::core::fmt::Display for JsonObjectAgg { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonObjectConstructor {} +impl pg_sys::PgNode for JsonObjectConstructor {} +impl ::core::fmt::Display for JsonObjectConstructor { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonOutput {} +impl pg_sys::PgNode for JsonOutput {} +impl ::core::fmt::Display for JsonOutput { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonParseExpr {} +impl pg_sys::PgNode for JsonParseExpr {} +impl ::core::fmt::Display for JsonParseExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonReturning {} +impl pg_sys::PgNode for JsonReturning {} +impl ::core::fmt::Display for JsonReturning { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonScalarExpr {} +impl pg_sys::PgNode for JsonScalarExpr {} +impl ::core::fmt::Display for JsonScalarExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonSerializeExpr {} +impl pg_sys::PgNode for JsonSerializeExpr {} +impl ::core::fmt::Display for JsonSerializeExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonTable {} +impl pg_sys::PgNode for JsonTable {} +impl ::core::fmt::Display for JsonTable { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonTableColumn {} +impl pg_sys::PgNode for JsonTableColumn {} +impl ::core::fmt::Display for JsonTableColumn { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonTablePath {} +impl pg_sys::PgNode for JsonTablePath {} +impl ::core::fmt::Display for JsonTablePath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonTablePathScan {} +impl pg_sys::PgNode for JsonTablePathScan {} +impl ::core::fmt::Display for JsonTablePathScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonTablePathSpec {} +impl pg_sys::PgNode for JsonTablePathSpec {} +impl ::core::fmt::Display for JsonTablePathSpec { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonTablePlan {} +impl pg_sys::PgNode for JsonTablePlan {} +impl ::core::fmt::Display for JsonTablePlan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonTableSiblingJoin {} +impl pg_sys::PgNode for JsonTableSiblingJoin {} +impl ::core::fmt::Display for JsonTableSiblingJoin { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JsonValueExpr {} +impl pg_sys::PgNode for JsonValueExpr {} +impl ::core::fmt::Display for JsonValueExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for JunkFilter {} +impl pg_sys::PgNode for JunkFilter {} +impl ::core::fmt::Display for JunkFilter { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Limit {} +impl pg_sys::PgNode for Limit {} +impl ::core::fmt::Display for Limit { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for LimitPath {} +impl pg_sys::PgNode for LimitPath {} +impl ::core::fmt::Display for LimitPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for LimitState {} +impl pg_sys::PgNode for LimitState {} +impl ::core::fmt::Display for LimitState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for List {} +impl pg_sys::PgNode for List {} +impl ::core::fmt::Display for List { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ListenStmt {} +impl pg_sys::PgNode for ListenStmt {} +impl ::core::fmt::Display for ListenStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for LoadStmt {} +impl pg_sys::PgNode for LoadStmt {} +impl ::core::fmt::Display for LoadStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for LockRows {} +impl pg_sys::PgNode for LockRows {} +impl ::core::fmt::Display for LockRows { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for LockRowsPath {} +impl pg_sys::PgNode for LockRowsPath {} +impl ::core::fmt::Display for LockRowsPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for LockRowsState {} +impl pg_sys::PgNode for LockRowsState {} +impl ::core::fmt::Display for LockRowsState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for LockStmt {} +impl pg_sys::PgNode for LockStmt {} +impl ::core::fmt::Display for LockStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for LockingClause {} +impl pg_sys::PgNode for LockingClause {} +impl ::core::fmt::Display for LockingClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Material {} +impl pg_sys::PgNode for Material {} +impl ::core::fmt::Display for Material { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MaterialPath {} +impl pg_sys::PgNode for MaterialPath {} +impl ::core::fmt::Display for MaterialPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MaterialState {} +impl pg_sys::PgNode for MaterialState {} +impl ::core::fmt::Display for MaterialState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Memoize {} +impl pg_sys::PgNode for Memoize {} +impl ::core::fmt::Display for Memoize { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MemoizePath {} +impl pg_sys::PgNode for MemoizePath {} +impl ::core::fmt::Display for MemoizePath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MemoizeState {} +impl pg_sys::PgNode for MemoizeState {} +impl ::core::fmt::Display for MemoizeState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MemoryContextData {} +impl pg_sys::PgNode for MemoryContextData {} +impl ::core::fmt::Display for MemoryContextData { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MergeAction {} +impl pg_sys::PgNode for MergeAction {} +impl ::core::fmt::Display for MergeAction { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MergeActionState {} +impl pg_sys::PgNode for MergeActionState {} +impl ::core::fmt::Display for MergeActionState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MergeAppend {} +impl pg_sys::PgNode for MergeAppend {} +impl ::core::fmt::Display for MergeAppend { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MergeAppendPath {} +impl pg_sys::PgNode for MergeAppendPath {} +impl ::core::fmt::Display for MergeAppendPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MergeAppendState {} +impl pg_sys::PgNode for MergeAppendState {} +impl ::core::fmt::Display for MergeAppendState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MergeJoin {} +impl pg_sys::PgNode for MergeJoin {} +impl ::core::fmt::Display for MergeJoin { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MergeJoinState {} +impl pg_sys::PgNode for MergeJoinState {} +impl ::core::fmt::Display for MergeJoinState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MergePath {} +impl pg_sys::PgNode for MergePath {} +impl ::core::fmt::Display for MergePath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MergeStmt {} +impl pg_sys::PgNode for MergeStmt {} +impl ::core::fmt::Display for MergeStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MergeSupportFunc {} +impl pg_sys::PgNode for MergeSupportFunc {} +impl ::core::fmt::Display for MergeSupportFunc { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MergeWhenClause {} +impl pg_sys::PgNode for MergeWhenClause {} +impl ::core::fmt::Display for MergeWhenClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MinMaxAggInfo {} +impl pg_sys::PgNode for MinMaxAggInfo {} +impl ::core::fmt::Display for MinMaxAggInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MinMaxAggPath {} +impl pg_sys::PgNode for MinMaxAggPath {} +impl ::core::fmt::Display for MinMaxAggPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MinMaxExpr {} +impl pg_sys::PgNode for MinMaxExpr {} +impl ::core::fmt::Display for MinMaxExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MinimalTupleTableSlot {} +impl pg_sys::PgNode for MinimalTupleTableSlot {} +impl ::core::fmt::Display for MinimalTupleTableSlot { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ModifyTable {} +impl pg_sys::PgNode for ModifyTable {} +impl ::core::fmt::Display for ModifyTable { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ModifyTablePath {} +impl pg_sys::PgNode for ModifyTablePath {} +impl ::core::fmt::Display for ModifyTablePath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ModifyTableState {} +impl pg_sys::PgNode for ModifyTableState {} +impl ::core::fmt::Display for ModifyTableState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for MultiAssignRef {} +impl pg_sys::PgNode for MultiAssignRef {} +impl ::core::fmt::Display for MultiAssignRef { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for NamedArgExpr {} +impl pg_sys::PgNode for NamedArgExpr {} +impl ::core::fmt::Display for NamedArgExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for NamedTuplestoreScan {} +impl pg_sys::PgNode for NamedTuplestoreScan {} +impl ::core::fmt::Display for NamedTuplestoreScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for NamedTuplestoreScanState {} +impl pg_sys::PgNode for NamedTuplestoreScanState {} +impl ::core::fmt::Display for NamedTuplestoreScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for NestLoop {} +impl pg_sys::PgNode for NestLoop {} +impl ::core::fmt::Display for NestLoop { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for NestLoopParam {} +impl pg_sys::PgNode for NestLoopParam {} +impl ::core::fmt::Display for NestLoopParam { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for NestLoopState {} +impl pg_sys::PgNode for NestLoopState {} +impl ::core::fmt::Display for NestLoopState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for NestPath {} +impl pg_sys::PgNode for NestPath {} +impl ::core::fmt::Display for NestPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for NextValueExpr {} +impl pg_sys::PgNode for NextValueExpr {} +impl ::core::fmt::Display for NextValueExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Node {} +impl pg_sys::PgNode for Node {} +impl ::core::fmt::Display for Node { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for NotifyStmt {} +impl pg_sys::PgNode for NotifyStmt {} +impl ::core::fmt::Display for NotifyStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for NullTest {} +impl pg_sys::PgNode for NullTest {} +impl ::core::fmt::Display for NullTest { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ObjectWithArgs {} +impl pg_sys::PgNode for ObjectWithArgs {} +impl ::core::fmt::Display for ObjectWithArgs { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for OnConflictClause {} +impl pg_sys::PgNode for OnConflictClause {} +impl ::core::fmt::Display for OnConflictClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for OnConflictExpr {} +impl pg_sys::PgNode for OnConflictExpr {} +impl ::core::fmt::Display for OnConflictExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for OnConflictSetState {} +impl pg_sys::PgNode for OnConflictSetState {} +impl ::core::fmt::Display for OnConflictSetState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for OpExpr {} +impl pg_sys::PgNode for OpExpr {} +impl ::core::fmt::Display for OpExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for OuterJoinClauseInfo {} +impl pg_sys::PgNode for OuterJoinClauseInfo {} +impl ::core::fmt::Display for OuterJoinClauseInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PLAssignStmt {} +impl pg_sys::PgNode for PLAssignStmt {} +impl ::core::fmt::Display for PLAssignStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Param {} +impl pg_sys::PgNode for Param {} +impl ::core::fmt::Display for Param { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ParamPathInfo {} +impl pg_sys::PgNode for ParamPathInfo {} +impl ::core::fmt::Display for ParamPathInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ParamRef {} +impl pg_sys::PgNode for ParamRef {} +impl ::core::fmt::Display for ParamRef { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PartitionBoundSpec {} +impl pg_sys::PgNode for PartitionBoundSpec {} +impl ::core::fmt::Display for PartitionBoundSpec { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PartitionCmd {} +impl pg_sys::PgNode for PartitionCmd {} +impl ::core::fmt::Display for PartitionCmd { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PartitionElem {} +impl pg_sys::PgNode for PartitionElem {} +impl ::core::fmt::Display for PartitionElem { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PartitionPruneInfo {} +impl pg_sys::PgNode for PartitionPruneInfo {} +impl ::core::fmt::Display for PartitionPruneInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PartitionPruneStep {} +impl pg_sys::PgNode for PartitionPruneStep {} +impl ::core::fmt::Display for PartitionPruneStep { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PartitionPruneStepCombine {} +impl pg_sys::PgNode for PartitionPruneStepCombine {} +impl ::core::fmt::Display for PartitionPruneStepCombine { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PartitionPruneStepOp {} +impl pg_sys::PgNode for PartitionPruneStepOp {} +impl ::core::fmt::Display for PartitionPruneStepOp { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PartitionRangeDatum {} +impl pg_sys::PgNode for PartitionRangeDatum {} +impl ::core::fmt::Display for PartitionRangeDatum { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PartitionSpec {} +impl pg_sys::PgNode for PartitionSpec {} +impl ::core::fmt::Display for PartitionSpec { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PartitionedRelPruneInfo {} +impl pg_sys::PgNode for PartitionedRelPruneInfo {} +impl ::core::fmt::Display for PartitionedRelPruneInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Path {} +impl pg_sys::PgNode for Path {} +impl ::core::fmt::Display for Path { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PathKey {} +impl pg_sys::PgNode for PathKey {} +impl ::core::fmt::Display for PathKey { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PathTarget {} +impl pg_sys::PgNode for PathTarget {} +impl ::core::fmt::Display for PathTarget { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PlaceHolderInfo {} +impl pg_sys::PgNode for PlaceHolderInfo {} +impl ::core::fmt::Display for PlaceHolderInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PlaceHolderVar {} +impl pg_sys::PgNode for PlaceHolderVar {} +impl ::core::fmt::Display for PlaceHolderVar { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Plan {} +impl pg_sys::PgNode for Plan {} +impl ::core::fmt::Display for Plan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PlanInvalItem {} +impl pg_sys::PgNode for PlanInvalItem {} +impl ::core::fmt::Display for PlanInvalItem { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PlanRowMark {} +impl pg_sys::PgNode for PlanRowMark {} +impl ::core::fmt::Display for PlanRowMark { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PlanState {} +impl pg_sys::PgNode for PlanState {} +impl ::core::fmt::Display for PlanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PlannedStmt {} +impl pg_sys::PgNode for PlannedStmt {} +impl ::core::fmt::Display for PlannedStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PlannerGlobal {} +impl pg_sys::PgNode for PlannerGlobal {} +impl ::core::fmt::Display for PlannerGlobal { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PlannerInfo {} +impl pg_sys::PgNode for PlannerInfo {} +impl ::core::fmt::Display for PlannerInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PlannerParamItem {} +impl pg_sys::PgNode for PlannerParamItem {} +impl ::core::fmt::Display for PlannerParamItem { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PrepareStmt {} +impl pg_sys::PgNode for PrepareStmt {} +impl ::core::fmt::Display for PrepareStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ProjectSet {} +impl pg_sys::PgNode for ProjectSet {} +impl ::core::fmt::Display for ProjectSet { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ProjectSetPath {} +impl pg_sys::PgNode for ProjectSetPath {} +impl ::core::fmt::Display for ProjectSetPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ProjectSetState {} +impl pg_sys::PgNode for ProjectSetState {} +impl ::core::fmt::Display for ProjectSetState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ProjectionInfo {} +impl pg_sys::PgNode for ProjectionInfo {} +impl ::core::fmt::Display for ProjectionInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ProjectionPath {} +impl pg_sys::PgNode for ProjectionPath {} +impl ::core::fmt::Display for ProjectionPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PublicationObjSpec {} +impl pg_sys::PgNode for PublicationObjSpec {} +impl ::core::fmt::Display for PublicationObjSpec { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for PublicationTable {} +impl pg_sys::PgNode for PublicationTable {} +impl ::core::fmt::Display for PublicationTable { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Query {} +impl pg_sys::PgNode for Query {} +impl ::core::fmt::Display for Query { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RTEPermissionInfo {} +impl pg_sys::PgNode for RTEPermissionInfo {} +impl ::core::fmt::Display for RTEPermissionInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RangeFunction {} +impl pg_sys::PgNode for RangeFunction {} +impl ::core::fmt::Display for RangeFunction { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RangeSubselect {} +impl pg_sys::PgNode for RangeSubselect {} +impl ::core::fmt::Display for RangeSubselect { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RangeTableFunc {} +impl pg_sys::PgNode for RangeTableFunc {} +impl ::core::fmt::Display for RangeTableFunc { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RangeTableFuncCol {} +impl pg_sys::PgNode for RangeTableFuncCol {} +impl ::core::fmt::Display for RangeTableFuncCol { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RangeTableSample {} +impl pg_sys::PgNode for RangeTableSample {} +impl ::core::fmt::Display for RangeTableSample { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RangeTblEntry {} +impl pg_sys::PgNode for RangeTblEntry {} +impl ::core::fmt::Display for RangeTblEntry { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RangeTblFunction {} +impl pg_sys::PgNode for RangeTblFunction {} +impl ::core::fmt::Display for RangeTblFunction { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RangeTblRef {} +impl pg_sys::PgNode for RangeTblRef {} +impl ::core::fmt::Display for RangeTblRef { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RangeVar {} +impl pg_sys::PgNode for RangeVar {} +impl ::core::fmt::Display for RangeVar { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RawStmt {} +impl pg_sys::PgNode for RawStmt {} +impl ::core::fmt::Display for RawStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ReadReplicationSlotCmd {} +impl pg_sys::PgNode for ReadReplicationSlotCmd {} +impl ::core::fmt::Display for ReadReplicationSlotCmd { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ReassignOwnedStmt {} +impl pg_sys::PgNode for ReassignOwnedStmt {} +impl ::core::fmt::Display for ReassignOwnedStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RecursiveUnion {} +impl pg_sys::PgNode for RecursiveUnion {} +impl ::core::fmt::Display for RecursiveUnion { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RecursiveUnionPath {} +impl pg_sys::PgNode for RecursiveUnionPath {} +impl ::core::fmt::Display for RecursiveUnionPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RecursiveUnionState {} +impl pg_sys::PgNode for RecursiveUnionState {} +impl ::core::fmt::Display for RecursiveUnionState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RefreshMatViewStmt {} +impl pg_sys::PgNode for RefreshMatViewStmt {} +impl ::core::fmt::Display for RefreshMatViewStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ReindexStmt {} +impl pg_sys::PgNode for ReindexStmt {} +impl ::core::fmt::Display for ReindexStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RelOptInfo {} +impl pg_sys::PgNode for RelOptInfo {} +impl ::core::fmt::Display for RelOptInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RelabelType {} +impl pg_sys::PgNode for RelabelType {} +impl ::core::fmt::Display for RelabelType { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RenameStmt {} +impl pg_sys::PgNode for RenameStmt {} +impl ::core::fmt::Display for RenameStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ReplicaIdentityStmt {} +impl pg_sys::PgNode for ReplicaIdentityStmt {} +impl ::core::fmt::Display for ReplicaIdentityStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ResTarget {} +impl pg_sys::PgNode for ResTarget {} +impl ::core::fmt::Display for ResTarget { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RestrictInfo {} +impl pg_sys::PgNode for RestrictInfo {} +impl ::core::fmt::Display for RestrictInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Result {} +impl pg_sys::PgNode for Result {} +impl ::core::fmt::Display for Result { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ResultRelInfo {} +impl pg_sys::PgNode for ResultRelInfo {} +impl ::core::fmt::Display for ResultRelInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ResultState {} +impl pg_sys::PgNode for ResultState {} +impl ::core::fmt::Display for ResultState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ReturnSetInfo {} +impl pg_sys::PgNode for ReturnSetInfo {} +impl ::core::fmt::Display for ReturnSetInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ReturnStmt {} +impl pg_sys::PgNode for ReturnStmt {} +impl ::core::fmt::Display for ReturnStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ReturningClause {} +impl pg_sys::PgNode for ReturningClause {} +impl ::core::fmt::Display for ReturningClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ReturningExpr {} +impl pg_sys::PgNode for ReturningExpr {} +impl ::core::fmt::Display for ReturningExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ReturningOption {} +impl pg_sys::PgNode for ReturningOption {} +impl ::core::fmt::Display for ReturningOption { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RoleSpec {} +impl pg_sys::PgNode for RoleSpec {} +impl ::core::fmt::Display for RoleSpec { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RollupData {} +impl pg_sys::PgNode for RollupData {} +impl ::core::fmt::Display for RollupData { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RowCompareExpr {} +impl pg_sys::PgNode for RowCompareExpr {} +impl ::core::fmt::Display for RowCompareExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RowExpr {} +impl pg_sys::PgNode for RowExpr {} +impl ::core::fmt::Display for RowExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RowIdentityVarInfo {} +impl pg_sys::PgNode for RowIdentityVarInfo {} +impl ::core::fmt::Display for RowIdentityVarInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RowMarkClause {} +impl pg_sys::PgNode for RowMarkClause {} +impl ::core::fmt::Display for RowMarkClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for RuleStmt {} +impl pg_sys::PgNode for RuleStmt {} +impl ::core::fmt::Display for RuleStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SQLValueFunction {} +impl pg_sys::PgNode for SQLValueFunction {} +impl ::core::fmt::Display for SQLValueFunction { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SampleScan {} +impl pg_sys::PgNode for SampleScan {} +impl ::core::fmt::Display for SampleScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SampleScanState {} +impl pg_sys::PgNode for SampleScanState {} +impl ::core::fmt::Display for SampleScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ScalarArrayOpExpr {} +impl pg_sys::PgNode for ScalarArrayOpExpr {} +impl ::core::fmt::Display for ScalarArrayOpExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Scan {} +impl pg_sys::PgNode for Scan {} +impl ::core::fmt::Display for Scan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ScanState {} +impl pg_sys::PgNode for ScanState {} +impl ::core::fmt::Display for ScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SecLabelStmt {} +impl pg_sys::PgNode for SecLabelStmt {} +impl ::core::fmt::Display for SecLabelStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SelectStmt {} +impl pg_sys::PgNode for SelectStmt {} +impl ::core::fmt::Display for SelectStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SeqScan {} +impl pg_sys::PgNode for SeqScan {} +impl ::core::fmt::Display for SeqScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SeqScanState {} +impl pg_sys::PgNode for SeqScanState {} +impl ::core::fmt::Display for SeqScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SetExprState {} +impl pg_sys::PgNode for SetExprState {} +impl ::core::fmt::Display for SetExprState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SetOp {} +impl pg_sys::PgNode for SetOp {} +impl ::core::fmt::Display for SetOp { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SetOpPath {} +impl pg_sys::PgNode for SetOpPath {} +impl ::core::fmt::Display for SetOpPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SetOpState {} +impl pg_sys::PgNode for SetOpState {} +impl ::core::fmt::Display for SetOpState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SetOperationStmt {} +impl pg_sys::PgNode for SetOperationStmt {} +impl ::core::fmt::Display for SetOperationStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SetToDefault {} +impl pg_sys::PgNode for SetToDefault {} +impl ::core::fmt::Display for SetToDefault { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Sort {} +impl pg_sys::PgNode for Sort {} +impl ::core::fmt::Display for Sort { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SortBy {} +impl pg_sys::PgNode for SortBy {} +impl ::core::fmt::Display for SortBy { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SortGroupClause {} +impl pg_sys::PgNode for SortGroupClause {} +impl ::core::fmt::Display for SortGroupClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SortPath {} +impl pg_sys::PgNode for SortPath {} +impl ::core::fmt::Display for SortPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SortState {} +impl pg_sys::PgNode for SortState {} +impl ::core::fmt::Display for SortState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SpecialJoinInfo {} +impl pg_sys::PgNode for SpecialJoinInfo {} +impl ::core::fmt::Display for SpecialJoinInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for StartReplicationCmd {} +impl pg_sys::PgNode for StartReplicationCmd {} +impl ::core::fmt::Display for StartReplicationCmd { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for StatisticExtInfo {} +impl pg_sys::PgNode for StatisticExtInfo {} +impl ::core::fmt::Display for StatisticExtInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for StatsElem {} +impl pg_sys::PgNode for StatsElem {} +impl ::core::fmt::Display for StatsElem { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for String {} +impl pg_sys::PgNode for String {} +impl ::core::fmt::Display for String { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SubLink {} +impl pg_sys::PgNode for SubLink {} +impl ::core::fmt::Display for SubLink { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SubPlan {} +impl pg_sys::PgNode for SubPlan {} +impl ::core::fmt::Display for SubPlan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SubPlanState {} +impl pg_sys::PgNode for SubPlanState {} +impl ::core::fmt::Display for SubPlanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SubqueryScan {} +impl pg_sys::PgNode for SubqueryScan {} +impl ::core::fmt::Display for SubqueryScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SubqueryScanPath {} +impl pg_sys::PgNode for SubqueryScanPath {} +impl ::core::fmt::Display for SubqueryScanPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SubqueryScanState {} +impl pg_sys::PgNode for SubqueryScanState {} +impl ::core::fmt::Display for SubqueryScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SubscriptingRef {} +impl pg_sys::PgNode for SubscriptingRef {} +impl ::core::fmt::Display for SubscriptingRef { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SupportRequestCost {} +impl pg_sys::PgNode for SupportRequestCost {} +impl ::core::fmt::Display for SupportRequestCost { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SupportRequestIndexCondition {} +impl pg_sys::PgNode for SupportRequestIndexCondition {} +impl ::core::fmt::Display for SupportRequestIndexCondition { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SupportRequestModifyInPlace {} +impl pg_sys::PgNode for SupportRequestModifyInPlace {} +impl ::core::fmt::Display for SupportRequestModifyInPlace { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SupportRequestOptimizeWindowClause {} +impl pg_sys::PgNode for SupportRequestOptimizeWindowClause {} +impl ::core::fmt::Display for SupportRequestOptimizeWindowClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SupportRequestRows {} +impl pg_sys::PgNode for SupportRequestRows {} +impl ::core::fmt::Display for SupportRequestRows { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SupportRequestSelectivity {} +impl pg_sys::PgNode for SupportRequestSelectivity {} +impl ::core::fmt::Display for SupportRequestSelectivity { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SupportRequestSimplify {} +impl pg_sys::PgNode for SupportRequestSimplify {} +impl ::core::fmt::Display for SupportRequestSimplify { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for SupportRequestWFuncMonotonic {} +impl pg_sys::PgNode for SupportRequestWFuncMonotonic {} +impl ::core::fmt::Display for SupportRequestWFuncMonotonic { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TableAmRoutine {} +impl pg_sys::PgNode for TableAmRoutine {} +impl ::core::fmt::Display for TableAmRoutine { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TableFunc {} +impl pg_sys::PgNode for TableFunc {} +impl ::core::fmt::Display for TableFunc { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TableFuncScan {} +impl pg_sys::PgNode for TableFuncScan {} +impl ::core::fmt::Display for TableFuncScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TableFuncScanState {} +impl pg_sys::PgNode for TableFuncScanState {} +impl ::core::fmt::Display for TableFuncScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TableLikeClause {} +impl pg_sys::PgNode for TableLikeClause {} +impl ::core::fmt::Display for TableLikeClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TableSampleClause {} +impl pg_sys::PgNode for TableSampleClause {} +impl ::core::fmt::Display for TableSampleClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TargetEntry {} +impl pg_sys::PgNode for TargetEntry {} +impl ::core::fmt::Display for TargetEntry { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TidPath {} +impl pg_sys::PgNode for TidPath {} +impl ::core::fmt::Display for TidPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TidRangePath {} +impl pg_sys::PgNode for TidRangePath {} +impl ::core::fmt::Display for TidRangePath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TidRangeScan {} +impl pg_sys::PgNode for TidRangeScan {} +impl ::core::fmt::Display for TidRangeScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TidRangeScanState {} +impl pg_sys::PgNode for TidRangeScanState {} +impl ::core::fmt::Display for TidRangeScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TidScan {} +impl pg_sys::PgNode for TidScan {} +impl ::core::fmt::Display for TidScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TidScanState {} +impl pg_sys::PgNode for TidScanState {} +impl ::core::fmt::Display for TidScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TimeLineHistoryCmd {} +impl pg_sys::PgNode for TimeLineHistoryCmd {} +impl ::core::fmt::Display for TimeLineHistoryCmd { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TransactionStmt {} +impl pg_sys::PgNode for TransactionStmt {} +impl ::core::fmt::Display for TransactionStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TriggerData {} +impl pg_sys::PgNode for TriggerData {} +impl ::core::fmt::Display for TriggerData { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TriggerTransition {} +impl pg_sys::PgNode for TriggerTransition {} +impl ::core::fmt::Display for TriggerTransition { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TruncateStmt {} +impl pg_sys::PgNode for TruncateStmt {} +impl ::core::fmt::Display for TruncateStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TupleTableSlot {} +impl pg_sys::PgNode for TupleTableSlot {} +impl ::core::fmt::Display for TupleTableSlot { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TypeCast {} +impl pg_sys::PgNode for TypeCast {} +impl ::core::fmt::Display for TypeCast { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for TypeName {} +impl pg_sys::PgNode for TypeName {} +impl ::core::fmt::Display for TypeName { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Unique {} +impl pg_sys::PgNode for Unique {} +impl ::core::fmt::Display for Unique { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for UniquePath {} +impl pg_sys::PgNode for UniquePath {} +impl ::core::fmt::Display for UniquePath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for UniqueRelInfo {} +impl pg_sys::PgNode for UniqueRelInfo {} +impl ::core::fmt::Display for UniqueRelInfo { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for UniqueState {} +impl pg_sys::PgNode for UniqueState {} +impl ::core::fmt::Display for UniqueState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for UnlistenStmt {} +impl pg_sys::PgNode for UnlistenStmt {} +impl ::core::fmt::Display for UnlistenStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for UpdateStmt {} +impl pg_sys::PgNode for UpdateStmt {} +impl ::core::fmt::Display for UpdateStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for UploadManifestCmd {} +impl pg_sys::PgNode for UploadManifestCmd {} +impl ::core::fmt::Display for UploadManifestCmd { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for UpperUniquePath {} +impl pg_sys::PgNode for UpperUniquePath {} +impl ::core::fmt::Display for UpperUniquePath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for VacuumRelation {} +impl pg_sys::PgNode for VacuumRelation {} +impl ::core::fmt::Display for VacuumRelation { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for VacuumStmt {} +impl pg_sys::PgNode for VacuumStmt {} +impl ::core::fmt::Display for VacuumStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ValuesScan {} +impl pg_sys::PgNode for ValuesScan {} +impl ::core::fmt::Display for ValuesScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ValuesScanState {} +impl pg_sys::PgNode for ValuesScanState {} +impl ::core::fmt::Display for ValuesScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for Var {} +impl pg_sys::PgNode for Var {} +impl ::core::fmt::Display for Var { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for VariableSetStmt {} +impl pg_sys::PgNode for VariableSetStmt {} +impl ::core::fmt::Display for VariableSetStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for VariableShowStmt {} +impl pg_sys::PgNode for VariableShowStmt {} +impl ::core::fmt::Display for VariableShowStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for ViewStmt {} +impl pg_sys::PgNode for ViewStmt {} +impl ::core::fmt::Display for ViewStmt { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for VirtualTupleTableSlot {} +impl pg_sys::PgNode for VirtualTupleTableSlot {} +impl ::core::fmt::Display for VirtualTupleTableSlot { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for WindowAgg {} +impl pg_sys::PgNode for WindowAgg {} +impl ::core::fmt::Display for WindowAgg { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for WindowAggPath {} +impl pg_sys::PgNode for WindowAggPath {} +impl ::core::fmt::Display for WindowAggPath { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for WindowAggState {} +impl pg_sys::PgNode for WindowAggState {} +impl ::core::fmt::Display for WindowAggState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for WindowClause {} +impl pg_sys::PgNode for WindowClause {} +impl ::core::fmt::Display for WindowClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for WindowDef {} +impl pg_sys::PgNode for WindowDef {} +impl ::core::fmt::Display for WindowDef { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for WindowFunc {} +impl pg_sys::PgNode for WindowFunc {} +impl ::core::fmt::Display for WindowFunc { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for WindowFuncExprState {} +impl pg_sys::PgNode for WindowFuncExprState {} +impl ::core::fmt::Display for WindowFuncExprState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for WindowFuncRunCondition {} +impl pg_sys::PgNode for WindowFuncRunCondition {} +impl ::core::fmt::Display for WindowFuncRunCondition { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for WithCheckOption {} +impl pg_sys::PgNode for WithCheckOption {} +impl ::core::fmt::Display for WithCheckOption { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for WithClause {} +impl pg_sys::PgNode for WithClause {} +impl ::core::fmt::Display for WithClause { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for WorkTableScan {} +impl pg_sys::PgNode for WorkTableScan {} +impl ::core::fmt::Display for WorkTableScan { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for WorkTableScanState {} +impl pg_sys::PgNode for WorkTableScanState {} +impl ::core::fmt::Display for WorkTableScanState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for XmlExpr {} +impl pg_sys::PgNode for XmlExpr {} +impl ::core::fmt::Display for XmlExpr { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} +impl pg_sys::seal::Sealed for XmlSerialize {} +impl pg_sys::PgNode for XmlSerialize {} +impl ::core::fmt::Display for XmlSerialize { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + self.display_node().fmt(f) + } +} diff --git a/pgrx-pg-sys/src/include/pg18_oids.rs b/pgrx-pg-sys/src/include/pg18_oids.rs new file mode 100644 index 0000000000..2b9fa56eae --- /dev/null +++ b/pgrx-pg-sys/src/include/pg18_oids.rs @@ -0,0 +1,589 @@ +/* Automatically generated by bindgen. Do not hand-edit. */ +use crate::NotBuiltinOid; +#[derive(Copy, Clone, Eq, PartialEq, Hash, Ord, PartialOrd, Debug)] +pub enum BuiltinOid { + ACLITEMARRAYOID = 1034, + ACLITEMOID = 1033, + ANYARRAYOID = 2277, + ANYCOMPATIBLEARRAYOID = 5078, + ANYCOMPATIBLEMULTIRANGEOID = 4538, + ANYCOMPATIBLENONARRAYOID = 5079, + ANYCOMPATIBLEOID = 5077, + ANYCOMPATIBLERANGEOID = 5080, + ANYELEMENTOID = 2283, + ANYENUMOID = 3500, + ANYMULTIRANGEOID = 4537, + ANYNONARRAYOID = 2776, + ANYOID = 2276, + ANYRANGEOID = 3831, + AccessMethodOperatorRelationId = 2602, + AccessMethodProcedureRelationId = 2603, + AccessMethodRelationId = 2601, + AttributeRelationId = 1249, + AuthIdRelationId = 1260, + BITARRAYOID = 1561, + BITOID = 1560, + BOOLARRAYOID = 1000, + BOOLOID = 16, + BOOL_BTREE_FAM_OID = 424, + BOOL_HASH_FAM_OID = 2222, + BOXARRAYOID = 1020, + BOXOID = 603, + BPCHARARRAYOID = 1014, + BPCHAROID = 1042, + BPCHAR_BTREE_FAM_OID = 426, + BPCHAR_BTREE_PATTERN_OPS_OID = 4219, + BPCHAR_PATTERN_BTREE_FAM_OID = 2097, + BRIN_AM_OID = 3580, + BTREE_AM_OID = 403, + BYTEAARRAYOID = 1001, + BYTEAOID = 17, + BYTEA_BTREE_FAM_OID = 428, + CHARARRAYOID = 1002, + CHAROID = 18, + CIDARRAYOID = 1012, + CIDOID = 29, + CIDRARRAYOID = 651, + CIDROID = 650, + CIRCLEARRAYOID = 719, + CIRCLEOID = 718, + CSTRINGARRAYOID = 1263, + CSTRINGOID = 2275, + C_COLLATION_OID = 950, + CollationRelationId = 3456, + DATEARRAYOID = 1182, + DATEMULTIRANGEARRAYOID = 6155, + DATEMULTIRANGEOID = 4535, + DATEOID = 1082, + DATERANGEARRAYOID = 3913, + DATERANGEOID = 3912, + DATE_BTREE_OPS_OID = 3122, + DEFAULTTABLESPACE_OID = 1663, + DEFAULT_COLLATION_OID = 100, + DatabaseRelationId = 1262, + EVENT_TRIGGEROID = 3838, + EnumRelationId = 3501, + EventTriggerRelationId = 3466, + ExtensionRelationId = 3079, + FDW_HANDLEROID = 3115, + FLOAT4ARRAYOID = 1021, + FLOAT4OID = 700, + FLOAT8ARRAYOID = 1022, + FLOAT8OID = 701, + FLOAT8_BTREE_OPS_OID = 3123, + F_BINARY_UPGRADE_SET_NEXT_ARRAY_PG_TYPE_OID = 3584, + F_BINARY_UPGRADE_SET_NEXT_HEAP_PG_CLASS_OID = 3586, + F_BINARY_UPGRADE_SET_NEXT_INDEX_PG_CLASS_OID = 3587, + F_BINARY_UPGRADE_SET_NEXT_MULTIRANGE_ARRAY_PG_TYPE_OID = 4391, + F_BINARY_UPGRADE_SET_NEXT_MULTIRANGE_PG_TYPE_OID = 4390, + F_BINARY_UPGRADE_SET_NEXT_PG_AUTHID_OID = 3590, + F_BINARY_UPGRADE_SET_NEXT_PG_ENUM_OID = 3589, + F_BINARY_UPGRADE_SET_NEXT_PG_TABLESPACE_OID = 4548, + F_BINARY_UPGRADE_SET_NEXT_PG_TYPE_OID = 3582, + F_BINARY_UPGRADE_SET_NEXT_TOAST_PG_CLASS_OID = 3588, + F_HASHOID = 453, + F_INT8_OID = 1288, + F_LO_GET_OID = 3458, + F_LO_IMPORT_TEXT_OID = 767, + F_MAX_OID = 2118, + F_MIN_OID = 2134, + F_NAMECONCATOID = 266, + F_OBJ_DESCRIPTION_OID = 1348, + F_OID = 1287, + F_PG_DATABASE_SIZE_OID = 2324, + F_PG_EVENT_TRIGGER_TABLE_REWRITE_OID = 4566, + F_PG_GET_CONSTRAINTDEF_OID = 1387, + F_PG_GET_EXPR_PG_NODE_TREE_OID = 1716, + F_PG_GET_INDEXDEF_OID = 1643, + F_PG_GET_RULEDEF_OID = 1573, + F_PG_GET_TRIGGERDEF_OID = 1662, + F_PG_GET_VIEWDEF_OID = 1641, + F_PG_LS_TMPDIR_OID = 5030, + F_PG_NEXTOID = 275, + F_PG_REPLICATION_ORIGIN_OID = 6005, + F_PG_TABLESPACE_SIZE_OID = 2322, + F_ROW_SECURITY_ACTIVE_OID = 3298, + F_TS_TOKEN_TYPE_OID = 3713, + ForeignDataWrapperRelationId = 2328, + ForeignServerRelationId = 1417, + ForeignTableRelationId = 3118, + GIN_AM_OID = 2742, + GIST_AM_OID = 783, + GLOBALTABLESPACE_OID = 1664, + GTSVECTORARRAYOID = 3644, + GTSVECTOROID = 3642, + HASH_AM_OID = 405, + HEAP_TABLE_AM_OID = 2, + INDEX_AM_HANDLEROID = 325, + INETARRAYOID = 1041, + INETOID = 869, + INT2ARRAYOID = 1005, + INT2OID = 21, + INT2VECTORARRAYOID = 1006, + INT2VECTOROID = 22, + INT2_BTREE_OPS_OID = 1979, + INT4ARRAYOID = 1007, + INT4MULTIRANGEARRAYOID = 6150, + INT4MULTIRANGEOID = 4451, + INT4OID = 23, + INT4RANGEARRAYOID = 3905, + INT4RANGEOID = 3904, + INT4_BTREE_OPS_OID = 1978, + INT8ARRAYOID = 1016, + INT8MULTIRANGEARRAYOID = 6157, + INT8MULTIRANGEOID = 4536, + INT8OID = 20, + INT8RANGEARRAYOID = 3927, + INT8RANGEOID = 3926, + INT8_BTREE_OPS_OID = 3124, + INTEGER_BTREE_FAM_OID = 1976, + INTERNALOID = 2281, + INTERVALARRAYOID = 1187, + INTERVALOID = 1186, + INTERVAL_BTREE_FAM_OID = 1982, + IndexRelationId = 2610, + JSONARRAYOID = 199, + JSONBARRAYOID = 3807, + JSONBOID = 3802, + JSONOID = 114, + JSONPATHARRAYOID = 4073, + JSONPATHOID = 4072, + LANGUAGE_HANDLEROID = 2280, + LINEARRAYOID = 629, + LINEOID = 628, + LSEGARRAYOID = 1018, + LSEGOID = 601, + MACADDR8ARRAYOID = 775, + MACADDR8OID = 774, + MACADDRARRAYOID = 1040, + MACADDROID = 829, + MONEYARRAYOID = 791, + MONEYOID = 790, + NAMEARRAYOID = 1003, + NAMEOID = 19, + NETWORK_BTREE_FAM_OID = 1974, + NUMERICARRAYOID = 1231, + NUMERICOID = 1700, + NUMERIC_BTREE_OPS_OID = 3125, + NUMMULTIRANGEARRAYOID = 6151, + NUMMULTIRANGEOID = 4532, + NUMRANGEARRAYOID = 3907, + NUMRANGEOID = 3906, + NamespaceRelationId = 2615, + OIDARRAYOID = 1028, + OIDOID = 26, + OIDVECTORARRAYOID = 1013, + OIDVECTOROID = 30, + OID_BTREE_FAM_OID = 1989, + OID_BTREE_OPS_OID = 1981, + OperatorClassRelationId = 2616, + OperatorFamilyRelationId = 2753, + OperatorRelationId = 2617, + PATHARRAYOID = 1019, + PATHOID = 602, + PG_ATTRIBUTEARRAYOID = 270, + PG_BRIN_BLOOM_SUMMARYOID = 4600, + PG_BRIN_MINMAX_MULTI_SUMMARYOID = 4601, + PG_CLASSARRAYOID = 273, + PG_DDL_COMMANDOID = 32, + PG_DEPENDENCIESOID = 3402, + PG_LSNARRAYOID = 3221, + PG_LSNOID = 3220, + PG_MCV_LISTOID = 5017, + PG_NDISTINCTOID = 3361, + PG_NODE_TREEOID = 194, + PG_PROCARRAYOID = 272, + PG_SNAPSHOTARRAYOID = 5039, + PG_SNAPSHOTOID = 5038, + PG_TYPEARRAYOID = 210, + POINTARRAYOID = 1017, + POINTOID = 600, + POLYGONARRAYOID = 1027, + POLYGONOID = 604, + PROGRESS_CREATEIDX_ACCESS_METHOD_OID = 8, + PROGRESS_CREATEIDX_INDEX_OID = 6, + ProcedureRelationId = 1255, + PublicationRelationId = 6104, + RECORDARRAYOID = 2287, + RECORDOID = 2249, + REFCURSORARRAYOID = 2201, + REFCURSOROID = 1790, + REGCLASSARRAYOID = 2210, + REGCLASSOID = 2205, + REGCOLLATIONARRAYOID = 4192, + REGCOLLATIONOID = 4191, + REGCONFIGARRAYOID = 3735, + REGCONFIGOID = 3734, + REGDICTIONARYARRAYOID = 3770, + REGDICTIONARYOID = 3769, + REGNAMESPACEARRAYOID = 4090, + REGNAMESPACEOID = 4089, + REGOPERARRAYOID = 2208, + REGOPERATORARRAYOID = 2209, + REGOPERATOROID = 2204, + REGOPEROID = 2203, + REGPROCARRAYOID = 1008, + REGPROCEDUREARRAYOID = 2207, + REGPROCEDUREOID = 2202, + REGPROCOID = 24, + REGROLEARRAYOID = 4097, + REGROLEOID = 4096, + REGTYPEARRAYOID = 2211, + REGTYPEOID = 2206, + RelationRelationId = 1259, + SPGIST_AM_OID = 4000, + SecLabelRelationId = 3596, + StatisticRelationId = 2619, + TABLE_AM_HANDLEROID = 269, + TEXTARRAYOID = 1009, + TEXTOID = 25, + TEXT_BTREE_FAM_OID = 1994, + TEXT_BTREE_OPS_OID = 3126, + TEXT_BTREE_PATTERN_OPS_OID = 4217, + TEXT_PATTERN_BTREE_FAM_OID = 2095, + TEXT_SPGIST_FAM_OID = 4017, + TIDARRAYOID = 1010, + TIDOID = 27, + TIMEARRAYOID = 1183, + TIMEOID = 1083, + TIMESTAMPARRAYOID = 1115, + TIMESTAMPOID = 1114, + TIMESTAMPTZARRAYOID = 1185, + TIMESTAMPTZOID = 1184, + TIMESTAMPTZ_BTREE_OPS_OID = 3127, + TIMESTAMP_BTREE_OPS_OID = 3128, + TIMETZARRAYOID = 1270, + TIMETZOID = 1266, + TRIGGEROID = 2279, + TSMULTIRANGEARRAYOID = 6152, + TSMULTIRANGEOID = 4533, + TSM_HANDLEROID = 3310, + TSQUERYARRAYOID = 3645, + TSQUERYOID = 3615, + TSRANGEARRAYOID = 3909, + TSRANGEOID = 3908, + TSTZMULTIRANGEARRAYOID = 6153, + TSTZMULTIRANGEOID = 4534, + TSTZRANGEARRAYOID = 3911, + TSTZRANGEOID = 3910, + TSVECTORARRAYOID = 3643, + TSVECTOROID = 3614, + TXID_SNAPSHOTARRAYOID = 2949, + TXID_SNAPSHOTOID = 2970, + TableSpaceRelationId = 1213, + TriggerRelationId = 2620, + TypeRelationId = 1247, + UNKNOWNOID = 705, + UUIDARRAYOID = 2951, + UUIDOID = 2950, + UserMappingRelationId = 1418, + VARBITARRAYOID = 1563, + VARBITOID = 1562, + VARCHARARRAYOID = 1015, + VARCHAROID = 1043, + VARCHAR_BTREE_PATTERN_OPS_OID = 4218, + VOIDOID = 2278, + XID8ARRAYOID = 271, + XID8OID = 5069, + XIDARRAYOID = 1011, + XIDOID = 28, + XLOG_NEXTOID = 48, + XMLARRAYOID = 143, + XMLOID = 142, +} +impl BuiltinOid { + pub const fn from_u32(uint: u32) -> Result { + match uint { + 0 => Err(NotBuiltinOid::Invalid), + 1034 => Ok(BuiltinOid::ACLITEMARRAYOID), + 1033 => Ok(BuiltinOid::ACLITEMOID), + 2277 => Ok(BuiltinOid::ANYARRAYOID), + 5078 => Ok(BuiltinOid::ANYCOMPATIBLEARRAYOID), + 4538 => Ok(BuiltinOid::ANYCOMPATIBLEMULTIRANGEOID), + 5079 => Ok(BuiltinOid::ANYCOMPATIBLENONARRAYOID), + 5077 => Ok(BuiltinOid::ANYCOMPATIBLEOID), + 5080 => Ok(BuiltinOid::ANYCOMPATIBLERANGEOID), + 2283 => Ok(BuiltinOid::ANYELEMENTOID), + 3500 => Ok(BuiltinOid::ANYENUMOID), + 4537 => Ok(BuiltinOid::ANYMULTIRANGEOID), + 2776 => Ok(BuiltinOid::ANYNONARRAYOID), + 2276 => Ok(BuiltinOid::ANYOID), + 3831 => Ok(BuiltinOid::ANYRANGEOID), + 2602 => Ok(BuiltinOid::AccessMethodOperatorRelationId), + 2603 => Ok(BuiltinOid::AccessMethodProcedureRelationId), + 2601 => Ok(BuiltinOid::AccessMethodRelationId), + 1249 => Ok(BuiltinOid::AttributeRelationId), + 1260 => Ok(BuiltinOid::AuthIdRelationId), + 1561 => Ok(BuiltinOid::BITARRAYOID), + 1560 => Ok(BuiltinOid::BITOID), + 1000 => Ok(BuiltinOid::BOOLARRAYOID), + 16 => Ok(BuiltinOid::BOOLOID), + 424 => Ok(BuiltinOid::BOOL_BTREE_FAM_OID), + 2222 => Ok(BuiltinOid::BOOL_HASH_FAM_OID), + 1020 => Ok(BuiltinOid::BOXARRAYOID), + 603 => Ok(BuiltinOid::BOXOID), + 1014 => Ok(BuiltinOid::BPCHARARRAYOID), + 1042 => Ok(BuiltinOid::BPCHAROID), + 426 => Ok(BuiltinOid::BPCHAR_BTREE_FAM_OID), + 4219 => Ok(BuiltinOid::BPCHAR_BTREE_PATTERN_OPS_OID), + 2097 => Ok(BuiltinOid::BPCHAR_PATTERN_BTREE_FAM_OID), + 3580 => Ok(BuiltinOid::BRIN_AM_OID), + 403 => Ok(BuiltinOid::BTREE_AM_OID), + 1001 => Ok(BuiltinOid::BYTEAARRAYOID), + 17 => Ok(BuiltinOid::BYTEAOID), + 428 => Ok(BuiltinOid::BYTEA_BTREE_FAM_OID), + 1002 => Ok(BuiltinOid::CHARARRAYOID), + 18 => Ok(BuiltinOid::CHAROID), + 1012 => Ok(BuiltinOid::CIDARRAYOID), + 29 => Ok(BuiltinOid::CIDOID), + 651 => Ok(BuiltinOid::CIDRARRAYOID), + 650 => Ok(BuiltinOid::CIDROID), + 719 => Ok(BuiltinOid::CIRCLEARRAYOID), + 718 => Ok(BuiltinOid::CIRCLEOID), + 1263 => Ok(BuiltinOid::CSTRINGARRAYOID), + 2275 => Ok(BuiltinOid::CSTRINGOID), + 950 => Ok(BuiltinOid::C_COLLATION_OID), + 3456 => Ok(BuiltinOid::CollationRelationId), + 1182 => Ok(BuiltinOid::DATEARRAYOID), + 6155 => Ok(BuiltinOid::DATEMULTIRANGEARRAYOID), + 4535 => Ok(BuiltinOid::DATEMULTIRANGEOID), + 1082 => Ok(BuiltinOid::DATEOID), + 3913 => Ok(BuiltinOid::DATERANGEARRAYOID), + 3912 => Ok(BuiltinOid::DATERANGEOID), + 3122 => Ok(BuiltinOid::DATE_BTREE_OPS_OID), + 1663 => Ok(BuiltinOid::DEFAULTTABLESPACE_OID), + 100 => Ok(BuiltinOid::DEFAULT_COLLATION_OID), + 1262 => Ok(BuiltinOid::DatabaseRelationId), + 3838 => Ok(BuiltinOid::EVENT_TRIGGEROID), + 3501 => Ok(BuiltinOid::EnumRelationId), + 3466 => Ok(BuiltinOid::EventTriggerRelationId), + 3079 => Ok(BuiltinOid::ExtensionRelationId), + 3115 => Ok(BuiltinOid::FDW_HANDLEROID), + 1021 => Ok(BuiltinOid::FLOAT4ARRAYOID), + 700 => Ok(BuiltinOid::FLOAT4OID), + 1022 => Ok(BuiltinOid::FLOAT8ARRAYOID), + 701 => Ok(BuiltinOid::FLOAT8OID), + 3123 => Ok(BuiltinOid::FLOAT8_BTREE_OPS_OID), + 3584 => Ok(BuiltinOid::F_BINARY_UPGRADE_SET_NEXT_ARRAY_PG_TYPE_OID), + 3586 => Ok(BuiltinOid::F_BINARY_UPGRADE_SET_NEXT_HEAP_PG_CLASS_OID), + 3587 => Ok(BuiltinOid::F_BINARY_UPGRADE_SET_NEXT_INDEX_PG_CLASS_OID), + 4391 => Ok(BuiltinOid::F_BINARY_UPGRADE_SET_NEXT_MULTIRANGE_ARRAY_PG_TYPE_OID), + 4390 => Ok(BuiltinOid::F_BINARY_UPGRADE_SET_NEXT_MULTIRANGE_PG_TYPE_OID), + 3590 => Ok(BuiltinOid::F_BINARY_UPGRADE_SET_NEXT_PG_AUTHID_OID), + 3589 => Ok(BuiltinOid::F_BINARY_UPGRADE_SET_NEXT_PG_ENUM_OID), + 4548 => Ok(BuiltinOid::F_BINARY_UPGRADE_SET_NEXT_PG_TABLESPACE_OID), + 3582 => Ok(BuiltinOid::F_BINARY_UPGRADE_SET_NEXT_PG_TYPE_OID), + 3588 => Ok(BuiltinOid::F_BINARY_UPGRADE_SET_NEXT_TOAST_PG_CLASS_OID), + 453 => Ok(BuiltinOid::F_HASHOID), + 1288 => Ok(BuiltinOid::F_INT8_OID), + 3458 => Ok(BuiltinOid::F_LO_GET_OID), + 767 => Ok(BuiltinOid::F_LO_IMPORT_TEXT_OID), + 2118 => Ok(BuiltinOid::F_MAX_OID), + 2134 => Ok(BuiltinOid::F_MIN_OID), + 266 => Ok(BuiltinOid::F_NAMECONCATOID), + 1348 => Ok(BuiltinOid::F_OBJ_DESCRIPTION_OID), + 1287 => Ok(BuiltinOid::F_OID), + 2324 => Ok(BuiltinOid::F_PG_DATABASE_SIZE_OID), + 4566 => Ok(BuiltinOid::F_PG_EVENT_TRIGGER_TABLE_REWRITE_OID), + 1387 => Ok(BuiltinOid::F_PG_GET_CONSTRAINTDEF_OID), + 1716 => Ok(BuiltinOid::F_PG_GET_EXPR_PG_NODE_TREE_OID), + 1643 => Ok(BuiltinOid::F_PG_GET_INDEXDEF_OID), + 1573 => Ok(BuiltinOid::F_PG_GET_RULEDEF_OID), + 1662 => Ok(BuiltinOid::F_PG_GET_TRIGGERDEF_OID), + 1641 => Ok(BuiltinOid::F_PG_GET_VIEWDEF_OID), + 5030 => Ok(BuiltinOid::F_PG_LS_TMPDIR_OID), + 275 => Ok(BuiltinOid::F_PG_NEXTOID), + 6005 => Ok(BuiltinOid::F_PG_REPLICATION_ORIGIN_OID), + 2322 => Ok(BuiltinOid::F_PG_TABLESPACE_SIZE_OID), + 3298 => Ok(BuiltinOid::F_ROW_SECURITY_ACTIVE_OID), + 3713 => Ok(BuiltinOid::F_TS_TOKEN_TYPE_OID), + 2328 => Ok(BuiltinOid::ForeignDataWrapperRelationId), + 1417 => Ok(BuiltinOid::ForeignServerRelationId), + 3118 => Ok(BuiltinOid::ForeignTableRelationId), + 2742 => Ok(BuiltinOid::GIN_AM_OID), + 783 => Ok(BuiltinOid::GIST_AM_OID), + 1664 => Ok(BuiltinOid::GLOBALTABLESPACE_OID), + 3644 => Ok(BuiltinOid::GTSVECTORARRAYOID), + 3642 => Ok(BuiltinOid::GTSVECTOROID), + 405 => Ok(BuiltinOid::HASH_AM_OID), + 2 => Ok(BuiltinOid::HEAP_TABLE_AM_OID), + 325 => Ok(BuiltinOid::INDEX_AM_HANDLEROID), + 1041 => Ok(BuiltinOid::INETARRAYOID), + 869 => Ok(BuiltinOid::INETOID), + 1005 => Ok(BuiltinOid::INT2ARRAYOID), + 21 => Ok(BuiltinOid::INT2OID), + 1006 => Ok(BuiltinOid::INT2VECTORARRAYOID), + 22 => Ok(BuiltinOid::INT2VECTOROID), + 1979 => Ok(BuiltinOid::INT2_BTREE_OPS_OID), + 1007 => Ok(BuiltinOid::INT4ARRAYOID), + 6150 => Ok(BuiltinOid::INT4MULTIRANGEARRAYOID), + 4451 => Ok(BuiltinOid::INT4MULTIRANGEOID), + 23 => Ok(BuiltinOid::INT4OID), + 3905 => Ok(BuiltinOid::INT4RANGEARRAYOID), + 3904 => Ok(BuiltinOid::INT4RANGEOID), + 1978 => Ok(BuiltinOid::INT4_BTREE_OPS_OID), + 1016 => Ok(BuiltinOid::INT8ARRAYOID), + 6157 => Ok(BuiltinOid::INT8MULTIRANGEARRAYOID), + 4536 => Ok(BuiltinOid::INT8MULTIRANGEOID), + 20 => Ok(BuiltinOid::INT8OID), + 3927 => Ok(BuiltinOid::INT8RANGEARRAYOID), + 3926 => Ok(BuiltinOid::INT8RANGEOID), + 3124 => Ok(BuiltinOid::INT8_BTREE_OPS_OID), + 1976 => Ok(BuiltinOid::INTEGER_BTREE_FAM_OID), + 2281 => Ok(BuiltinOid::INTERNALOID), + 1187 => Ok(BuiltinOid::INTERVALARRAYOID), + 1186 => Ok(BuiltinOid::INTERVALOID), + 1982 => Ok(BuiltinOid::INTERVAL_BTREE_FAM_OID), + 2610 => Ok(BuiltinOid::IndexRelationId), + 199 => Ok(BuiltinOid::JSONARRAYOID), + 3807 => Ok(BuiltinOid::JSONBARRAYOID), + 3802 => Ok(BuiltinOid::JSONBOID), + 114 => Ok(BuiltinOid::JSONOID), + 4073 => Ok(BuiltinOid::JSONPATHARRAYOID), + 4072 => Ok(BuiltinOid::JSONPATHOID), + 2280 => Ok(BuiltinOid::LANGUAGE_HANDLEROID), + 629 => Ok(BuiltinOid::LINEARRAYOID), + 628 => Ok(BuiltinOid::LINEOID), + 1018 => Ok(BuiltinOid::LSEGARRAYOID), + 601 => Ok(BuiltinOid::LSEGOID), + 775 => Ok(BuiltinOid::MACADDR8ARRAYOID), + 774 => Ok(BuiltinOid::MACADDR8OID), + 1040 => Ok(BuiltinOid::MACADDRARRAYOID), + 829 => Ok(BuiltinOid::MACADDROID), + 791 => Ok(BuiltinOid::MONEYARRAYOID), + 790 => Ok(BuiltinOid::MONEYOID), + 1003 => Ok(BuiltinOid::NAMEARRAYOID), + 19 => Ok(BuiltinOid::NAMEOID), + 1974 => Ok(BuiltinOid::NETWORK_BTREE_FAM_OID), + 1231 => Ok(BuiltinOid::NUMERICARRAYOID), + 1700 => Ok(BuiltinOid::NUMERICOID), + 3125 => Ok(BuiltinOid::NUMERIC_BTREE_OPS_OID), + 6151 => Ok(BuiltinOid::NUMMULTIRANGEARRAYOID), + 4532 => Ok(BuiltinOid::NUMMULTIRANGEOID), + 3907 => Ok(BuiltinOid::NUMRANGEARRAYOID), + 3906 => Ok(BuiltinOid::NUMRANGEOID), + 2615 => Ok(BuiltinOid::NamespaceRelationId), + 1028 => Ok(BuiltinOid::OIDARRAYOID), + 26 => Ok(BuiltinOid::OIDOID), + 1013 => Ok(BuiltinOid::OIDVECTORARRAYOID), + 30 => Ok(BuiltinOid::OIDVECTOROID), + 1989 => Ok(BuiltinOid::OID_BTREE_FAM_OID), + 1981 => Ok(BuiltinOid::OID_BTREE_OPS_OID), + 2616 => Ok(BuiltinOid::OperatorClassRelationId), + 2753 => Ok(BuiltinOid::OperatorFamilyRelationId), + 2617 => Ok(BuiltinOid::OperatorRelationId), + 1019 => Ok(BuiltinOid::PATHARRAYOID), + 602 => Ok(BuiltinOid::PATHOID), + 270 => Ok(BuiltinOid::PG_ATTRIBUTEARRAYOID), + 4600 => Ok(BuiltinOid::PG_BRIN_BLOOM_SUMMARYOID), + 4601 => Ok(BuiltinOid::PG_BRIN_MINMAX_MULTI_SUMMARYOID), + 273 => Ok(BuiltinOid::PG_CLASSARRAYOID), + 32 => Ok(BuiltinOid::PG_DDL_COMMANDOID), + 3402 => Ok(BuiltinOid::PG_DEPENDENCIESOID), + 3221 => Ok(BuiltinOid::PG_LSNARRAYOID), + 3220 => Ok(BuiltinOid::PG_LSNOID), + 5017 => Ok(BuiltinOid::PG_MCV_LISTOID), + 3361 => Ok(BuiltinOid::PG_NDISTINCTOID), + 194 => Ok(BuiltinOid::PG_NODE_TREEOID), + 272 => Ok(BuiltinOid::PG_PROCARRAYOID), + 5039 => Ok(BuiltinOid::PG_SNAPSHOTARRAYOID), + 5038 => Ok(BuiltinOid::PG_SNAPSHOTOID), + 210 => Ok(BuiltinOid::PG_TYPEARRAYOID), + 1017 => Ok(BuiltinOid::POINTARRAYOID), + 600 => Ok(BuiltinOid::POINTOID), + 1027 => Ok(BuiltinOid::POLYGONARRAYOID), + 604 => Ok(BuiltinOid::POLYGONOID), + 8 => Ok(BuiltinOid::PROGRESS_CREATEIDX_ACCESS_METHOD_OID), + 6 => Ok(BuiltinOid::PROGRESS_CREATEIDX_INDEX_OID), + 1255 => Ok(BuiltinOid::ProcedureRelationId), + 6104 => Ok(BuiltinOid::PublicationRelationId), + 2287 => Ok(BuiltinOid::RECORDARRAYOID), + 2249 => Ok(BuiltinOid::RECORDOID), + 2201 => Ok(BuiltinOid::REFCURSORARRAYOID), + 1790 => Ok(BuiltinOid::REFCURSOROID), + 2210 => Ok(BuiltinOid::REGCLASSARRAYOID), + 2205 => Ok(BuiltinOid::REGCLASSOID), + 4192 => Ok(BuiltinOid::REGCOLLATIONARRAYOID), + 4191 => Ok(BuiltinOid::REGCOLLATIONOID), + 3735 => Ok(BuiltinOid::REGCONFIGARRAYOID), + 3734 => Ok(BuiltinOid::REGCONFIGOID), + 3770 => Ok(BuiltinOid::REGDICTIONARYARRAYOID), + 3769 => Ok(BuiltinOid::REGDICTIONARYOID), + 4090 => Ok(BuiltinOid::REGNAMESPACEARRAYOID), + 4089 => Ok(BuiltinOid::REGNAMESPACEOID), + 2208 => Ok(BuiltinOid::REGOPERARRAYOID), + 2209 => Ok(BuiltinOid::REGOPERATORARRAYOID), + 2204 => Ok(BuiltinOid::REGOPERATOROID), + 2203 => Ok(BuiltinOid::REGOPEROID), + 1008 => Ok(BuiltinOid::REGPROCARRAYOID), + 2207 => Ok(BuiltinOid::REGPROCEDUREARRAYOID), + 2202 => Ok(BuiltinOid::REGPROCEDUREOID), + 24 => Ok(BuiltinOid::REGPROCOID), + 4097 => Ok(BuiltinOid::REGROLEARRAYOID), + 4096 => Ok(BuiltinOid::REGROLEOID), + 2211 => Ok(BuiltinOid::REGTYPEARRAYOID), + 2206 => Ok(BuiltinOid::REGTYPEOID), + 1259 => Ok(BuiltinOid::RelationRelationId), + 4000 => Ok(BuiltinOid::SPGIST_AM_OID), + 3596 => Ok(BuiltinOid::SecLabelRelationId), + 2619 => Ok(BuiltinOid::StatisticRelationId), + 269 => Ok(BuiltinOid::TABLE_AM_HANDLEROID), + 1009 => Ok(BuiltinOid::TEXTARRAYOID), + 25 => Ok(BuiltinOid::TEXTOID), + 1994 => Ok(BuiltinOid::TEXT_BTREE_FAM_OID), + 3126 => Ok(BuiltinOid::TEXT_BTREE_OPS_OID), + 4217 => Ok(BuiltinOid::TEXT_BTREE_PATTERN_OPS_OID), + 2095 => Ok(BuiltinOid::TEXT_PATTERN_BTREE_FAM_OID), + 4017 => Ok(BuiltinOid::TEXT_SPGIST_FAM_OID), + 1010 => Ok(BuiltinOid::TIDARRAYOID), + 27 => Ok(BuiltinOid::TIDOID), + 1183 => Ok(BuiltinOid::TIMEARRAYOID), + 1083 => Ok(BuiltinOid::TIMEOID), + 1115 => Ok(BuiltinOid::TIMESTAMPARRAYOID), + 1114 => Ok(BuiltinOid::TIMESTAMPOID), + 1185 => Ok(BuiltinOid::TIMESTAMPTZARRAYOID), + 1184 => Ok(BuiltinOid::TIMESTAMPTZOID), + 3127 => Ok(BuiltinOid::TIMESTAMPTZ_BTREE_OPS_OID), + 3128 => Ok(BuiltinOid::TIMESTAMP_BTREE_OPS_OID), + 1270 => Ok(BuiltinOid::TIMETZARRAYOID), + 1266 => Ok(BuiltinOid::TIMETZOID), + 2279 => Ok(BuiltinOid::TRIGGEROID), + 6152 => Ok(BuiltinOid::TSMULTIRANGEARRAYOID), + 4533 => Ok(BuiltinOid::TSMULTIRANGEOID), + 3310 => Ok(BuiltinOid::TSM_HANDLEROID), + 3645 => Ok(BuiltinOid::TSQUERYARRAYOID), + 3615 => Ok(BuiltinOid::TSQUERYOID), + 3909 => Ok(BuiltinOid::TSRANGEARRAYOID), + 3908 => Ok(BuiltinOid::TSRANGEOID), + 6153 => Ok(BuiltinOid::TSTZMULTIRANGEARRAYOID), + 4534 => Ok(BuiltinOid::TSTZMULTIRANGEOID), + 3911 => Ok(BuiltinOid::TSTZRANGEARRAYOID), + 3910 => Ok(BuiltinOid::TSTZRANGEOID), + 3643 => Ok(BuiltinOid::TSVECTORARRAYOID), + 3614 => Ok(BuiltinOid::TSVECTOROID), + 2949 => Ok(BuiltinOid::TXID_SNAPSHOTARRAYOID), + 2970 => Ok(BuiltinOid::TXID_SNAPSHOTOID), + 1213 => Ok(BuiltinOid::TableSpaceRelationId), + 2620 => Ok(BuiltinOid::TriggerRelationId), + 1247 => Ok(BuiltinOid::TypeRelationId), + 705 => Ok(BuiltinOid::UNKNOWNOID), + 2951 => Ok(BuiltinOid::UUIDARRAYOID), + 2950 => Ok(BuiltinOid::UUIDOID), + 1418 => Ok(BuiltinOid::UserMappingRelationId), + 1563 => Ok(BuiltinOid::VARBITARRAYOID), + 1562 => Ok(BuiltinOid::VARBITOID), + 1015 => Ok(BuiltinOid::VARCHARARRAYOID), + 1043 => Ok(BuiltinOid::VARCHAROID), + 4218 => Ok(BuiltinOid::VARCHAR_BTREE_PATTERN_OPS_OID), + 2278 => Ok(BuiltinOid::VOIDOID), + 271 => Ok(BuiltinOid::XID8ARRAYOID), + 5069 => Ok(BuiltinOid::XID8OID), + 1011 => Ok(BuiltinOid::XIDARRAYOID), + 28 => Ok(BuiltinOid::XIDOID), + 48 => Ok(BuiltinOid::XLOG_NEXTOID), + 143 => Ok(BuiltinOid::XMLARRAYOID), + 142 => Ok(BuiltinOid::XMLOID), + _ => Err(NotBuiltinOid::Ambiguous), + } + } +} diff --git a/pgrx-pg-sys/src/lib.rs b/pgrx-pg-sys/src/lib.rs index 442112681a..2196494edd 100644 --- a/pgrx-pg-sys/src/lib.rs +++ b/pgrx-pg-sys/src/lib.rs @@ -9,9 +9,9 @@ //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. #[cfg( // no features at all will cause problems - not(any(feature = "pg13", feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17")), + not(any(feature = "pg13", feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17", feature = "pg18")) )] -std::compile_error!("exactly one feature must be provided (pg13, pg14, pg15, pg16, pg17)"); +std::compile_error!("exactly one feature must be provided (pg13, pg14, pg15, pg16, pg17, pg18)"); mod cshim; mod cstr; @@ -27,6 +27,9 @@ pub use cstr::AsPgCStr; pub use include::*; pub use node::PgNode; pub use port::*; + +// For postgres 18+, some functions will reexport when enabling `cshim` feature +#[allow(ambiguous_glob_reexports)] pub use submodules::*; mod seal { diff --git a/pgrx-pg-sys/src/port.rs b/pgrx-pg-sys/src/port.rs index 8ea3194c99..af63d19496 100644 --- a/pgrx-pg-sys/src/port.rs +++ b/pgrx-pg-sys/src/port.rs @@ -103,7 +103,7 @@ pub unsafe fn GetMemoryChunkContext(pointer: *mut std::os::raw::c_void) -> pg_sy context } - #[cfg(any(feature = "pg16", feature = "pg17"))] + #[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] { #[pgrx_macros::pg_guard] extern "C-unwind" { @@ -156,7 +156,7 @@ pub fn get_pg_major_version_num() -> u16 { u16::from_str(super::get_pg_major_version_string()).unwrap() } -#[cfg(any(not(target_env = "msvc"), feature = "pg17"))] +#[cfg(any(not(target_env = "msvc"), feature = "pg17", feature = "pg18"))] #[inline] pub fn get_pg_version_string() -> &'static str { super::PG_VERSION_STR.to_str().unwrap() @@ -402,7 +402,7 @@ extern "C-unwind" { ) -> bool; } -#[cfg(any(feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] pub unsafe fn planstate_tree_walker( planstate: *mut super::PlanState, walker: ::core::option::Option< @@ -413,7 +413,7 @@ pub unsafe fn planstate_tree_walker( crate::planstate_tree_walker_impl(planstate, walker, context) } -#[cfg(any(feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] pub unsafe fn query_tree_walker( query: *mut super::Query, walker: ::core::option::Option< @@ -425,7 +425,7 @@ pub unsafe fn query_tree_walker( crate::query_tree_walker_impl(query, walker, context, flags) } -#[cfg(any(feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] pub unsafe fn query_or_expression_tree_walker( node: *mut super::Node, walker: ::core::option::Option< @@ -437,7 +437,7 @@ pub unsafe fn query_or_expression_tree_walker( crate::query_or_expression_tree_walker_impl(node, walker, context, flags) } -#[cfg(any(feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] pub unsafe fn expression_tree_walker( node: *mut crate::Node, walker: Option bool>, @@ -446,7 +446,7 @@ pub unsafe fn expression_tree_walker( crate::expression_tree_walker_impl(node, walker, context) } -#[cfg(any(feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] pub unsafe fn range_table_entry_walker( rte: *mut super::RangeTblEntry, walker: ::core::option::Option< @@ -458,7 +458,7 @@ pub unsafe fn range_table_entry_walker( crate::range_table_entry_walker_impl(rte, walker, context, flags) } -#[cfg(any(feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] pub unsafe fn range_table_walker( rtable: *mut super::List, walker: ::core::option::Option< @@ -470,7 +470,7 @@ pub unsafe fn range_table_walker( crate::range_table_walker_impl(rtable, walker, context, flags) } -#[cfg(any(feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] pub unsafe fn raw_expression_tree_walker( node: *mut crate::Node, walker: Option bool>, diff --git a/pgrx-pg-sys/src/submodules/htup.rs b/pgrx-pg-sys/src/submodules/htup.rs index 52167f31ae..5c465ff6eb 100644 --- a/pgrx-pg-sys/src/submodules/htup.rs +++ b/pgrx-pg-sys/src/submodules/htup.rs @@ -8,10 +8,10 @@ //LICENSE //LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file. use crate::{ - bits8, getmissingattr, heap_getsysattr, nocachegetattr, CommandId, Datum, - FormData_pg_attribute, FrozenTransactionId, HeapTupleData, HeapTupleHeaderData, TransactionId, - TupleDesc, HEAP_HASNULL, HEAP_HOT_UPDATED, HEAP_NATTS_MASK, HEAP_ONLY_TUPLE, HEAP_XMAX_INVALID, - HEAP_XMIN_COMMITTED, HEAP_XMIN_FROZEN, HEAP_XMIN_INVALID, SIZEOF_DATUM, + bits8, getmissingattr, heap_getsysattr, nocachegetattr, CommandId, Datum, FrozenTransactionId, + HeapTupleData, HeapTupleHeaderData, TransactionId, TupleDesc, HEAP_HASNULL, HEAP_HOT_UPDATED, + HEAP_NATTS_MASK, HEAP_ONLY_TUPLE, HEAP_XMAX_INVALID, HEAP_XMIN_COMMITTED, HEAP_XMIN_FROZEN, + HEAP_XMIN_INVALID, SIZEOF_DATUM, }; /// # Safety @@ -199,7 +199,28 @@ unsafe fn att_isnull(ATT: i32, BITS: *const bits8) -> bool { /// /// Caller is responsible for ensuring `A` is a valid [`FormData_pg_attribute`] pointer #[inline(always)] -unsafe fn fetchatt(A: *const FormData_pg_attribute, T: *mut std::os::raw::c_char) -> Datum { +#[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" +))] +unsafe fn fetchatt(A: *const crate::FormData_pg_attribute, T: *mut std::os::raw::c_char) -> Datum { + // #define fetchatt(A,T) fetch_att(T, (A)->attbyval, (A)->attlen) + + unsafe { + // SAFETY: caller has asserted `A` is a valid FromData_pg_attribute pointer + fetch_att(T, (*A).attbyval, (*A).attlen) + } +} + +/// # Safety +/// +/// Caller is responsible for ensuring `A` is a valid [`FormData_pg_attribute`] pointer +#[inline(always)] +#[cfg(any(feature = "pg18"))] +unsafe fn fetchatt(A: *const crate::CompactAttribute, T: *mut std::os::raw::c_char) -> Datum { // #define fetchatt(A,T) fetch_att(T, (A)->attbyval, (A)->attlen) unsafe { @@ -377,7 +398,17 @@ unsafe fn fastgetattr( unsafe { *isnull = false; if HeapTupleNoNulls(tup) { + #[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" + ))] let att = &(*tupleDesc).attrs.as_slice((*tupleDesc).natts as _)[attnum as usize - 1]; + #[cfg(feature = "pg18")] + let att = + &(*tupleDesc).compact_attrs.as_slice((*tupleDesc).natts as _)[attnum as usize - 1]; if att.attcacheoff >= 0 { let t_data = (*tup).t_data; fetchatt( diff --git a/pgrx-pg-sys/src/submodules/sql_translatable.rs b/pgrx-pg-sys/src/submodules/sql_translatable.rs index 157ccfadbc..a92ed00caf 100644 --- a/pgrx-pg-sys/src/submodules/sql_translatable.rs +++ b/pgrx-pg-sys/src/submodules/sql_translatable.rs @@ -11,13 +11,6 @@ use pgrx_sql_entity_graph::metadata::{ ArgumentError, Returns, ReturnsError, SqlMapping, SqlTranslatable, }; -#[cfg(any( - feature = "pg17", - feature = "pg16", - feature = "pg15", - feature = "pg14", - feature = "pg13", -))] unsafe impl SqlTranslatable for crate::FunctionCallInfoBaseData { fn argument_sql() -> Result { Ok(SqlMapping::Skip) diff --git a/pgrx-tests/Cargo.toml b/pgrx-tests/Cargo.toml index 55a6bb795c..13551d7b2b 100644 --- a/pgrx-tests/Cargo.toml +++ b/pgrx-tests/Cargo.toml @@ -35,6 +35,7 @@ pg14 = ["pgrx/pg14"] pg15 = ["pgrx/pg15"] pg16 = ["pgrx/pg16"] pg17 = ["pgrx/pg17"] +pg18 = ["pgrx/pg18"] pg_test = [] proptest = ["dep:proptest"] cshim = ["pgrx/cshim"] diff --git a/pgrx-tests/src/tests/hooks_tests.rs b/pgrx-tests/src/tests/hooks_tests.rs index bc46d21259..05dfe3961a 100644 --- a/pgrx-tests/src/tests/hooks_tests.rs +++ b/pgrx-tests/src/tests/hooks_tests.rs @@ -35,6 +35,13 @@ mod tests { prev_hook(error_data) } + #[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" + ))] fn executor_start( &mut self, query_desc: PgBox, @@ -45,6 +52,24 @@ mod tests { prev_hook(query_desc, eflags) } + #[cfg(feature = "pg18")] + fn executor_start( + &mut self, + query_desc: PgBox, + eflags: i32, + prev_hook: fn(PgBox, i32) -> HookResult, + ) -> HookResult { + self.events += 1; + prev_hook(query_desc, eflags) + } + + #[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" + ))] fn executor_run( &mut self, query_desc: PgBox, @@ -57,6 +82,18 @@ mod tests { prev_hook(query_desc, direction, count, execute_once) } + #[cfg(feature = "pg18")] + fn executor_run( + &mut self, + query_desc: PgBox, + direction: i32, + count: u64, + prev_hook: fn(PgBox, i32, u64) -> HookResult<()>, + ) -> HookResult<()> { + self.events += 1; + prev_hook(query_desc, direction, count) + } + fn executor_finish( &mut self, query_desc: PgBox, diff --git a/pgrx/Cargo.toml b/pgrx/Cargo.toml index 00be5df2e8..795492f927 100644 --- a/pgrx/Cargo.toml +++ b/pgrx/Cargo.toml @@ -34,6 +34,7 @@ pg14 = ["pgrx-pg-sys/pg14"] pg15 = ["pgrx-pg-sys/pg15"] pg16 = ["pgrx-pg-sys/pg16"] pg17 = ["pgrx-pg-sys/pg17"] +pg18 = ["pgrx-pg-sys/pg18"] no-schema-generation = ["pgrx-macros/no-schema-generation", "pgrx-sql-entity-graph/no-schema-generation"] unsafe-postgres = [] # when trying to compile against something that looks like Postgres but claims to be different nightly = [] # For features and functionality which require nightly Rust - for example, std::mem::allocator. diff --git a/pgrx/src/bgworkers.rs b/pgrx/src/bgworkers.rs index 4264b211e1..92c9f5fb88 100644 --- a/pgrx/src/bgworkers.rs +++ b/pgrx/src/bgworkers.rs @@ -76,7 +76,8 @@ impl BackgroundWorker { feature = "pg14", feature = "pg15", feature = "pg16", - feature = "pg17" + feature = "pg17", + feature = "pg18" ))] const LEN: usize = 96; @@ -197,7 +198,8 @@ impl BackgroundWorker { feature = "pg14", feature = "pg15", feature = "pg16", - feature = "pg17" + feature = "pg17", + feature = "pg18" ))] pg_sys::BackgroundWorkerInitializeConnection(db, user, 0); }; @@ -216,16 +218,52 @@ impl BackgroundWorker { unsafe { assert!(!pg_sys::MyBgworkerEntry.is_null(), "BackgroundWorker associated functions can only be called from a registered background worker"); if wake.contains(SignalWakeFlags::SIGHUP) { + #[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" + ))] pg_sys::pqsignal(pg_sys::SIGHUP as i32, Some(worker_spi_sighup)); + #[cfg(feature = "pg18")] + pg_sys::pqsignal_be(pg_sys::SIGHUP as i32, Some(worker_spi_sighup)); } if wake.contains(SignalWakeFlags::SIGTERM) { + #[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" + ))] pg_sys::pqsignal(pg_sys::SIGTERM as i32, Some(worker_spi_sigterm)); + #[cfg(feature = "pg18")] + pg_sys::pqsignal_be(pg_sys::SIGTERM as i32, Some(worker_spi_sigterm)); } if wake.contains(SignalWakeFlags::SIGINT) { + #[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" + ))] pg_sys::pqsignal(pg_sys::SIGINT as i32, Some(worker_spi_sigint)); + #[cfg(feature = "pg18")] + pg_sys::pqsignal_be(pg_sys::SIGINT as i32, Some(worker_spi_sigint)); } if wake.contains(SignalWakeFlags::SIGCHLD) { + #[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" + ))] pg_sys::pqsignal(pg_sys::SIGCHLD as i32, Some(worker_spi_sigchld)); + #[cfg(feature = "pg18")] + pg_sys::pqsignal_be(pg_sys::SIGCHLD as i32, Some(worker_spi_sigchld)); } pg_sys::BackgroundWorkerUnblockSignals(); } @@ -624,7 +662,8 @@ impl<'a> From<&'a BackgroundWorkerBuilder> for pg_sys::BackgroundWorker { feature = "pg14", feature = "pg15", feature = "pg16", - feature = "pg17" + feature = "pg17", + feature = "pg18" ))] let bgw = pg_sys::BackgroundWorker { bgw_name: RpgffiChar::from(&builder.bgw_name[..]).0, @@ -636,12 +675,12 @@ impl<'a> From<&'a BackgroundWorkerBuilder> for pg_sys::BackgroundWorker { Some(d) => d.as_secs() as i32, }, bgw_library_name: { - #[cfg(not(feature = "pg17"))] + #[cfg(not(any(feature = "pg17", feature = "pg18")))] { RpgffiChar::from(&builder.bgw_library_name[..]).0 } - #[cfg(feature = "pg17")] + #[cfg(any(feature = "pg17", feature = "pg18"))] { RpgffiChar1024::from(&builder.bgw_library_name[..]).0 } @@ -676,7 +715,8 @@ fn wait_latch(timeout: libc::c_long, wakeup_flags: WLflags) -> i32 { feature = "pg14", feature = "pg15", feature = "pg16", - feature = "pg17" + feature = "pg17", + feature = "pg18" ))] type RpgffiChar = RpgffiChar96; diff --git a/pgrx/src/datum/datetime_support/mod.rs b/pgrx/src/datum/datetime_support/mod.rs index 7cc44589be..2128b11fd6 100644 --- a/pgrx/src/datum/datetime_support/mod.rs +++ b/pgrx/src/datum/datetime_support/mod.rs @@ -198,7 +198,13 @@ pub trait HasExtractableParts: Clone + IntoDatum + seal::DateTimeType { Self::EXTRACT_FUNCTION, &[field_datum, self.clone().into_datum()], ); - #[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17"))] + #[cfg(any( + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17", + feature = "pg18" + ))] let field_value: Option = direct_function_call( Self::EXTRACT_FUNCTION, &[field_datum, self.clone().into_datum()], @@ -257,7 +263,8 @@ pub trait ToIsoString: IntoDatum + Sized + Display + seal::DateTimeType { feature = "pg14", feature = "pg15", feature = "pg16", - feature = "pg17" + feature = "pg17", + feature = "pg18" ))] fn to_iso_string_with_timezone>( self, @@ -420,7 +427,13 @@ mod pg13 { } } -#[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17"))] +#[cfg(any( + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17", + feature = "pg18" +))] const DATE_EXTRACT: unsafe fn(fcinfo: pg_sys::FunctionCallInfo) -> pg_sys::Datum = pg_sys::extract_date; impl_wrappers!( @@ -436,7 +449,13 @@ impl_wrappers!( #[cfg(feature = "pg13")] const TIME_EXTRACT: unsafe fn(fcinfo: pg_sys::FunctionCallInfo) -> pg_sys::Datum = pg_sys::time_part; -#[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17"))] +#[cfg(any( + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17", + feature = "pg18" +))] const TIME_EXTRACT: unsafe fn(fcinfo: pg_sys::FunctionCallInfo) -> pg_sys::Datum = pg_sys::extract_time; @@ -453,7 +472,13 @@ impl_wrappers!( #[cfg(feature = "pg13")] const TIMETZ_EXTRACT: unsafe fn(fcinfo: pg_sys::FunctionCallInfo) -> pg_sys::Datum = pg_sys::timetz_part; -#[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17"))] +#[cfg(any( + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17", + feature = "pg18" +))] const TIMETZ_EXTRACT: unsafe fn(fcinfo: pg_sys::FunctionCallInfo) -> pg_sys::Datum = pg_sys::extract_timetz; @@ -470,7 +495,13 @@ impl_wrappers!( #[cfg(feature = "pg13")] const TIMESTAMP_EXTRACT: unsafe fn(fcinfo: pg_sys::FunctionCallInfo) -> pg_sys::Datum = pg_sys::timestamp_part; -#[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17"))] +#[cfg(any( + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17", + feature = "pg18" +))] const TIMESTAMP_EXTRACT: unsafe fn(fcinfo: pg_sys::FunctionCallInfo) -> pg_sys::Datum = pg_sys::extract_timestamp; @@ -487,7 +518,13 @@ impl_wrappers!( #[cfg(feature = "pg13")] const TIMESTAMPTZ_EXTRACT: unsafe fn(fcinfo: pg_sys::FunctionCallInfo) -> pg_sys::Datum = pg_sys::timestamptz_part; -#[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17"))] +#[cfg(any( + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17", + feature = "pg18" +))] const TIMESTAMPTZ_EXTRACT: unsafe fn(fcinfo: pg_sys::FunctionCallInfo) -> pg_sys::Datum = pg_sys::extract_timestamptz; @@ -504,7 +541,13 @@ impl_wrappers!( #[cfg(feature = "pg13")] const INTERVAL_EXTRACT: unsafe fn(fcinfo: pg_sys::FunctionCallInfo) -> pg_sys::Datum = pg_sys::interval_part; -#[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17"))] +#[cfg(any( + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17", + feature = "pg18" +))] const INTERVAL_EXTRACT: unsafe fn(fcinfo: pg_sys::FunctionCallInfo) -> pg_sys::Datum = pg_sys::extract_interval; @@ -526,7 +569,7 @@ impl_wrappers!( /// /// ## Errors /// Returns a [`DateTimeConversionError`] if the specified timezone is unknown to Postgres -#[cfg(any(feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] pub fn get_timezone_offset>(zone: Tz) -> Result { let zone = zone.as_ref(); PgTryBuilder::new(|| { diff --git a/pgrx/src/datum/numeric_support/ops.rs b/pgrx/src/datum/numeric_support/ops.rs index f826a0e002..b508164146 100644 --- a/pgrx/src/datum/numeric_support/ops.rs +++ b/pgrx/src/datum/numeric_support/ops.rs @@ -206,7 +206,7 @@ macro_rules! anynumeric_assign_op_from_float { } // these versions won't, so we use .unwrap_unchecked() - #[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17"))] + #[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17", feature = "pg18"))] { unsafe { *self = self.clone() $op AnyNumeric::try_from(rhs).unwrap_unchecked(); diff --git a/pgrx/src/datum/range.rs b/pgrx/src/datum/range.rs index 593f8cc005..f71108dcc8 100644 --- a/pgrx/src/datum/range.rs +++ b/pgrx/src/datum/range.rs @@ -398,7 +398,7 @@ where let range_type = pg_sys::make_range(typecache, &mut lower_bound, &mut upper_bound, is_empty); - #[cfg(any(feature = "pg16", feature = "pg17"))] + #[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] let range_type = pg_sys::make_range( typecache, &mut lower_bound, diff --git a/pgrx/src/fn_call.rs b/pgrx/src/fn_call.rs index 9abe024fbd..bf1f2ccabb 100644 --- a/pgrx/src/fn_call.rs +++ b/pgrx/src/fn_call.rs @@ -397,7 +397,7 @@ fn lookup_fn(fname: &str, args: &[&dyn FnCallArg]) -> Result { pg_sys::pfree((*s).val.str_.cast()); } - #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17"))] + #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17", feature = "pg18"))] { let s = s.cast::(); pg_sys::pfree((*s).sval.cast()); diff --git a/pgrx/src/guc.rs b/pgrx/src/guc.rs index b433c97606..fe944d954b 100644 --- a/pgrx/src/guc.rs +++ b/pgrx/src/guc.rs @@ -95,7 +95,7 @@ bitflags! { const UNIT_MIN = pg_sys::GUC_UNIT_MIN as i32; /// Include in `EXPLAIN` output const EXPLAIN = pg_sys::GUC_EXPLAIN as i32; - #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17"))] + #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17", feature = "pg18"))] /// `RUNTIME_COMPUTED` is intended for runtime-computed GUCs that are only available via /// `postgres -C` if the server is not running const RUNTIME_COMPUTED = pg_sys::GUC_RUNTIME_COMPUTED as i32; diff --git a/pgrx/src/hooks.rs b/pgrx/src/hooks.rs index ccbda34074..a9256f730b 100644 --- a/pgrx/src/hooks.rs +++ b/pgrx/src/hooks.rs @@ -26,7 +26,13 @@ use std::ops::Deref; // that option will always be set to None at runtime. pub struct JumbleState {} -#[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17"))] +#[cfg(any( + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17", + feature = "pg18" +))] pub use pg_sys::JumbleState; pub struct HookResult { @@ -58,6 +64,13 @@ pub trait PgHooks { } /// Hook for plugins to get control in ExecutorStart() + #[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" + ))] fn executor_start( &mut self, query_desc: PgBox, @@ -67,7 +80,25 @@ pub trait PgHooks { prev_hook(query_desc, eflags) } + /// Hook for plugins to get control in ExecutorStart() + #[cfg(feature = "pg18")] + fn executor_start( + &mut self, + query_desc: PgBox, + eflags: i32, + prev_hook: fn(query_desc: PgBox, eflags: i32) -> HookResult, + ) -> HookResult { + prev_hook(query_desc, eflags) + } + /// Hook for plugins to get control in ExecutorRun() + #[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" + ))] fn executor_run( &mut self, query_desc: PgBox, @@ -84,6 +115,22 @@ pub trait PgHooks { prev_hook(query_desc, direction, count, execute_once) } + /// Hook for plugins to get control in ExecutorRun() + #[cfg(feature = "pg18")] + fn executor_run( + &mut self, + query_desc: PgBox, + direction: pg_sys::ScanDirection::Type, + count: u64, + prev_hook: fn( + query_desc: PgBox, + direction: pg_sys::ScanDirection::Type, + count: u64, + ) -> HookResult<()>, + ) -> HookResult<()> { + prev_hook(query_desc, direction, count) + } + /// Hook for plugins to get control in ExecutorFinish() fn executor_finish( &mut self, @@ -214,7 +261,7 @@ pub unsafe fn register_hook(hook: &'static mut (dyn PgHooks)) { .replace(pgrx_executor_check_perms) .or(Some(pgrx_standard_executor_check_perms_wrapper)); - #[cfg(any(feature = "pg16", feature = "pg17"))] + #[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] let prev_executor_check_perms_hook = pg_sys::ExecutorCheckPerms_hook .replace(pgrx_executor_check_perms) .or(Some(pgrx_standard_executor_check_perms_wrapper)); @@ -259,6 +306,13 @@ pub unsafe fn register_hook(hook: &'static mut (dyn PgHooks)) { pg_sys::RegisterXactCallback(Some(xact_callback), std::ptr::null_mut()); } +#[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" +))] #[pg_guard] unsafe extern "C-unwind" fn pgrx_executor_start(query_desc: *mut pg_sys::QueryDesc, eflags: i32) { fn prev(query_desc: PgBox, eflags: i32) -> HookResult<()> { @@ -274,6 +328,33 @@ unsafe extern "C-unwind" fn pgrx_executor_start(query_desc: *mut pg_sys::QueryDe hook.executor_start(PgBox::from_pg(query_desc), eflags, prev); } +#[cfg(feature = "pg18")] +#[pg_guard] +unsafe extern "C-unwind" fn pgrx_executor_start( + query_desc: *mut pg_sys::QueryDesc, + eflags: i32, +) -> bool { + fn prev(query_desc: PgBox, eflags: i32) -> HookResult { + let res = unsafe { + (HOOKS.as_mut().unwrap().prev_executor_start_hook.as_ref().unwrap())( + query_desc.into_pg(), + eflags, + ) + }; + HookResult::new(res) + } + let hook = &mut HOOKS.as_mut().unwrap().current_hook; + hook.executor_start(PgBox::from_pg(query_desc), eflags, prev); + true +} + +#[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" +))] #[pg_guard] unsafe extern "C-unwind" fn pgrx_executor_run( query_desc: *mut pg_sys::QueryDesc, @@ -301,6 +382,31 @@ unsafe extern "C-unwind" fn pgrx_executor_run( hook.executor_run(PgBox::from_pg(query_desc), direction, count, execute_once, prev); } +#[cfg(feature = "pg18")] +#[pg_guard] +unsafe extern "C-unwind" fn pgrx_executor_run( + query_desc: *mut pg_sys::QueryDesc, + direction: pg_sys::ScanDirection::Type, + count: u64, +) { + fn prev( + query_desc: PgBox, + direction: pg_sys::ScanDirection::Type, + count: u64, + ) -> HookResult<()> { + unsafe { + (HOOKS.as_mut().unwrap().prev_executor_run_hook.as_ref().unwrap())( + query_desc.into_pg(), + direction, + count, + ) + } + HookResult::new(()) + } + let hook = &mut HOOKS.as_mut().unwrap().current_hook; + hook.executor_run(PgBox::from_pg(query_desc), direction, count, prev); +} + #[pg_guard] unsafe extern "C-unwind" fn pgrx_executor_finish(query_desc: *mut pg_sys::QueryDesc) { fn prev(query_desc: PgBox) -> HookResult<()> { @@ -349,7 +455,7 @@ unsafe extern "C-unwind" fn pgrx_executor_check_perms( hook.executor_check_perms(PgList::from_pg(range_table), None, ereport_on_violation, prev).inner } -#[cfg(any(feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] #[pg_guard] unsafe extern "C-unwind" fn pgrx_executor_check_perms( range_table: *mut pg_sys::List, @@ -427,7 +533,13 @@ unsafe extern "C-unwind" fn pgrx_process_utility( ) .inner } -#[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17"))] +#[cfg(any( + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17", + feature = "pg18" +))] #[pg_guard] unsafe extern "C-unwind" fn pgrx_process_utility( pstmt: *mut pg_sys::PlannedStmt, @@ -544,7 +656,13 @@ unsafe extern "C-unwind" fn pgrx_post_parse_analyze( hook.post_parse_analyze(PgBox::from_pg(parse_state), PgBox::from_pg(query), None, prev).inner } -#[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17"))] +#[cfg(any( + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17", + feature = "pg18" +))] #[pg_guard] unsafe extern "C-unwind" fn pgrx_post_parse_analyze( parse_state: *mut pg_sys::ParseState, @@ -591,6 +709,13 @@ unsafe extern "C-unwind" fn pgrx_emit_log(error_data: *mut pg_sys::ErrorData) { hook.emit_log(PgBox::from_pg(error_data), prev).inner } +#[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" +))] #[pg_guard] unsafe extern "C-unwind" fn pgrx_standard_executor_start_wrapper( query_desc: *mut pg_sys::QueryDesc, @@ -599,6 +724,22 @@ unsafe extern "C-unwind" fn pgrx_standard_executor_start_wrapper( pg_sys::standard_ExecutorStart(query_desc, eflags) } +#[cfg(feature = "pg18")] +#[pg_guard] +unsafe extern "C-unwind" fn pgrx_standard_executor_start_wrapper( + query_desc: *mut pg_sys::QueryDesc, + eflags: i32, +) -> bool { + pg_sys::standard_ExecutorStart(query_desc, eflags) +} + +#[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" +))] #[pg_guard] unsafe extern "C-unwind" fn pgrx_standard_executor_run_wrapper( query_desc: *mut pg_sys::QueryDesc, @@ -609,6 +750,16 @@ unsafe extern "C-unwind" fn pgrx_standard_executor_run_wrapper( pg_sys::standard_ExecutorRun(query_desc, direction, count, execute_once) } +#[cfg(feature = "pg18")] +#[pg_guard] +unsafe extern "C-unwind" fn pgrx_standard_executor_run_wrapper( + query_desc: *mut pg_sys::QueryDesc, + direction: pg_sys::ScanDirection::Type, + count: u64, +) { + pg_sys::standard_ExecutorRun(query_desc, direction, count) +} + #[pg_guard] unsafe extern "C-unwind" fn pgrx_standard_executor_finish_wrapper( query_desc: *mut pg_sys::QueryDesc, @@ -630,7 +781,7 @@ unsafe extern "C-unwind" fn pgrx_standard_executor_check_perms_wrapper( true } -#[cfg(any(feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] #[pg_guard] unsafe extern "C-unwind" fn pgrx_standard_executor_check_perms_wrapper( _range_table: *mut pg_sys::List, @@ -662,7 +813,13 @@ unsafe extern "C-unwind" fn pgrx_standard_process_utility_wrapper( ) } -#[cfg(any(feature = "pg14", feature = "pg15", feature = "pg16", feature = "pg17"))] +#[cfg(any( + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17", + feature = "pg18" +))] #[pg_guard] unsafe extern "C-unwind" fn pgrx_standard_process_utility_wrapper( pstmt: *mut pg_sys::PlannedStmt, diff --git a/pgrx/src/lib.rs b/pgrx/src/lib.rs index 78e7bec821..c291c070cb 100644 --- a/pgrx/src/lib.rs +++ b/pgrx/src/lib.rs @@ -145,7 +145,7 @@ mod seal { // // Unless the compiling user explicitly told us that they're aware of this via `--features unsafe-postgres`. #[cfg(all( - any(feature = "pg15", feature = "pg16", feature = "pg17"), + any(feature = "pg15", feature = "pg16", feature = "pg17", feature = "pg18"), not(feature = "unsafe-postgres") ))] const _: () = { @@ -175,7 +175,7 @@ const _: () = { ///
///
 ///
-/// **Note**: Every [`pgrx`][crate] extension **must** have this macro called at top level (usually `src/lib.rs`) to be valid.
+/// **Note**: Every [`pgrx`][crate] extension **must** have this macro called at top level (usually `src/lib.rs`) to be valid. You can use `pg_module_magic!()` or `pg_module_magic!(name, version)`
 ///
 /// 
/// @@ -185,6 +185,17 @@ macro_rules! pg_module_magic { () => { $crate::pg_magic_func!(); + // A marker function which must exist in the root of the extension for proper linking by the + // "pgrx_embed" binary during `cargo-pgrx schema` generation. + #[inline(never)] /* we don't want DCE to remove this as it *could* cause the compiler to decide to not link to us */ + #[doc(hidden)] + pub fn __pgrx_marker() { + // noop + } + }; + ($name:expr, $version:expr) => { + $crate::pg_magic_func!($name, $version); + // A marker function which must exist in the root of the extension for proper linking by the // "pgrx_embed" binary during `cargo-pgrx schema` generation. #[inline(never)] /* we don't want DCE to remove this as it *could* cause the compiler to decide to not link to us */ @@ -234,34 +245,164 @@ macro_rules! pg_magic_func { #[allow(non_snake_case, unexpected_cfgs)] #[doc(hidden)] pub extern "C-unwind" fn Pg_magic_func() -> &'static ::pgrx::pg_sys::Pg_magic_struct { - static MY_MAGIC: ::pgrx::pg_sys::Pg_magic_struct = ::pgrx::pg_sys::Pg_magic_struct { - len: ::core::mem::size_of::<::pgrx::pg_sys::Pg_magic_struct>() as i32, - version: ::pgrx::pg_sys::PG_VERSION_NUM as i32 / 100, - funcmaxargs: ::pgrx::pg_sys::FUNC_MAX_ARGS as i32, - indexmaxkeys: ::pgrx::pg_sys::INDEX_MAX_KEYS as i32, - namedatalen: ::pgrx::pg_sys::NAMEDATALEN as i32, - float8byval: cfg!(target_pointer_width = "64") as i32, - #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17"))] - abi_extra: { - // we'll use what the bindings tell us, but if it ain't "PostgreSQL" then we'll - // raise a compilation error unless the `unsafe-postgres` feature is set - let magic = ::pgrx::pg_sys::FMGR_ABI_EXTRA.to_bytes_with_nul(); - let mut abi = [0 as ::pgrx::ffi::c_char; 32]; - let mut i = 0; - while i < magic.len() { - abi[i] = magic[i] as ::pgrx::ffi::c_char; - i += 1; - } - abi - }, - }; + #[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" + ))] + { + static MY_MAGIC: ::pgrx::pg_sys::Pg_magic_struct = + ::pgrx::pg_sys::Pg_magic_struct { + len: ::core::mem::size_of::<::pgrx::pg_sys::Pg_magic_struct>() as i32, + version: ::pgrx::pg_sys::PG_VERSION_NUM as i32 / 100, + funcmaxargs: ::pgrx::pg_sys::FUNC_MAX_ARGS as i32, + indexmaxkeys: ::pgrx::pg_sys::INDEX_MAX_KEYS as i32, + namedatalen: ::pgrx::pg_sys::NAMEDATALEN as i32, + float8byval: cfg!(target_pointer_width = "64") as i32, + #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17"))] + abi_extra: { + // we'll use what the bindings tell us, but if it ain't "PostgreSQL" then we'll + // raise a compilation error unless the `unsafe-postgres` feature is set + let magic = ::pgrx::pg_sys::FMGR_ABI_EXTRA.to_bytes_with_nul(); + let mut abi = [0 as ::pgrx::ffi::c_char; 32]; + let mut i = 0; + while i < magic.len() { + abi[i] = magic[i] as ::pgrx::ffi::c_char; + i += 1; + } + abi + }, + }; + + // since Postgres calls this first, register our panic handler now + // so we don't unwind into C / Postgres + ::pgrx::pg_sys::panic::register_pg_guard_panic_hook(); + + // return the magic + &MY_MAGIC + } + + #[cfg(feature = "pg18")] + { + struct PgMagicstruct(::pgrx::pg_sys::Pg_magic_struct); + unsafe impl Sync for PgMagicstruct {} + static MY_MAGIC: PgMagicstruct = PgMagicstruct(::pgrx::pg_sys::Pg_magic_struct { + len: ::core::mem::size_of::<::pgrx::pg_sys::Pg_magic_struct>() as i32, + abi_fields: ::pgrx::pg_sys::Pg_abi_values { + version: ::pgrx::pg_sys::PG_VERSION_NUM as i32 / 100, + funcmaxargs: ::pgrx::pg_sys::FUNC_MAX_ARGS as i32, + indexmaxkeys: ::pgrx::pg_sys::INDEX_MAX_KEYS as i32, + namedatalen: ::pgrx::pg_sys::NAMEDATALEN as i32, + float8byval: cfg!(target_pointer_width = "64") as i32, + abi_extra: { + // we'll use what the bindings tell us, but if it ain't "PostgreSQL" then we'll + // raise a compilation error unless the `unsafe-postgres` feature is set + let magic = ::pgrx::pg_sys::FMGR_ABI_EXTRA.to_bytes_with_nul(); + let mut abi = [0 as ::pgrx::ffi::c_char; 32]; + let mut i = 0; + while i < magic.len() { + abi[i] = magic[i] as ::pgrx::ffi::c_char; + i += 1; + } + abi + }, + }, + name: std::ptr::null(), + version: std::ptr::null(), + }); + + // since Postgres calls this first, register our panic handler now + // so we don't unwind into C / Postgres + ::pgrx::pg_sys::panic::register_pg_guard_panic_hook(); + + // return the magic + &MY_MAGIC.0 + } + } + }; + + ($name:expr, $version:expr) => { + #[no_mangle] + #[allow(non_snake_case, unexpected_cfgs)] + #[doc(hidden)] + pub extern "C-unwind" fn Pg_magic_func() -> &'static ::pgrx::pg_sys::Pg_magic_struct { + #[cfg(any( + feature = "pg13", + feature = "pg14", + feature = "pg15", + feature = "pg16", + feature = "pg17" + ))] + { + static MY_MAGIC: ::pgrx::pg_sys::Pg_magic_struct = + ::pgrx::pg_sys::Pg_magic_struct { + len: ::core::mem::size_of::<::pgrx::pg_sys::Pg_magic_struct>() as i32, + version: ::pgrx::pg_sys::PG_VERSION_NUM as i32 / 100, + funcmaxargs: ::pgrx::pg_sys::FUNC_MAX_ARGS as i32, + indexmaxkeys: ::pgrx::pg_sys::INDEX_MAX_KEYS as i32, + namedatalen: ::pgrx::pg_sys::NAMEDATALEN as i32, + float8byval: cfg!(target_pointer_width = "64") as i32, + #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17"))] + abi_extra: { + // we'll use what the bindings tell us, but if it ain't "PostgreSQL" then we'll + // raise a compilation error unless the `unsafe-postgres` feature is set + let magic = ::pgrx::pg_sys::FMGR_ABI_EXTRA.to_bytes_with_nul(); + let mut abi = [0 as ::pgrx::ffi::c_char; 32]; + let mut i = 0; + while i < magic.len() { + abi[i] = magic[i] as ::pgrx::ffi::c_char; + i += 1; + } + abi + }, + }; - // since Postgres calls this first, register our panic handler now - // so we don't unwind into C / Postgres - ::pgrx::pg_sys::panic::register_pg_guard_panic_hook(); + // since Postgres calls this first, register our panic handler now + // so we don't unwind into C / Postgres + ::pgrx::pg_sys::panic::register_pg_guard_panic_hook(); + + // return the magic + &MY_MAGIC + } - // return the magic - &MY_MAGIC + #[cfg(feature = "pg18")] + { + struct PgMagicstruct(::pgrx::pg_sys::Pg_magic_struct); + unsafe impl Sync for PgMagicstruct {} + static MY_MAGIC: PgMagicstruct = PgMagicstruct(::pgrx::pg_sys::Pg_magic_struct { + len: ::core::mem::size_of::<::pgrx::pg_sys::Pg_magic_struct>() as i32, + abi_fields: ::pgrx::pg_sys::Pg_abi_values { + version: ::pgrx::pg_sys::PG_VERSION_NUM as i32 / 100, + funcmaxargs: ::pgrx::pg_sys::FUNC_MAX_ARGS as i32, + indexmaxkeys: ::pgrx::pg_sys::INDEX_MAX_KEYS as i32, + namedatalen: ::pgrx::pg_sys::NAMEDATALEN as i32, + float8byval: cfg!(target_pointer_width = "64") as i32, + abi_extra: { + // we'll use what the bindings tell us, but if it ain't "PostgreSQL" then we'll + // raise a compilation error unless the `unsafe-postgres` feature is set + let magic = ::pgrx::pg_sys::FMGR_ABI_EXTRA.to_bytes_with_nul(); + let mut abi = [0 as ::pgrx::ffi::c_char; 32]; + let mut i = 0; + while i < magic.len() { + abi[i] = magic[i] as ::pgrx::ffi::c_char; + i += 1; + } + abi + }, + }, + name: $name.as_ptr(), + version: $version.as_ptr(), + }); + + // since Postgres calls this first, register our panic handler now + // so we don't unwind into C / Postgres + ::pgrx::pg_sys::panic::register_pg_guard_panic_hook(); + + // return the magic + &MY_MAGIC.0 + } } }; } diff --git a/pgrx/src/list/flat_list.rs b/pgrx/src/list/flat_list.rs index 84eadee603..b484860c3b 100644 --- a/pgrx/src/list/flat_list.rs +++ b/pgrx/src/list/flat_list.rs @@ -70,9 +70,9 @@ unsafe impl Enlist for pg_sys::Oid { } } -#[cfg(any(feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] impl Sealed for pg_sys::TransactionId {} -#[cfg(any(feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] unsafe impl Enlist for pg_sys::TransactionId { const LIST_TAG: pg_sys::NodeTag = pg_sys::NodeTag::T_XidList; diff --git a/pgrx/src/memcx.rs b/pgrx/src/memcx.rs index f3ad834c6e..275f0c006d 100644 --- a/pgrx/src/memcx.rs +++ b/pgrx/src/memcx.rs @@ -61,7 +61,7 @@ where f(&memcx) } -#[cfg(all(feature = "nightly", feature = "pg16", feature = "pg17"))] +#[cfg(all(feature = "nightly", feature = "pg16", feature = "pg17", feature = "pg18"))] mod nightly { use super::*; use std::slice; diff --git a/pgrx/src/namespace.rs b/pgrx/src/namespace.rs index 5cc5abdbe9..a296135322 100644 --- a/pgrx/src/namespace.rs +++ b/pgrx/src/namespace.rs @@ -15,9 +15,9 @@ use pgrx_pg_sys::AsPgCStr; /// A helper struct for creating a Postgres `List` of `String`s to qualify an object name pub struct PgQualifiedNameBuilder { - #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17"))] + #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17", feature = "pg18"))] list: PgList, - #[cfg(not(any(feature = "pg15", feature = "pg16", feature = "pg17")))] + #[cfg(not(any(feature = "pg15", feature = "pg16", feature = "pg17", feature = "pg18")))] list: PgList, } @@ -30,9 +30,14 @@ impl Default for PgQualifiedNameBuilder { impl PgQualifiedNameBuilder { pub fn new() -> PgQualifiedNameBuilder { PgQualifiedNameBuilder { - #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17"))] + #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17", feature = "pg18"))] list: PgList::::new(), - #[cfg(not(any(feature = "pg15", feature = "pg16", feature = "pg17")))] + #[cfg(not(any( + feature = "pg15", + feature = "pg16", + feature = "pg17", + feature = "pg18" + )))] list: PgList::::new(), } } diff --git a/pgrx/src/rel.rs b/pgrx/src/rel.rs index f30f44d7d6..8206e2e0c6 100644 --- a/pgrx/src/rel.rs +++ b/pgrx/src/rel.rs @@ -23,7 +23,7 @@ macro_rules! pgstat_count_impl { if self.should_count_relation() { let info = self.pgstat_info; - #[cfg(any(feature = "pg16", feature = "pg17"))] + #[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] unsafe { (*info).counts.$new_field += 1; } @@ -316,7 +316,7 @@ impl PgRelation { return true; } - #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17"))] + #[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17", feature = "pg18"))] if self.pgstat_enabled { unsafe { pg_sys::pgstat_assoc_relation(self.as_ptr()); @@ -338,7 +338,7 @@ impl PgRelation { pub fn count_index_tuples(&mut self, n: i64) { if self.should_count_relation() { let info = self.pgstat_info; - #[cfg(any(feature = "pg16", feature = "pg17"))] + #[cfg(any(feature = "pg16", feature = "pg17", feature = "pg18"))] unsafe { (*info).counts.tuples_returned += n; } diff --git a/pgrx/src/shmem.rs b/pgrx/src/shmem.rs index 605411a6c4..466792d3a6 100644 --- a/pgrx/src/shmem.rs +++ b/pgrx/src/shmem.rs @@ -49,7 +49,7 @@ pub unsafe trait PGRXSharedMemory {} /// pg_shmem_init!(ATOMIC); /// } /// ``` -#[cfg(not(any(feature = "pg15", feature = "pg16", feature = "pg17")))] +#[cfg(not(any(feature = "pg15", feature = "pg16", feature = "pg17", feature = "pg18")))] #[macro_export] macro_rules! pg_shmem_init { ($thing:expr) => { @@ -73,7 +73,7 @@ macro_rules! pg_shmem_init { }; } -#[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17"))] +#[cfg(any(feature = "pg15", feature = "pg16", feature = "pg17", feature = "pg18"))] #[macro_export] macro_rules! pg_shmem_init { ($thing:expr) => { diff --git a/pgrx/src/tupdesc.rs b/pgrx/src/tupdesc.rs index 64c8833c77..226b747302 100644 --- a/pgrx/src/tupdesc.rs +++ b/pgrx/src/tupdesc.rs @@ -299,6 +299,19 @@ fn tupdesc_get_attr( &atts[attno] } +/// `attno` is 0-based +#[cfg(feature = "pg18")] +#[inline] +fn tupdesc_get_attr( + tupdesc: &PgBox, + attno: usize, +) -> &pg_sys::FormData_pg_attribute { + let att_pointer = + unsafe { tupdesc.compact_attrs.as_ptr().add(tupdesc.natts.try_into().unwrap()).cast() }; + let atts = unsafe { std::slice::from_raw_parts(att_pointer, tupdesc.natts as usize) }; + &atts[attno] +} + pub struct TupleDescIterator<'a> { tupdesc: &'a PgTupleDesc<'a>, curr: usize,