From e125da1fa6ed412e60efbc5b63dff50e1da1792e Mon Sep 17 00:00:00 2001 From: "Eric B. Ridge" Date: Sun, 31 May 2026 19:28:17 +0000 Subject: [PATCH 1/3] Update version to 0.18.1 --- Cargo.lock | 20 +- Cargo.toml | 14 +- cargo-pgrx/Cargo.toml | 2 +- cargo-pgrx/src/templates/cargo_toml | 6 +- pgrx-bench/Cargo.toml | 2 +- pgrx-bindgen/Cargo.toml | 2 +- pgrx-macros/Cargo.toml | 2 +- pgrx-pg-config/Cargo.toml | 2 +- pgrx-pg-sys/Cargo.toml | 2 +- pgrx-pg-sys/src/include/pg13.rs | 232 +++++++++++++++---- pgrx-pg-sys/src/include/pg14.rs | 287 +++++++++++++++++++----- pgrx-pg-sys/src/include/pg15.rs | 287 +++++++++++++++++++----- pgrx-pg-sys/src/include/pg16.rs | 292 +++++++++++++++++++----- pgrx-pg-sys/src/include/pg17.rs | 298 ++++++++++++++++++++----- pgrx-pg-sys/src/include/pg18.rs | 331 +++++++++++++++++++++++----- pgrx-sql-entity-graph/Cargo.toml | 2 +- pgrx-tests/Cargo.toml | 4 +- pgrx-unit-tests/Cargo.toml | 6 +- pgrx/Cargo.toml | 2 +- 19 files changed, 1439 insertions(+), 354 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 05303f519..fd1437e97 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -455,7 +455,7 @@ dependencies = [ [[package]] name = "cargo-pgrx" -version = "0.18.0" +version = "0.18.1" dependencies = [ "bzip2", "cargo-edit", @@ -2393,7 +2393,7 @@ dependencies = [ [[package]] name = "pgrx" -version = "0.18.0" +version = "0.18.1" dependencies = [ "bitflags 2.11.1", "bitvec", @@ -2412,7 +2412,7 @@ dependencies = [ [[package]] name = "pgrx-bench" -version = "0.18.0" +version = "0.18.1" dependencies = [ "criterion", "oorandom", @@ -2423,7 +2423,7 @@ dependencies = [ [[package]] name = "pgrx-bindgen" -version = "0.18.0" +version = "0.18.1" dependencies = [ "bindgen", "cc", @@ -2440,7 +2440,7 @@ dependencies = [ [[package]] name = "pgrx-macros" -version = "0.18.0" +version = "0.18.1" dependencies = [ "pgrx-sql-entity-graph", "proc-macro2", @@ -2451,7 +2451,7 @@ dependencies = [ [[package]] name = "pgrx-pg-config" -version = "0.18.0" +version = "0.18.1" dependencies = [ "cargo_toml", "codepage", @@ -2469,7 +2469,7 @@ dependencies = [ [[package]] name = "pgrx-pg-sys" -version = "0.18.0" +version = "0.18.1" dependencies = [ "cee-scape", "libc", @@ -2481,7 +2481,7 @@ dependencies = [ [[package]] name = "pgrx-sql-entity-graph" -version = "0.18.0" +version = "0.18.1" dependencies = [ "convert_case", "eyre", @@ -2497,7 +2497,7 @@ dependencies = [ [[package]] name = "pgrx-tests" -version = "0.18.0" +version = "0.18.1" dependencies = [ "clap-cargo 0.14.1", "eyre", @@ -2519,7 +2519,7 @@ dependencies = [ [[package]] name = "pgrx-unit-tests" -version = "0.18.0" +version = "0.18.1" dependencies = [ "eyre", "libc", diff --git a/Cargo.toml b/Cargo.toml index 53378aec0..dd52efda1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,18 +33,18 @@ repository = "https://github.com/pgcentralfoundation/pgrx/" homepage = "https://github.com/pgcentralfoundation/pgrx/" # TODO: all crates should use this version rather than copy it # See https://github.com/pgcentralfoundation/pgrx/pull/2100 comments -version = "0.18.0" +version = "0.18.1" [workspace.metadata.local-install] cargo-pgrx = { path = "cargo-pgrx" } [workspace.dependencies] -pgrx-bench = { path = "./pgrx-bench", version = "=0.18.0" } -pgrx-macros = { path = "./pgrx-macros", version = "=0.18.0" } -pgrx-pg-sys = { path = "./pgrx-pg-sys", version = "=0.18.0" } -pgrx-sql-entity-graph = { path = "./pgrx-sql-entity-graph", version = "=0.18.0" } -pgrx-pg-config = { path = "./pgrx-pg-config", version = "=0.18.0" } -pgrx-bindgen = { path = "./pgrx-bindgen", version = "=0.18.0" } +pgrx-bench = { path = "./pgrx-bench", version = "=0.18.1" } +pgrx-macros = { path = "./pgrx-macros", version = "=0.18.1" } +pgrx-pg-sys = { path = "./pgrx-pg-sys", version = "=0.18.1" } +pgrx-sql-entity-graph = { path = "./pgrx-sql-entity-graph", version = "=0.18.1" } +pgrx-pg-config = { path = "./pgrx-pg-config", version = "=0.18.1" } +pgrx-bindgen = { path = "./pgrx-bindgen", version = "=0.18.1" } cargo_metadata = "0.18.0" cargo-edit = "=0.13.2" # format-preserving edits to cargo.toml diff --git a/cargo-pgrx/Cargo.toml b/cargo-pgrx/Cargo.toml index c09c1190a..87d22a023 100644 --- a/cargo-pgrx/Cargo.toml +++ b/cargo-pgrx/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "cargo-pgrx" -version = "0.18.0" +version = "0.18.1" authors.workspace = true license.workspace = true description = "Cargo subcommand for 'pgrx' to make Postgres extension development easy" diff --git a/cargo-pgrx/src/templates/cargo_toml b/cargo-pgrx/src/templates/cargo_toml index 5f085c513..6c0d64909 100644 --- a/cargo-pgrx/src/templates/cargo_toml +++ b/cargo-pgrx/src/templates/cargo_toml @@ -18,15 +18,15 @@ pg_test = [] pg_bench = ["dep:pgrx-bench"] [dependencies] -pgrx = "=0.18.0" +pgrx = "=0.18.1" [dependencies.pgrx-bench] -version = "=0.18.0" +version = "=0.18.1" optional = true [dev-dependencies] [dev-dependencies.pgrx-tests] -version = "=0.18.0" +version = "=0.18.1" [profile.dev] panic = "unwind" diff --git a/pgrx-bench/Cargo.toml b/pgrx-bench/Cargo.toml index 2641a3453..2060d9a93 100644 --- a/pgrx-bench/Cargo.toml +++ b/pgrx-bench/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx-bench" -version = "0.18.0" +version = "0.18.1" authors.workspace = true license.workspace = true description = "Benchmark runtime support for pgrx extensions" diff --git a/pgrx-bindgen/Cargo.toml b/pgrx-bindgen/Cargo.toml index 842f07996..74d4172ee 100644 --- a/pgrx-bindgen/Cargo.toml +++ b/pgrx-bindgen/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "pgrx-bindgen" description = "additional bindgen support for pgrx" -version = "0.18.0" +version = "0.18.1" edition.workspace = true license.workspace = true homepage = "https://github.com/pgcentralfoundation/pgrx" diff --git a/pgrx-macros/Cargo.toml b/pgrx-macros/Cargo.toml index 609cf90e3..aa386cf5e 100644 --- a/pgrx-macros/Cargo.toml +++ b/pgrx-macros/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx-macros" -version = "0.18.0" +version = "0.18.1" authors.workspace = true license.workspace = true description = "Proc Macros for 'pgrx'" diff --git a/pgrx-pg-config/Cargo.toml b/pgrx-pg-config/Cargo.toml index c1ff43572..32f7877bc 100644 --- a/pgrx-pg-config/Cargo.toml +++ b/pgrx-pg-config/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx-pg-config" -version = "0.18.0" +version = "0.18.1" authors.workspace = true license.workspace = true description = "A Postgres pg_config wrapper for 'pgrx'" diff --git a/pgrx-pg-sys/Cargo.toml b/pgrx-pg-sys/Cargo.toml index 43c57af67..e685cd64b 100644 --- a/pgrx-pg-sys/Cargo.toml +++ b/pgrx-pg-sys/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx-pg-sys" -version = "0.18.0" +version = "0.18.1" authors.workspace = true license.workspace = true description = "Generated Rust bindings for Postgres internals, for use with 'pgrx'" diff --git a/pgrx-pg-sys/src/include/pg13.rs b/pgrx-pg-sys/src/include/pg13.rs index 11cdcfe33..e660b7cb7 100644 --- a/pgrx-pg-sys/src/include/pg13.rs +++ b/pgrx-pg-sys/src/include/pg13.rs @@ -47,7 +47,11 @@ where 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 } + if val { + byte | mask + } else { + byte & !mask + } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { @@ -193,7 +197,7 @@ pub const PG_MINORVERSION_NUM: u32 = 23; pub const PG_USE_STDBOOL: u32 = 1; pub const PG_VERSION: &::core::ffi::CStr = c"13.23"; pub const PG_VERSION_NUM: u32 = 130023; -pub const PG_VERSION_STR : & :: core :: ffi :: CStr = c"PostgreSQL 13.23 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0, 64-bit" ; +pub const PG_VERSION_STR : & :: core :: ffi :: CStr = c"PostgreSQL 13.23 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0, 64-bit" ; pub const RELSEG_SIZE: u32 = 131072; pub const SIZEOF_BOOL: u32 = 1; pub const SIZEOF_LONG: u32 = 8; @@ -5110,7 +5114,8 @@ pub const RANGESTRAT_CONTAINS_ELEM: u32 = 16; pub const RANGESTRAT_EQ: u32 = 18; pub const PGERROR: u32 = 20; pub type pg_int64 = ::core::ffi::c_long; -pub type va_list = __builtin_va_list; +pub type __gnuc_va_list = __builtin_va_list; +pub type __uint64_t = ::core::ffi::c_ulong; pub type __uid_t = ::core::ffi::c_uint; pub type __gid_t = ::core::ffi::c_uint; pub type __ino_t = ::core::ffi::c_ulong; @@ -5157,7 +5162,9 @@ pub struct _IO_FILE { pub _markers: *mut _IO_marker, pub _chain: *mut _IO_FILE, pub _fileno: ::core::ffi::c_int, - pub _flags2: ::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, @@ -5168,9 +5175,11 @@ pub struct _IO_FILE { pub _wide_data: *mut _IO_wide_data, pub _freeres_list: *mut _IO_FILE, pub _freeres_buf: *mut ::core::ffi::c_void, - pub __pad5: usize, + pub _prevchain: *mut *mut _IO_FILE, pub _mode: ::core::ffi::c_int, - pub _unused2: [::core::ffi::c_char; 20usize], + pub _unused3: ::core::ffi::c_int, + pub _total_written: __uint64_t, + pub _unused2: [::core::ffi::c_char; 8usize], } impl Default for _IO_FILE { fn default() -> Self { @@ -5181,6 +5190,51 @@ impl Default for _IO_FILE { } } } +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; @@ -15704,7 +15758,7 @@ pub mod TypeFuncClass { pub const TYPEFUNC_OTHER: Type = 4; } pub type sig_atomic_t = __sig_atomic_t; -pub mod _bindgen_ty_19 { +pub mod _bindgen_ty_20 { pub type Type = ::core::ffi::c_uint; pub const SIGEV_SIGNAL: Type = 0; pub const SIGEV_NONE: Type = 1; @@ -25998,7 +26052,7 @@ pub mod PLpgSQL_stmt_type { pub const PLPGSQL_STMT_ROLLBACK: Type = 26; pub const PLPGSQL_STMT_SET: Type = 27; } -pub mod _bindgen_ty_25 { +pub mod _bindgen_ty_26 { pub type Type = ::core::ffi::c_uint; pub const PLPGSQL_RC_OK: Type = 0; pub const PLPGSQL_RC_EXIT: Type = 1; @@ -27710,6 +27764,36 @@ impl Default for WalSndCtlData { } } } +pub type replace_rte_variables_callback = ::core::option::Option< + unsafe extern "C-unwind" fn( + var: *mut Var, + context: *mut replace_rte_variables_context, + ) -> *mut Node, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct replace_rte_variables_context { + pub callback: replace_rte_variables_callback, + pub callback_arg: *mut ::core::ffi::c_void, + pub target_varno: ::core::ffi::c_int, + pub sublevels_up: ::core::ffi::c_int, + pub inserted_sublink: bool, +} +impl Default for replace_rte_variables_context { + 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 ReplaceVarsNoMatchOption { + pub type Type = ::core::ffi::c_uint; + pub const REPLACEVARS_REPORT_ERROR: Type = 0; + pub const REPLACEVARS_CHANGE_VARNO: Type = 1; + pub const REPLACEVARS_SUBSTITUTE_NULL: Type = 2; +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct RowSecurityPolicy { @@ -30160,16 +30244,6 @@ unsafe extern "C-unwind" { uid: *mut uid_t, gid: *mut gid_t, ) -> ::core::ffi::c_int; - pub fn strlcat( - dst: *mut ::core::ffi::c_char, - src: *const ::core::ffi::c_char, - siz: usize, - ) -> usize; - pub fn strlcpy( - dst: *mut ::core::ffi::c_char, - src: *const ::core::ffi::c_char, - siz: usize, - ) -> usize; pub fn pqGetpwuid( uid: uid_t, resultbuf: *mut passwd, @@ -30320,7 +30394,7 @@ unsafe extern "C-unwind" { 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; + -> *mut ::core::ffi::c_void; pub fn MemoryContextRegisterResetCallback( context: MemoryContext, cb: *mut MemoryContextCallback, @@ -30543,7 +30617,7 @@ unsafe extern "C-unwind" { pub fn HeapTupleGetUpdateXid(tuple: HeapTupleHeader) -> TransactionId; #[link_name = "FullTransactionIdFromEpochAndXid__pgrx_cshim"] pub fn FullTransactionIdFromEpochAndXid(epoch: uint32, xid: TransactionId) - -> FullTransactionId; + -> FullTransactionId; #[link_name = "FullTransactionIdFromU64__pgrx_cshim"] pub fn FullTransactionIdFromU64(value: uint64) -> FullTransactionId; #[link_name = "FullTransactionIdAdvance__pgrx_cshim"] @@ -30637,7 +30711,7 @@ unsafe extern "C-unwind" { bit: *mut bits8, ); pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) - -> bool; + -> bool; pub fn nocachegetattr(tup: HeapTuple, attnum: ::core::ffi::c_int, att: TupleDesc) -> Datum; pub fn heap_getsysattr( tup: HeapTuple, @@ -30834,7 +30908,7 @@ unsafe extern "C-unwind" { msg: *const ::core::ffi::c_char, ) -> *mut TupleConversionMap; pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) - -> *mut TupleConversionMap; + -> *mut TupleConversionMap; pub fn execute_attr_map_tuple(tuple: HeapTuple, map: *mut TupleConversionMap) -> HeapTuple; pub fn execute_attr_map_slot( attrMap: *mut AttrMap, @@ -30842,7 +30916,7 @@ unsafe extern "C-unwind" { out_slot: *mut TupleTableSlot, ) -> *mut TupleTableSlot; pub fn execute_attr_map_cols(attrMap: *mut AttrMap, inbitmap: *mut Bitmapset) - -> *mut Bitmapset; + -> *mut Bitmapset; pub fn free_conversion_map(map: *mut TupleConversionMap); pub static mut pgBufferUsage: BufferUsage; pub static mut pgWalUsage: WalUsage; @@ -31047,7 +31121,7 @@ unsafe extern "C-unwind" { 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; + -> Datum; pub fn OidFunctionCall3Coll( functionId: Oid, collation: Oid, @@ -31452,7 +31526,7 @@ unsafe extern "C-unwind" { pub fn tbm_end_iterate(iterator: *mut TBMIterator); pub fn tbm_end_shared_iterate(iterator: *mut TBMSharedIterator); pub fn tbm_attach_shared_iterate(dsa: *mut dsa_area, dp: dsa_pointer) - -> *mut TBMSharedIterator; + -> *mut TBMSharedIterator; pub fn tbm_calculate_entries(maxbytes: f64) -> ::core::ffi::c_long; #[link_name = "tas__pgrx_cshim"] pub fn tas(lock: *mut slock_t) -> ::core::ffi::c_int; @@ -31467,7 +31541,7 @@ unsafe extern "C-unwind" { ) -> ::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; + -> ::core::ffi::c_int; #[link_name = "init_spin_delay__pgrx_cshim"] pub fn init_spin_delay( status: *mut SpinDelayStatus, @@ -31695,7 +31769,7 @@ unsafe extern "C-unwind" { name: *const ::core::ffi::c_char, ) -> File; pub fn SharedFileSetOpen(fileset: *mut SharedFileSet, name: *const ::core::ffi::c_char) - -> File; + -> File; pub fn SharedFileSetDelete( fileset: *mut SharedFileSet, name: *const ::core::ffi::c_char, @@ -32107,7 +32181,7 @@ unsafe extern "C-unwind" { pub fn MemoryContextAllowInCriticalSection(context: MemoryContext, allow: bool); pub fn MemoryContextCheck(context: MemoryContext); pub fn MemoryContextContains(context: MemoryContext, pointer: *mut ::core::ffi::c_void) - -> bool; + -> bool; pub fn MemoryContextCreate( node: MemoryContext, tag: NodeTag, @@ -32305,7 +32379,7 @@ unsafe extern "C-unwind" { ) -> 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; + -> *mut ExecAuxRowMark; pub fn EvalPlanQual( epqstate: *mut EPQState, relation: Relation, @@ -34720,7 +34794,7 @@ unsafe extern "C-unwind" { ); #[link_name = "table_scan_bitmap_next_block__pgrx_cshim"] pub fn table_scan_bitmap_next_block(scan: TableScanDesc, tbmres: *mut TBMIterateResult) - -> bool; + -> bool; #[link_name = "table_scan_bitmap_next_tuple__pgrx_cshim"] pub fn table_scan_bitmap_next_tuple( scan: TableScanDesc, @@ -34749,7 +34823,7 @@ unsafe extern "C-unwind" { ); pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) - -> Size; + -> Size; pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); pub fn table_block_parallelscan_nextpage( rel: Relation, @@ -36825,7 +36899,7 @@ unsafe extern "C-unwind" { pub fn smgrDoPendingDeletes(isCommit: bool); pub fn smgrDoPendingSyncs(isCommit: bool, isParallelWorker: bool); pub fn smgrGetPendingDeletes(forCommit: bool, ptr: *mut *mut RelFileNode) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn AtSubCommit_smgr(); pub fn AtSubAbort_smgr(); pub fn PostPrepare_smgr(); @@ -36891,7 +36965,7 @@ unsafe extern "C-unwind" { ) -> Oid; pub fn AlterDatabaseSet(stmt: *mut AlterDatabaseSetStmt) -> Oid; pub fn AlterDatabaseOwner(dbname: *const ::core::ffi::c_char, newOwnerId: Oid) - -> ObjectAddress; + -> 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 check_encoding_locale_matches( @@ -38168,7 +38242,7 @@ unsafe extern "C-unwind" { Nulls: *const ::core::ffi::c_char, ) -> HeapTuple; pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) - -> ::core::ffi::c_int; + -> ::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, @@ -38182,7 +38256,7 @@ unsafe extern "C-unwind" { isnull: *mut bool, ) -> Datum; pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) - -> *mut ::core::ffi::c_char; + -> *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; @@ -38344,7 +38418,7 @@ unsafe extern "C-unwind" { ) -> *mut ::core::ffi::c_uchar; pub fn utf8_to_unicode(c: *const ::core::ffi::c_uchar) -> pg_wchar; pub fn pg_utf8_islegal(source: *const ::core::ffi::c_uchar, length: ::core::ffi::c_int) - -> bool; + -> bool; pub fn pg_utf_mblen(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; @@ -38451,7 +38525,7 @@ unsafe extern "C-unwind" { 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; + -> ::core::ffi::c_ushort; pub fn UtfToLocal( utf: *const ::core::ffi::c_uchar, len: ::core::ffi::c_int, @@ -39319,7 +39393,7 @@ unsafe extern "C-unwind" { 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 locate_var_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::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(query: *mut Query, node: *mut Node) -> *mut Node; pub fn compare_path_costs( @@ -39530,7 +39604,7 @@ unsafe extern "C-unwind" { inner_paramrels: Relids, ) -> Relids; pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) - -> Relids; + -> Relids; pub fn create_nestloop_path( root: *mut PlannerInfo, joinrel: *mut RelOptInfo, @@ -39778,7 +39852,7 @@ unsafe extern "C-unwind" { required_outer: Relids, ) -> *mut ParamPathInfo; pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) - -> *mut ParamPathInfo; + -> *mut ParamPathInfo; pub fn build_child_join_rel( root: *mut PlannerInfo, outer_rel: *mut RelOptInfo, @@ -40293,7 +40367,7 @@ unsafe extern "C-unwind" { otherquals: *mut *mut List, ); pub fn has_pseudoconstant_clauses(root: *mut PlannerInfo, restrictinfo_list: *mut List) - -> bool; + -> bool; pub fn join_clause_is_movable_to(rinfo: *mut RestrictInfo, baserel: *mut RelOptInfo) -> bool; pub fn join_clause_is_movable_into( rinfo: *mut RestrictInfo, @@ -40363,12 +40437,12 @@ unsafe extern "C-unwind" { pushedDown: bool, ); pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) - -> *mut List; + -> *mut List; 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; + -> Oid; pub static mut operator_precedence_warning: bool; pub static mut Transform_null_equals: bool; pub fn transformExpr( @@ -41229,7 +41303,7 @@ unsafe extern "C-unwind" { 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; + -> *const ::core::ffi::c_char; pub fn plpgsql_free_function_memory(func: *mut PLpgSQL_function); pub fn plpgsql_dumptree(func: *mut PLpgSQL_function); pub fn plpgsql_base_yylex() -> ::core::ffi::c_int; @@ -41555,6 +41629,74 @@ unsafe extern "C-unwind" { include_triggers: bool, include_cols: *mut Bitmapset, ) -> ::core::ffi::c_int; + pub fn OffsetVarNodes( + node: *mut Node, + offset: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ); + pub fn ChangeVarNodes( + node: *mut Node, + old_varno: ::core::ffi::c_int, + new_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ); + pub fn IncrementVarSublevelsUp( + node: *mut Node, + delta_sublevels_up: ::core::ffi::c_int, + min_sublevels_up: ::core::ffi::c_int, + ); + pub fn IncrementVarSublevelsUp_rtable( + rtable: *mut List, + delta_sublevels_up: ::core::ffi::c_int, + min_sublevels_up: ::core::ffi::c_int, + ); + pub fn rangeTableEntry_used( + node: *mut Node, + rt_index: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ) -> bool; + pub fn getInsertSelectQuery( + parsetree: *mut Query, + subquery_ptr: *mut *mut *mut Query, + ) -> *mut Query; + pub fn AddQual(parsetree: *mut Query, qual: *mut Node); + pub fn AddInvertedQual(parsetree: *mut Query, qual: *mut Node); + pub fn contain_aggs_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; + pub fn locate_agg_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) + -> ::core::ffi::c_int; + pub fn contain_windowfuncs(node: *mut Node) -> bool; + pub fn locate_windowfunc(node: *mut Node) -> ::core::ffi::c_int; + pub fn checkExprHasSubLink(node: *mut Node) -> bool; + pub fn replace_rte_variables( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + callback: replace_rte_variables_callback, + callback_arg: *mut ::core::ffi::c_void, + outer_hasSubLinks: *mut bool, + ) -> *mut Node; + pub fn replace_rte_variables_mutator( + node: *mut Node, + context: *mut replace_rte_variables_context, + ) -> *mut Node; + pub fn map_variable_attnos( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + attno_map: *const AttrMap, + to_rowtype: Oid, + found_whole_row: *mut bool, + ) -> *mut Node; + pub fn ReplaceVarsFromTargetList( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + target_rte: *mut RangeTblEntry, + targetlist: *mut List, + nomatch_option: ReplaceVarsNoMatchOption::Type, + nomatch_varno: ::core::ffi::c_int, + outer_hasSubLinks: *mut bool, + ) -> *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( @@ -45192,7 +45334,7 @@ unsafe extern "C-unwind" { 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; + -> bool; pub fn get_op_hash_functions( opno: Oid, lhs_procno: *mut RegProcedure, diff --git a/pgrx-pg-sys/src/include/pg14.rs b/pgrx-pg-sys/src/include/pg14.rs index f1f4fe947..92aa00c1f 100644 --- a/pgrx-pg-sys/src/include/pg14.rs +++ b/pgrx-pg-sys/src/include/pg14.rs @@ -47,7 +47,11 @@ where 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 } + if val { + byte | mask + } else { + byte & !mask + } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { @@ -182,18 +186,18 @@ 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 14.22"; +pub const PACKAGE_STRING: &::core::ffi::CStr = c"PostgreSQL 14.23"; 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"14.22"; +pub const PACKAGE_VERSION: &::core::ffi::CStr = c"14.23"; pub const PG_KRB_SRVNAM: &::core::ffi::CStr = c"postgres"; pub const PG_MAJORVERSION: &::core::ffi::CStr = c"14"; pub const PG_MAJORVERSION_NUM: u32 = 14; -pub const PG_MINORVERSION_NUM: u32 = 22; +pub const PG_MINORVERSION_NUM: u32 = 23; pub const PG_USE_STDBOOL: u32 = 1; -pub const PG_VERSION: &::core::ffi::CStr = c"14.22"; -pub const PG_VERSION_NUM: u32 = 140022; -pub const PG_VERSION_STR : & :: core :: ffi :: CStr = c"PostgreSQL 14.22 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0, 64-bit" ; +pub const PG_VERSION: &::core::ffi::CStr = c"14.23"; +pub const PG_VERSION_NUM: u32 = 140023; +pub const PG_VERSION_STR : & :: core :: ffi :: CStr = c"PostgreSQL 14.23 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0, 64-bit" ; pub const RELSEG_SIZE: u32 = 131072; pub const SIZEOF_BOOL: u32 = 1; pub const SIZEOF_LONG: u32 = 8; @@ -251,7 +255,7 @@ 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) 14.22\n"; +pub const PG_BACKEND_VERSIONSTR: &::core::ffi::CStr = c"postgres (PostgreSQL) 14.23\n"; pub const EXE: &::core::ffi::CStr = c""; pub const DEVNULL: &::core::ffi::CStr = c"/dev/null"; pub const USE_REPL_SNPRINTF: u32 = 1; @@ -5734,7 +5738,8 @@ pub const RANGESTRAT_CONTAINED_BY: u32 = 8; pub const RANGESTRAT_CONTAINS_ELEM: u32 = 16; pub const RANGESTRAT_EQ: u32 = 18; pub type pg_int64 = ::core::ffi::c_long; -pub type va_list = __builtin_va_list; +pub type __gnuc_va_list = __builtin_va_list; +pub type __uint64_t = ::core::ffi::c_ulong; pub type __uid_t = ::core::ffi::c_uint; pub type __gid_t = ::core::ffi::c_uint; pub type __ino_t = ::core::ffi::c_ulong; @@ -5781,7 +5786,9 @@ pub struct _IO_FILE { pub _markers: *mut _IO_marker, pub _chain: *mut _IO_FILE, pub _fileno: ::core::ffi::c_int, - pub _flags2: ::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, @@ -5792,9 +5799,11 @@ pub struct _IO_FILE { pub _wide_data: *mut _IO_wide_data, pub _freeres_list: *mut _IO_FILE, pub _freeres_buf: *mut ::core::ffi::c_void, - pub __pad5: usize, + pub _prevchain: *mut *mut _IO_FILE, pub _mode: ::core::ffi::c_int, - pub _unused2: [::core::ffi::c_char; 20usize], + pub _unused3: ::core::ffi::c_int, + pub _total_written: __uint64_t, + pub _unused2: [::core::ffi::c_char; 8usize], } impl Default for _IO_FILE { fn default() -> Self { @@ -5805,6 +5814,51 @@ impl Default for _IO_FILE { } } } +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; @@ -16750,7 +16804,7 @@ pub mod TypeFuncClass { pub const TYPEFUNC_OTHER: Type = 4; } pub type sig_atomic_t = __sig_atomic_t; -pub mod _bindgen_ty_19 { +pub mod _bindgen_ty_20 { pub type Type = ::core::ffi::c_uint; pub const SIGEV_SIGNAL: Type = 0; pub const SIGEV_NONE: Type = 1; @@ -25650,6 +25704,8 @@ impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_31 { #[derive(Debug, Copy, Clone)] pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_32 { pub has_nulls: bool, + pub null_lhs_result: bool, + pub null_lhs_isnull: bool, pub elements_tab: *mut ScalarArrayOpExprHashTable, pub finfo: *mut FmgrInfo, pub fcinfo_data: FunctionCallInfo, @@ -27510,7 +27566,7 @@ pub mod PLpgSQL_stmt_type { pub const PLPGSQL_STMT_COMMIT: Type = 25; pub const PLPGSQL_STMT_ROLLBACK: Type = 26; } -pub mod _bindgen_ty_25 { +pub mod _bindgen_ty_26 { pub type Type = ::core::ffi::c_uint; pub const PLPGSQL_RC_OK: Type = 0; pub const PLPGSQL_RC_EXIT: Type = 1; @@ -29746,6 +29802,36 @@ impl Default for WalSndCtlData { } } } +pub type replace_rte_variables_callback = ::core::option::Option< + unsafe extern "C-unwind" fn( + var: *mut Var, + context: *mut replace_rte_variables_context, + ) -> *mut Node, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct replace_rte_variables_context { + pub callback: replace_rte_variables_callback, + pub callback_arg: *mut ::core::ffi::c_void, + pub target_varno: ::core::ffi::c_int, + pub sublevels_up: ::core::ffi::c_int, + pub inserted_sublink: bool, +} +impl Default for replace_rte_variables_context { + 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 ReplaceVarsNoMatchOption { + pub type Type = ::core::ffi::c_uint; + pub const REPLACEVARS_REPORT_ERROR: Type = 0; + pub const REPLACEVARS_CHANGE_VARNO: Type = 1; + pub const REPLACEVARS_SUBSTITUTE_NULL: Type = 2; +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct RowSecurityPolicy { @@ -32059,6 +32145,7 @@ unsafe extern "C-unwind" { 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_safe_for_extraction(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, @@ -32209,16 +32296,6 @@ unsafe extern "C-unwind" { uid: *mut uid_t, gid: *mut gid_t, ) -> ::core::ffi::c_int; - pub fn strlcat( - dst: *mut ::core::ffi::c_char, - src: *const ::core::ffi::c_char, - siz: usize, - ) -> usize; - pub fn strlcpy( - dst: *mut ::core::ffi::c_char, - src: *const ::core::ffi::c_char, - siz: usize, - ) -> usize; pub fn pqGetpwuid( uid: uid_t, resultbuf: *mut passwd, @@ -32234,6 +32311,11 @@ unsafe extern "C-unwind" { result: *mut *mut hostent, herrno: *mut ::core::ffi::c_int, ) -> ::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, @@ -32395,10 +32477,35 @@ unsafe extern "C-unwind" { 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 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 pfree(pointer: *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 palloc_mul(s1: Size, s2: Size) -> *mut ::core::ffi::c_void; + pub fn palloc0_mul(s1: Size, s2: Size) -> *mut ::core::ffi::c_void; + pub fn palloc_mul_extended( + s1: Size, + s2: Size, + flags: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void; + pub fn repalloc_mul( + p: *mut ::core::ffi::c_void, + s1: Size, + s2: Size, + ) -> *mut ::core::ffi::c_void; + pub fn repalloc_mul_extended( + p: *mut ::core::ffi::c_void, + s1: Size, + s2: Size, + flags: ::core::ffi::c_int, + ) -> *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; + -> *mut ::core::ffi::c_void; pub fn MemoryContextRegisterResetCallback( context: MemoryContext, cb: *mut MemoryContextCallback, @@ -32631,7 +32738,7 @@ unsafe extern "C-unwind" { pub fn HeapTupleGetUpdateXid(tuple: HeapTupleHeader) -> TransactionId; #[link_name = "FullTransactionIdFromEpochAndXid__pgrx_cshim"] pub fn FullTransactionIdFromEpochAndXid(epoch: uint32, xid: TransactionId) - -> FullTransactionId; + -> FullTransactionId; #[link_name = "FullTransactionIdFromU64__pgrx_cshim"] pub fn FullTransactionIdFromU64(value: uint64) -> FullTransactionId; #[link_name = "FullTransactionIdRetreat__pgrx_cshim"] @@ -32736,7 +32843,7 @@ unsafe extern "C-unwind" { bit: *mut bits8, ); pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) - -> bool; + -> bool; pub fn nocachegetattr(tup: HeapTuple, attnum: ::core::ffi::c_int, att: TupleDesc) -> Datum; pub fn heap_getsysattr( tup: HeapTuple, @@ -32933,7 +33040,7 @@ unsafe extern "C-unwind" { msg: *const ::core::ffi::c_char, ) -> *mut TupleConversionMap; pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) - -> *mut TupleConversionMap; + -> *mut TupleConversionMap; pub fn execute_attr_map_tuple(tuple: HeapTuple, map: *mut TupleConversionMap) -> HeapTuple; pub fn execute_attr_map_slot( attrMap: *mut AttrMap, @@ -32941,7 +33048,7 @@ unsafe extern "C-unwind" { out_slot: *mut TupleTableSlot, ) -> *mut TupleTableSlot; pub fn execute_attr_map_cols(attrMap: *mut AttrMap, inbitmap: *mut Bitmapset) - -> *mut Bitmapset; + -> *mut Bitmapset; pub fn free_conversion_map(map: *mut TupleConversionMap); pub static mut pgBufferUsage: BufferUsage; pub static mut pgWalUsage: WalUsage; @@ -33148,7 +33255,7 @@ unsafe extern "C-unwind" { 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; + -> Datum; pub fn OidFunctionCall3Coll( functionId: Oid, collation: Oid, @@ -33613,7 +33720,7 @@ unsafe extern "C-unwind" { pub fn tbm_end_iterate(iterator: *mut TBMIterator); pub fn tbm_end_shared_iterate(iterator: *mut TBMSharedIterator); pub fn tbm_attach_shared_iterate(dsa: *mut dsa_area, dp: dsa_pointer) - -> *mut TBMSharedIterator; + -> *mut TBMSharedIterator; pub fn tbm_calculate_entries(maxbytes: f64) -> ::core::ffi::c_long; #[link_name = "tas__pgrx_cshim"] pub fn tas(lock: *mut slock_t) -> ::core::ffi::c_int; @@ -33628,7 +33735,7 @@ unsafe extern "C-unwind" { ) -> ::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; + -> ::core::ffi::c_int; #[link_name = "init_spin_delay__pgrx_cshim"] pub fn init_spin_delay( status: *mut SpinDelayStatus, @@ -34306,7 +34413,7 @@ unsafe extern "C-unwind" { pub fn MemoryContextAllowInCriticalSection(context: MemoryContext, allow: bool); pub fn MemoryContextCheck(context: MemoryContext); pub fn MemoryContextContains(context: MemoryContext, pointer: *mut ::core::ffi::c_void) - -> bool; + -> bool; pub fn MemoryContextCreate( node: MemoryContext, tag: NodeTag, @@ -34501,7 +34608,7 @@ unsafe extern "C-unwind" { ) -> 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; + -> *mut ExecAuxRowMark; pub fn EvalPlanQual( epqstate: *mut EPQState, relation: Relation, @@ -35624,6 +35731,7 @@ unsafe extern "C-unwind" { pub fn GetXLogReceiptTime(rtime: *mut TimestampTz, fromStream: *mut bool); pub fn GetXLogReplayRecPtr(replayTLI: *mut TimeLineID) -> XLogRecPtr; pub fn GetXLogInsertRecPtr() -> XLogRecPtr; + pub fn GetXLogInsertEndRecPtr() -> XLogRecPtr; pub fn GetXLogWriteRecPtr() -> XLogRecPtr; pub fn GetRecoveryPauseState() -> RecoveryPauseState::Type; pub fn SetRecoveryPause(recoveryPause: bool); @@ -36852,7 +36960,7 @@ unsafe extern "C-unwind" { ); #[link_name = "table_scan_bitmap_next_block__pgrx_cshim"] pub fn table_scan_bitmap_next_block(scan: TableScanDesc, tbmres: *mut TBMIterateResult) - -> bool; + -> bool; #[link_name = "table_scan_bitmap_next_tuple__pgrx_cshim"] pub fn table_scan_bitmap_next_tuple( scan: TableScanDesc, @@ -36881,7 +36989,7 @@ unsafe extern "C-unwind" { ); pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) - -> Size; + -> Size; pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); pub fn table_block_parallelscan_nextpage( rel: Relation, @@ -36929,8 +37037,6 @@ unsafe extern "C-unwind" { 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 RequestAddinShmemSpace(size: Size); pub fn SHMQueueInit(queue: *mut SHM_QUEUE); pub fn SHMQueueElemInit(queue: *mut SHM_QUEUE); @@ -38950,7 +39056,7 @@ unsafe extern "C-unwind" { pub fn smgrDoPendingDeletes(isCommit: bool); pub fn smgrDoPendingSyncs(isCommit: bool, isParallelWorker: bool); pub fn smgrGetPendingDeletes(forCommit: bool, ptr: *mut *mut RelFileNode) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn AtSubCommit_smgr(); pub fn AtSubAbort_smgr(); pub fn PostPrepare_smgr(); @@ -39030,7 +39136,7 @@ unsafe extern "C-unwind" { ) -> Oid; pub fn AlterDatabaseSet(stmt: *mut AlterDatabaseSetStmt) -> Oid; pub fn AlterDatabaseOwner(dbname: *const ::core::ffi::c_char, newOwnerId: Oid) - -> ObjectAddress; + -> 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 check_encoding_locale_matches( @@ -40407,7 +40513,7 @@ unsafe extern "C-unwind" { Nulls: *const ::core::ffi::c_char, ) -> HeapTuple; pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) - -> ::core::ffi::c_int; + -> ::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, @@ -40421,7 +40527,7 @@ unsafe extern "C-unwind" { isnull: *mut bool, ) -> Datum; pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) - -> *mut ::core::ffi::c_char; + -> *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; @@ -40583,7 +40689,7 @@ unsafe extern "C-unwind" { ) -> *mut ::core::ffi::c_uchar; pub fn utf8_to_unicode(c: *const ::core::ffi::c_uchar) -> pg_wchar; pub fn pg_utf8_islegal(source: *const ::core::ffi::c_uchar, length: ::core::ffi::c_int) - -> bool; + -> bool; pub fn pg_utf_mblen(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; @@ -40710,7 +40816,7 @@ unsafe extern "C-unwind" { 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; + -> ::core::ffi::c_ushort; pub fn UtfToLocal( utf: *const ::core::ffi::c_uchar, len: ::core::ffi::c_int, @@ -41622,7 +41728,7 @@ unsafe extern "C-unwind" { 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 locate_var_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::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(query: *mut Query, node: *mut Node) -> *mut Node; pub fn compare_path_costs( @@ -41847,7 +41953,7 @@ unsafe extern "C-unwind" { inner_paramrels: Relids, ) -> Relids; pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) - -> Relids; + -> Relids; pub fn create_nestloop_path( root: *mut PlannerInfo, joinrel: *mut RelOptInfo, @@ -42095,7 +42201,7 @@ unsafe extern "C-unwind" { required_outer: Relids, ) -> *mut ParamPathInfo; pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) - -> *mut ParamPathInfo; + -> *mut ParamPathInfo; pub fn build_child_join_rel( root: *mut PlannerInfo, outer_rel: *mut RelOptInfo, @@ -42604,7 +42710,7 @@ unsafe extern "C-unwind" { otherquals: *mut *mut List, ); pub fn has_pseudoconstant_clauses(root: *mut PlannerInfo, restrictinfo_list: *mut List) - -> bool; + -> bool; pub fn join_clause_is_movable_to(rinfo: *mut RestrictInfo, baserel: *mut RelOptInfo) -> bool; pub fn join_clause_is_movable_into( rinfo: *mut RestrictInfo, @@ -42685,14 +42791,14 @@ unsafe extern "C-unwind" { pushedDown: bool, ); pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) - -> *mut List; + -> *mut List; pub fn makeSortGroupClauseForSetOp(rescoltype: Oid, require_hash: bool) - -> *mut SortGroupClause; + -> *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; + -> Oid; pub static mut Transform_null_equals: bool; pub fn transformExpr( pstate: *mut ParseState, @@ -43322,7 +43428,7 @@ unsafe extern "C-unwind" { ) -> ::core::ffi::c_int; pub fn RelationGetPartitionDesc(rel: Relation, omit_detached: bool) -> PartitionDesc; pub fn CreatePartitionDirectory(mcxt: MemoryContext, omit_detached: bool) - -> PartitionDirectory; + -> PartitionDirectory; pub fn PartitionDirectoryLookup(arg1: PartitionDirectory, arg2: Relation) -> PartitionDesc; pub fn DestroyPartitionDirectory(pdir: PartitionDirectory); pub fn get_default_oid_from_partdesc(partdesc: PartitionDesc) -> Oid; @@ -43555,7 +43661,7 @@ unsafe extern "C-unwind" { 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; + -> *const ::core::ffi::c_char; pub fn plpgsql_free_function_memory(func: *mut PLpgSQL_function); pub fn plpgsql_dumptree(func: *mut PLpgSQL_function); pub fn plpgsql_base_yylex() -> ::core::ffi::c_int; @@ -43864,7 +43970,7 @@ unsafe extern "C-unwind" { pub fn logicalrep_read_typ(out: 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; + -> TransactionId; pub fn logicalrep_write_stream_stop(out: StringInfo); pub fn logicalrep_write_stream_commit( out: StringInfo, @@ -44080,6 +44186,74 @@ unsafe extern "C-unwind" { include_triggers: bool, include_cols: *mut Bitmapset, ) -> ::core::ffi::c_int; + pub fn OffsetVarNodes( + node: *mut Node, + offset: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ); + pub fn ChangeVarNodes( + node: *mut Node, + old_varno: ::core::ffi::c_int, + new_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ); + pub fn IncrementVarSublevelsUp( + node: *mut Node, + delta_sublevels_up: ::core::ffi::c_int, + min_sublevels_up: ::core::ffi::c_int, + ); + pub fn IncrementVarSublevelsUp_rtable( + rtable: *mut List, + delta_sublevels_up: ::core::ffi::c_int, + min_sublevels_up: ::core::ffi::c_int, + ); + pub fn rangeTableEntry_used( + node: *mut Node, + rt_index: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ) -> bool; + pub fn getInsertSelectQuery( + parsetree: *mut Query, + subquery_ptr: *mut *mut *mut Query, + ) -> *mut Query; + pub fn AddQual(parsetree: *mut Query, qual: *mut Node); + pub fn AddInvertedQual(parsetree: *mut Query, qual: *mut Node); + pub fn contain_aggs_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; + pub fn locate_agg_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) + -> ::core::ffi::c_int; + pub fn contain_windowfuncs(node: *mut Node) -> bool; + pub fn locate_windowfunc(node: *mut Node) -> ::core::ffi::c_int; + pub fn checkExprHasSubLink(node: *mut Node) -> bool; + pub fn replace_rte_variables( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + callback: replace_rte_variables_callback, + callback_arg: *mut ::core::ffi::c_void, + outer_hasSubLinks: *mut bool, + ) -> *mut Node; + pub fn replace_rte_variables_mutator( + node: *mut Node, + context: *mut replace_rte_variables_context, + ) -> *mut Node; + pub fn map_variable_attnos( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + attno_map: *const AttrMap, + to_rowtype: Oid, + found_whole_row: *mut bool, + ) -> *mut Node; + pub fn ReplaceVarsFromTargetList( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + target_rte: *mut RangeTblEntry, + targetlist: *mut List, + nomatch_option: ReplaceVarsNoMatchOption::Type, + nomatch_varno: ::core::ffi::c_int, + outer_hasSubLinks: *mut bool, + ) -> *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( @@ -48048,7 +48222,7 @@ unsafe extern "C-unwind" { 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; + -> bool; pub fn get_op_hash_functions( opno: Oid, lhs_procno: *mut RegProcedure, @@ -48057,6 +48231,7 @@ unsafe extern "C-unwind" { pub fn get_op_btree_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 collations_agree_on_equality(coll1: Oid, coll2: Oid) -> bool; pub fn get_opfamily_proc(opfamily: Oid, lefttype: Oid, righttype: Oid, procnum: int16) -> Oid; pub fn get_attname( relid: Oid, @@ -48205,7 +48380,7 @@ unsafe extern "C-unwind" { pub fn set_ps_display(activity: *const ::core::ffi::c_char); pub fn get_ps_display(displen: *mut ::core::ffi::c_int) -> *const ::core::ffi::c_char; pub fn format_procedure_extended(procedure_oid: Oid, flags: bits16) - -> *mut ::core::ffi::c_char; + -> *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) -> *mut List; pub fn format_procedure(procedure_oid: Oid) -> *mut ::core::ffi::c_char; diff --git a/pgrx-pg-sys/src/include/pg15.rs b/pgrx-pg-sys/src/include/pg15.rs index 3c279a33b..dde20c909 100644 --- a/pgrx-pg-sys/src/include/pg15.rs +++ b/pgrx-pg-sys/src/include/pg15.rs @@ -47,7 +47,11 @@ where 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 } + if val { + byte | mask + } else { + byte & !mask + } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { @@ -183,18 +187,18 @@ 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 15.17"; +pub const PACKAGE_STRING: &::core::ffi::CStr = c"PostgreSQL 15.18"; 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"15.17"; +pub const PACKAGE_VERSION: &::core::ffi::CStr = c"15.18"; pub const PG_KRB_SRVNAM: &::core::ffi::CStr = c"postgres"; pub const PG_MAJORVERSION: &::core::ffi::CStr = c"15"; pub const PG_MAJORVERSION_NUM: u32 = 15; -pub const PG_MINORVERSION_NUM: u32 = 17; +pub const PG_MINORVERSION_NUM: u32 = 18; pub const PG_USE_STDBOOL: u32 = 1; -pub const PG_VERSION: &::core::ffi::CStr = c"15.17"; -pub const PG_VERSION_NUM: u32 = 150017; -pub const PG_VERSION_STR : & :: core :: ffi :: CStr = c"PostgreSQL 15.17 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0, 64-bit" ; +pub const PG_VERSION: &::core::ffi::CStr = c"15.18"; +pub const PG_VERSION_NUM: u32 = 150018; +pub const PG_VERSION_STR : & :: core :: ffi :: CStr = c"PostgreSQL 15.18 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0, 64-bit" ; pub const RELSEG_SIZE: u32 = 131072; pub const SIZEOF_BOOL: u32 = 1; pub const SIZEOF_LONG: u32 = 8; @@ -253,7 +257,7 @@ 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) 15.17\n"; +pub const PG_BACKEND_VERSIONSTR: &::core::ffi::CStr = c"postgres (PostgreSQL) 15.18\n"; pub const EXE: &::core::ffi::CStr = c""; pub const DEVNULL: &::core::ffi::CStr = c"/dev/null"; pub const USE_REPL_SNPRINTF: u32 = 1; @@ -5825,7 +5829,8 @@ pub const RANGESTRAT_CONTAINED_BY: u32 = 8; pub const RANGESTRAT_CONTAINS_ELEM: u32 = 16; pub const RANGESTRAT_EQ: u32 = 18; pub type pg_int64 = ::core::ffi::c_long; -pub type va_list = __builtin_va_list; +pub type __gnuc_va_list = __builtin_va_list; +pub type __uint64_t = ::core::ffi::c_ulong; pub type __uid_t = ::core::ffi::c_uint; pub type __gid_t = ::core::ffi::c_uint; pub type __ino_t = ::core::ffi::c_ulong; @@ -5872,7 +5877,9 @@ pub struct _IO_FILE { pub _markers: *mut _IO_marker, pub _chain: *mut _IO_FILE, pub _fileno: ::core::ffi::c_int, - pub _flags2: ::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, @@ -5883,9 +5890,11 @@ pub struct _IO_FILE { pub _wide_data: *mut _IO_wide_data, pub _freeres_list: *mut _IO_FILE, pub _freeres_buf: *mut ::core::ffi::c_void, - pub __pad5: usize, + pub _prevchain: *mut *mut _IO_FILE, pub _mode: ::core::ffi::c_int, - pub _unused2: [::core::ffi::c_char; 20usize], + pub _unused3: ::core::ffi::c_int, + pub _total_written: __uint64_t, + pub _unused2: [::core::ffi::c_char; 8usize], } impl Default for _IO_FILE { fn default() -> Self { @@ -5896,6 +5905,51 @@ impl Default for _IO_FILE { } } } +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; @@ -17104,7 +17158,7 @@ pub mod TypeFuncClass { pub const TYPEFUNC_OTHER: Type = 4; } pub type sig_atomic_t = __sig_atomic_t; -pub mod _bindgen_ty_13 { +pub mod _bindgen_ty_14 { pub type Type = ::core::ffi::c_uint; pub const SIGEV_SIGNAL: Type = 0; pub const SIGEV_NONE: Type = 1; @@ -25649,6 +25703,8 @@ impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_31 { pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_32 { pub has_nulls: bool, pub inclause: bool, + pub null_lhs_result: bool, + pub null_lhs_isnull: bool, pub elements_tab: *mut ScalarArrayOpExprHashTable, pub finfo: *mut FmgrInfo, pub fcinfo_data: FunctionCallInfo, @@ -27526,7 +27582,7 @@ pub mod PLpgSQL_stmt_type { pub const PLPGSQL_STMT_COMMIT: Type = 25; pub const PLPGSQL_STMT_ROLLBACK: Type = 26; } -pub mod _bindgen_ty_25 { +pub mod _bindgen_ty_26 { pub type Type = ::core::ffi::c_uint; pub const PLPGSQL_RC_OK: Type = 0; pub const PLPGSQL_RC_EXIT: Type = 1; @@ -29873,6 +29929,36 @@ impl Default for WalSndCtlData { } } } +pub type replace_rte_variables_callback = ::core::option::Option< + unsafe extern "C-unwind" fn( + var: *mut Var, + context: *mut replace_rte_variables_context, + ) -> *mut Node, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct replace_rte_variables_context { + pub callback: replace_rte_variables_callback, + pub callback_arg: *mut ::core::ffi::c_void, + pub target_varno: ::core::ffi::c_int, + pub sublevels_up: ::core::ffi::c_int, + pub inserted_sublink: bool, +} +impl Default for replace_rte_variables_context { + 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 ReplaceVarsNoMatchOption { + pub type Type = ::core::ffi::c_uint; + pub const REPLACEVARS_REPORT_ERROR: Type = 0; + pub const REPLACEVARS_CHANGE_VARNO: Type = 1; + pub const REPLACEVARS_SUBSTITUTE_NULL: Type = 2; +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct RowSecurityPolicy { @@ -32195,6 +32281,7 @@ unsafe extern "C-unwind" { 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_safe_for_extraction(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, @@ -32341,16 +32428,6 @@ unsafe extern "C-unwind" { uid: *mut uid_t, gid: *mut gid_t, ) -> ::core::ffi::c_int; - pub fn strlcat( - dst: *mut ::core::ffi::c_char, - src: *const ::core::ffi::c_char, - siz: usize, - ) -> usize; - pub fn strlcpy( - dst: *mut ::core::ffi::c_char, - src: *const ::core::ffi::c_char, - siz: usize, - ) -> usize; pub fn pg_get_user_name( user_id: uid_t, buffer: *mut ::core::ffi::c_char, @@ -32361,6 +32438,11 @@ unsafe extern "C-unwind" { buffer: *mut ::core::ffi::c_char, buflen: usize, ) -> bool; + 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, @@ -32535,10 +32617,35 @@ unsafe extern "C-unwind" { 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 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 pfree(pointer: *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 palloc_mul(s1: Size, s2: Size) -> *mut ::core::ffi::c_void; + pub fn palloc0_mul(s1: Size, s2: Size) -> *mut ::core::ffi::c_void; + pub fn palloc_mul_extended( + s1: Size, + s2: Size, + flags: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void; + pub fn repalloc_mul( + p: *mut ::core::ffi::c_void, + s1: Size, + s2: Size, + ) -> *mut ::core::ffi::c_void; + pub fn repalloc_mul_extended( + p: *mut ::core::ffi::c_void, + s1: Size, + s2: Size, + flags: ::core::ffi::c_int, + ) -> *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; + -> *mut ::core::ffi::c_void; pub fn MemoryContextRegisterResetCallback( context: MemoryContext, cb: *mut MemoryContextCallback, @@ -32772,7 +32879,7 @@ unsafe extern "C-unwind" { pub fn HeapTupleGetUpdateXid(tuple: HeapTupleHeader) -> TransactionId; #[link_name = "FullTransactionIdFromEpochAndXid__pgrx_cshim"] pub fn FullTransactionIdFromEpochAndXid(epoch: uint32, xid: TransactionId) - -> FullTransactionId; + -> FullTransactionId; #[link_name = "FullTransactionIdFromU64__pgrx_cshim"] pub fn FullTransactionIdFromU64(value: uint64) -> FullTransactionId; #[link_name = "FullTransactionIdRetreat__pgrx_cshim"] @@ -32877,7 +32984,7 @@ unsafe extern "C-unwind" { bit: *mut bits8, ); pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) - -> bool; + -> bool; pub fn nocachegetattr(tup: HeapTuple, attnum: ::core::ffi::c_int, att: TupleDesc) -> Datum; pub fn heap_getsysattr( tup: HeapTuple, @@ -33081,7 +33188,7 @@ unsafe extern "C-unwind" { msg: *const ::core::ffi::c_char, ) -> *mut TupleConversionMap; pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) - -> *mut TupleConversionMap; + -> *mut TupleConversionMap; pub fn execute_attr_map_tuple(tuple: HeapTuple, map: *mut TupleConversionMap) -> HeapTuple; pub fn execute_attr_map_slot( attrMap: *mut AttrMap, @@ -33089,7 +33196,7 @@ unsafe extern "C-unwind" { out_slot: *mut TupleTableSlot, ) -> *mut TupleTableSlot; pub fn execute_attr_map_cols(attrMap: *mut AttrMap, inbitmap: *mut Bitmapset) - -> *mut Bitmapset; + -> *mut Bitmapset; pub fn free_conversion_map(map: *mut TupleConversionMap); pub static mut pgBufferUsage: BufferUsage; pub static mut pgWalUsage: WalUsage; @@ -33296,7 +33403,7 @@ unsafe extern "C-unwind" { 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; + -> Datum; pub fn OidFunctionCall3Coll( functionId: Oid, collation: Oid, @@ -33765,7 +33872,7 @@ unsafe extern "C-unwind" { pub fn tbm_end_iterate(iterator: *mut TBMIterator); pub fn tbm_end_shared_iterate(iterator: *mut TBMSharedIterator); pub fn tbm_attach_shared_iterate(dsa: *mut dsa_area, dp: dsa_pointer) - -> *mut TBMSharedIterator; + -> *mut TBMSharedIterator; pub fn tbm_calculate_entries(maxbytes: f64) -> ::core::ffi::c_long; #[link_name = "tas__pgrx_cshim"] pub fn tas(lock: *mut slock_t) -> ::core::ffi::c_int; @@ -33780,7 +33887,7 @@ unsafe extern "C-unwind" { ) -> ::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; + -> ::core::ffi::c_int; #[link_name = "init_spin_delay__pgrx_cshim"] pub fn init_spin_delay( status: *mut SpinDelayStatus, @@ -34489,7 +34596,7 @@ unsafe extern "C-unwind" { pub fn MemoryContextAllowInCriticalSection(context: MemoryContext, allow: bool); pub fn MemoryContextCheck(context: MemoryContext); pub fn MemoryContextContains(context: MemoryContext, pointer: *mut ::core::ffi::c_void) - -> bool; + -> bool; pub fn MemoryContextCreate( node: MemoryContext, tag: NodeTag, @@ -34695,7 +34802,7 @@ unsafe extern "C-unwind" { ) -> 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; + -> *mut ExecAuxRowMark; pub fn EvalPlanQual( epqstate: *mut EPQState, relation: Relation, @@ -35816,6 +35923,7 @@ unsafe extern "C-unwind" { pub fn GetRecoveryState() -> RecoveryState::Type; pub fn XLogInsertAllowed() -> bool; pub fn GetXLogInsertRecPtr() -> XLogRecPtr; + pub fn GetXLogInsertEndRecPtr() -> XLogRecPtr; pub fn GetXLogWriteRecPtr() -> XLogRecPtr; pub fn GetSystemIdentifier() -> uint64; pub fn GetMockAuthenticationNonce() -> *mut ::core::ffi::c_char; @@ -37155,7 +37263,7 @@ unsafe extern "C-unwind" { ); #[link_name = "table_scan_bitmap_next_block__pgrx_cshim"] pub fn table_scan_bitmap_next_block(scan: TableScanDesc, tbmres: *mut TBMIterateResult) - -> bool; + -> bool; #[link_name = "table_scan_bitmap_next_tuple__pgrx_cshim"] pub fn table_scan_bitmap_next_tuple( scan: TableScanDesc, @@ -37184,7 +37292,7 @@ unsafe extern "C-unwind" { ); pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) - -> Size; + -> Size; pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); pub fn table_block_parallelscan_nextpage( rel: Relation, @@ -37232,8 +37340,6 @@ unsafe extern "C-unwind" { 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 RequestAddinShmemSpace(size: Size); pub fn SHMQueueInit(queue: *mut SHM_QUEUE); pub fn SHMQueueElemInit(queue: *mut SHM_QUEUE); @@ -39340,7 +39446,7 @@ unsafe extern "C-unwind" { pub fn smgrDoPendingDeletes(isCommit: bool); pub fn smgrDoPendingSyncs(isCommit: bool, isParallelWorker: bool); pub fn smgrGetPendingDeletes(forCommit: bool, ptr: *mut *mut RelFileNode) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn AtSubCommit_smgr(); pub fn AtSubAbort_smgr(); pub fn PostPrepare_smgr(); @@ -39421,7 +39527,7 @@ unsafe extern "C-unwind" { 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; + -> 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 check_encoding_locale_matches( @@ -40902,7 +41008,7 @@ unsafe extern "C-unwind" { Nulls: *const ::core::ffi::c_char, ) -> HeapTuple; pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) - -> ::core::ffi::c_int; + -> ::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, @@ -40916,7 +41022,7 @@ unsafe extern "C-unwind" { isnull: *mut bool, ) -> Datum; pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) - -> *mut ::core::ffi::c_char; + -> *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; @@ -41077,7 +41183,7 @@ unsafe extern "C-unwind" { ) -> *mut ::core::ffi::c_uchar; pub fn utf8_to_unicode(c: *const ::core::ffi::c_uchar) -> pg_wchar; pub fn pg_utf8_islegal(source: *const ::core::ffi::c_uchar, length: ::core::ffi::c_int) - -> bool; + -> bool; pub fn pg_utf_mblen(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; @@ -41204,7 +41310,7 @@ unsafe extern "C-unwind" { 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; + -> ::core::ffi::c_ushort; pub fn UtfToLocal( utf: *const ::core::ffi::c_uchar, len: ::core::ffi::c_int, @@ -42119,7 +42225,7 @@ unsafe extern "C-unwind" { 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 locate_var_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::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(query: *mut Query, node: *mut Node) -> *mut Node; pub fn compare_path_costs( @@ -42344,7 +42450,7 @@ unsafe extern "C-unwind" { inner_paramrels: Relids, ) -> Relids; pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) - -> Relids; + -> Relids; pub fn create_nestloop_path( root: *mut PlannerInfo, joinrel: *mut RelOptInfo, @@ -42595,7 +42701,7 @@ unsafe extern "C-unwind" { required_outer: Relids, ) -> *mut ParamPathInfo; pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) - -> *mut ParamPathInfo; + -> *mut ParamPathInfo; pub fn build_child_join_rel( root: *mut PlannerInfo, outer_rel: *mut RelOptInfo, @@ -43104,7 +43210,7 @@ unsafe extern "C-unwind" { otherquals: *mut *mut List, ); pub fn has_pseudoconstant_clauses(root: *mut PlannerInfo, restrictinfo_list: *mut List) - -> bool; + -> bool; pub fn join_clause_is_movable_to(rinfo: *mut RestrictInfo, baserel: *mut RelOptInfo) -> bool; pub fn join_clause_is_movable_into( rinfo: *mut RestrictInfo, @@ -43202,14 +43308,14 @@ unsafe extern "C-unwind" { pushedDown: bool, ); pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) - -> *mut List; + -> *mut List; pub fn makeSortGroupClauseForSetOp(rescoltype: Oid, require_hash: bool) - -> *mut SortGroupClause; + -> *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; + -> Oid; pub static mut Transform_null_equals: bool; pub fn transformExpr( pstate: *mut ParseState, @@ -43836,7 +43942,7 @@ unsafe extern "C-unwind" { ) -> ::core::ffi::c_int; pub fn RelationGetPartitionDesc(rel: Relation, omit_detached: bool) -> PartitionDesc; pub fn CreatePartitionDirectory(mcxt: MemoryContext, omit_detached: bool) - -> PartitionDirectory; + -> PartitionDirectory; pub fn PartitionDirectoryLookup(arg1: PartitionDirectory, arg2: Relation) -> PartitionDesc; pub fn DestroyPartitionDirectory(pdir: PartitionDirectory); pub fn get_default_oid_from_partdesc(partdesc: PartitionDesc) -> Oid; @@ -44069,7 +44175,7 @@ unsafe extern "C-unwind" { 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; + -> *const ::core::ffi::c_char; pub fn plpgsql_free_function_memory(func: *mut PLpgSQL_function); pub fn plpgsql_dumptree(func: *mut PLpgSQL_function); pub fn plpgsql_base_yylex() -> ::core::ffi::c_int; @@ -44425,7 +44531,7 @@ unsafe extern "C-unwind" { pub fn logicalrep_read_typ(out: 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; + -> TransactionId; pub fn logicalrep_write_stream_stop(out: StringInfo); pub fn logicalrep_write_stream_commit( out: StringInfo, @@ -44646,6 +44752,74 @@ unsafe extern "C-unwind" { include_triggers: bool, include_cols: *mut Bitmapset, ) -> ::core::ffi::c_int; + pub fn OffsetVarNodes( + node: *mut Node, + offset: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ); + pub fn ChangeVarNodes( + node: *mut Node, + old_varno: ::core::ffi::c_int, + new_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ); + pub fn IncrementVarSublevelsUp( + node: *mut Node, + delta_sublevels_up: ::core::ffi::c_int, + min_sublevels_up: ::core::ffi::c_int, + ); + pub fn IncrementVarSublevelsUp_rtable( + rtable: *mut List, + delta_sublevels_up: ::core::ffi::c_int, + min_sublevels_up: ::core::ffi::c_int, + ); + pub fn rangeTableEntry_used( + node: *mut Node, + rt_index: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ) -> bool; + pub fn getInsertSelectQuery( + parsetree: *mut Query, + subquery_ptr: *mut *mut *mut Query, + ) -> *mut Query; + pub fn AddQual(parsetree: *mut Query, qual: *mut Node); + pub fn AddInvertedQual(parsetree: *mut Query, qual: *mut Node); + pub fn contain_aggs_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; + pub fn locate_agg_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) + -> ::core::ffi::c_int; + pub fn contain_windowfuncs(node: *mut Node) -> bool; + pub fn locate_windowfunc(node: *mut Node) -> ::core::ffi::c_int; + pub fn checkExprHasSubLink(node: *mut Node) -> bool; + pub fn replace_rte_variables( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + callback: replace_rte_variables_callback, + callback_arg: *mut ::core::ffi::c_void, + outer_hasSubLinks: *mut bool, + ) -> *mut Node; + pub fn replace_rte_variables_mutator( + node: *mut Node, + context: *mut replace_rte_variables_context, + ) -> *mut Node; + pub fn map_variable_attnos( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + attno_map: *const AttrMap, + to_rowtype: Oid, + found_whole_row: *mut bool, + ) -> *mut Node; + pub fn ReplaceVarsFromTargetList( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + target_rte: *mut RangeTblEntry, + targetlist: *mut List, + nomatch_option: ReplaceVarsNoMatchOption::Type, + nomatch_varno: ::core::ffi::c_int, + outer_hasSubLinks: *mut bool, + ) -> *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( @@ -48656,7 +48830,7 @@ unsafe extern "C-unwind" { 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; + -> bool; pub fn get_op_hash_functions( opno: Oid, lhs_procno: *mut RegProcedure, @@ -48665,6 +48839,7 @@ unsafe extern "C-unwind" { pub fn get_op_btree_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 collations_agree_on_equality(coll1: Oid, coll2: Oid) -> bool; pub fn get_opfamily_proc(opfamily: Oid, lefttype: Oid, righttype: Oid, procnum: int16) -> Oid; pub fn get_attname( relid: Oid, @@ -48813,7 +48988,7 @@ unsafe extern "C-unwind" { pub fn set_ps_display(activity: *const ::core::ffi::c_char); pub fn get_ps_display(displen: *mut ::core::ffi::c_int) -> *const ::core::ffi::c_char; pub fn format_procedure_extended(procedure_oid: Oid, flags: bits16) - -> *mut ::core::ffi::c_char; + -> *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) -> *mut List; pub fn format_procedure(procedure_oid: Oid) -> *mut ::core::ffi::c_char; diff --git a/pgrx-pg-sys/src/include/pg16.rs b/pgrx-pg-sys/src/include/pg16.rs index 9f43ae703..cecda58ab 100644 --- a/pgrx-pg-sys/src/include/pg16.rs +++ b/pgrx-pg-sys/src/include/pg16.rs @@ -47,7 +47,11 @@ where 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 } + if val { + byte | mask + } else { + byte & !mask + } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { @@ -183,18 +187,18 @@ 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 16.13"; +pub const PACKAGE_STRING: &::core::ffi::CStr = c"PostgreSQL 16.14"; 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"16.13"; +pub const PACKAGE_VERSION: &::core::ffi::CStr = c"16.14"; pub const PG_KRB_SRVNAM: &::core::ffi::CStr = c"postgres"; pub const PG_MAJORVERSION: &::core::ffi::CStr = c"16"; pub const PG_MAJORVERSION_NUM: u32 = 16; -pub const PG_MINORVERSION_NUM: u32 = 13; +pub const PG_MINORVERSION_NUM: u32 = 14; pub const PG_USE_STDBOOL: u32 = 1; -pub const PG_VERSION: &::core::ffi::CStr = c"16.13"; -pub const PG_VERSION_NUM: u32 = 160013; -pub const PG_VERSION_STR : & :: core :: ffi :: CStr = c"PostgreSQL 16.13 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0, 64-bit" ; +pub const PG_VERSION: &::core::ffi::CStr = c"16.14"; +pub const PG_VERSION_NUM: u32 = 160014; +pub const PG_VERSION_STR : & :: core :: ffi :: CStr = c"PostgreSQL 16.14 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0, 64-bit" ; pub const RELSEG_SIZE: u32 = 131072; pub const SIZEOF_BOOL: u32 = 1; pub const SIZEOF_LONG: u32 = 8; @@ -254,7 +258,7 @@ 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) 16.13\n"; +pub const PG_BACKEND_VERSIONSTR: &::core::ffi::CStr = c"postgres (PostgreSQL) 16.14\n"; pub const EXE: &::core::ffi::CStr = c""; pub const DEVNULL: &::core::ffi::CStr = c"/dev/null"; pub const USE_REPL_SNPRINTF: u32 = 1; @@ -5902,7 +5906,8 @@ pub const RANGESTRAT_CONTAINED_BY: u32 = 8; pub const RANGESTRAT_CONTAINS_ELEM: u32 = 16; pub const RANGESTRAT_EQ: u32 = 18; pub type pg_int64 = ::core::ffi::c_long; -pub type va_list = __builtin_va_list; +pub type __gnuc_va_list = __builtin_va_list; +pub type __uint64_t = ::core::ffi::c_ulong; pub type __uid_t = ::core::ffi::c_uint; pub type __gid_t = ::core::ffi::c_uint; pub type __ino_t = ::core::ffi::c_ulong; @@ -5947,7 +5952,9 @@ pub struct _IO_FILE { pub _markers: *mut _IO_marker, pub _chain: *mut _IO_FILE, pub _fileno: ::core::ffi::c_int, - pub _flags2: ::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, @@ -5958,9 +5965,11 @@ pub struct _IO_FILE { pub _wide_data: *mut _IO_wide_data, pub _freeres_list: *mut _IO_FILE, pub _freeres_buf: *mut ::core::ffi::c_void, - pub __pad5: usize, + pub _prevchain: *mut *mut _IO_FILE, pub _mode: ::core::ffi::c_int, - pub _unused2: [::core::ffi::c_char; 20usize], + pub _unused3: ::core::ffi::c_int, + pub _total_written: __uint64_t, + pub _unused2: [::core::ffi::c_char; 8usize], } impl Default for _IO_FILE { fn default() -> Self { @@ -5971,6 +5980,51 @@ impl Default for _IO_FILE { } } } +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; @@ -17590,7 +17644,7 @@ pub mod TypeFuncClass { pub const TYPEFUNC_OTHER: Type = 4; } pub type sig_atomic_t = __sig_atomic_t; -pub mod _bindgen_ty_13 { +pub mod _bindgen_ty_14 { pub type Type = ::core::ffi::c_uint; pub const SIGEV_SIGNAL: Type = 0; pub const SIGEV_NONE: Type = 1; @@ -26340,6 +26394,8 @@ impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_31 { pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_32 { pub has_nulls: bool, pub inclause: bool, + pub null_lhs_result: bool, + pub null_lhs_isnull: bool, pub elements_tab: *mut ScalarArrayOpExprHashTable, pub finfo: *mut FmgrInfo, pub fcinfo_data: FunctionCallInfo, @@ -28344,7 +28400,7 @@ pub mod PLpgSQL_stmt_type { pub const PLPGSQL_STMT_COMMIT: Type = 25; pub const PLPGSQL_STMT_ROLLBACK: Type = 26; } -pub mod _bindgen_ty_25 { +pub mod _bindgen_ty_26 { pub type Type = ::core::ffi::c_uint; pub const PLPGSQL_RC_OK: Type = 0; pub const PLPGSQL_RC_EXIT: Type = 1; @@ -30737,6 +30793,36 @@ impl Default for WalSndCtlData { } } } +pub type replace_rte_variables_callback = ::core::option::Option< + unsafe extern "C-unwind" fn( + var: *mut Var, + context: *mut replace_rte_variables_context, + ) -> *mut Node, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct replace_rte_variables_context { + pub callback: replace_rte_variables_callback, + pub callback_arg: *mut ::core::ffi::c_void, + pub target_varno: ::core::ffi::c_int, + pub sublevels_up: ::core::ffi::c_int, + pub inserted_sublink: bool, +} +impl Default for replace_rte_variables_context { + 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 ReplaceVarsNoMatchOption { + pub type Type = ::core::ffi::c_uint; + pub const REPLACEVARS_REPORT_ERROR: Type = 0; + pub const REPLACEVARS_CHANGE_VARNO: Type = 1; + pub const REPLACEVARS_SUBSTITUTE_NULL: Type = 2; +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct RowSecurityPolicy { @@ -33103,6 +33189,7 @@ unsafe extern "C-unwind" { 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_safe_for_extraction(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, @@ -33248,16 +33335,6 @@ unsafe extern "C-unwind" { uid: *mut uid_t, gid: *mut gid_t, ) -> ::core::ffi::c_int; - pub fn strlcat( - dst: *mut ::core::ffi::c_char, - src: *const ::core::ffi::c_char, - siz: usize, - ) -> usize; - pub fn strlcpy( - dst: *mut ::core::ffi::c_char, - src: *const ::core::ffi::c_char, - siz: usize, - ) -> usize; pub fn pg_get_user_name( user_id: uid_t, buffer: *mut ::core::ffi::c_char, @@ -33268,6 +33345,11 @@ unsafe extern "C-unwind" { buffer: *mut ::core::ffi::c_char, buflen: usize, ) -> bool; + 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, @@ -33500,9 +33582,29 @@ unsafe extern "C-unwind" { size: Size, ) -> *mut ::core::ffi::c_void; pub fn pfree(pointer: *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 palloc_mul(s1: Size, s2: Size) -> *mut ::core::ffi::c_void; + pub fn palloc0_mul(s1: Size, s2: Size) -> *mut ::core::ffi::c_void; + pub fn palloc_mul_extended( + s1: Size, + s2: Size, + flags: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void; + pub fn repalloc_mul( + p: *mut ::core::ffi::c_void, + s1: Size, + s2: Size, + ) -> *mut ::core::ffi::c_void; + pub fn repalloc_mul_extended( + p: *mut ::core::ffi::c_void, + s1: Size, + s2: Size, + flags: ::core::ffi::c_int, + ) -> *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; + -> *mut ::core::ffi::c_void; pub fn MemoryContextRegisterResetCallback( context: MemoryContext, cb: *mut MemoryContextCallback, @@ -33850,7 +33952,7 @@ unsafe extern "C-unwind" { pub fn HeapTupleGetUpdateXid(tuple: HeapTupleHeader) -> TransactionId; #[link_name = "FullTransactionIdFromEpochAndXid__pgrx_cshim"] pub fn FullTransactionIdFromEpochAndXid(epoch: uint32, xid: TransactionId) - -> FullTransactionId; + -> FullTransactionId; #[link_name = "FullTransactionIdFromU64__pgrx_cshim"] pub fn FullTransactionIdFromU64(value: uint64) -> FullTransactionId; #[link_name = "FullTransactionIdRetreat__pgrx_cshim"] @@ -34015,7 +34117,7 @@ unsafe extern "C-unwind" { bit: *mut bits8, ); pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) - -> bool; + -> bool; pub fn nocachegetattr( tup: HeapTuple, attnum: ::core::ffi::c_int, @@ -34221,7 +34323,7 @@ unsafe extern "C-unwind" { msg: *const ::core::ffi::c_char, ) -> *mut TupleConversionMap; pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) - -> *mut TupleConversionMap; + -> *mut TupleConversionMap; pub fn convert_tuples_by_name_attrmap( indesc: TupleDesc, outdesc: TupleDesc, @@ -34444,7 +34546,7 @@ unsafe extern "C-unwind" { 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; + -> Datum; pub fn OidFunctionCall3Coll( functionId: Oid, collation: Oid, @@ -34978,7 +35080,7 @@ unsafe extern "C-unwind" { pub fn tbm_end_iterate(iterator: *mut TBMIterator); pub fn tbm_end_shared_iterate(iterator: *mut TBMSharedIterator); pub fn tbm_attach_shared_iterate(dsa: *mut dsa_area, dp: dsa_pointer) - -> *mut TBMSharedIterator; + -> *mut TBMSharedIterator; pub fn tbm_calculate_entries(maxbytes: f64) -> ::core::ffi::c_long; #[link_name = "tas__pgrx_cshim"] pub fn tas(lock: *mut slock_t) -> ::core::ffi::c_int; @@ -34993,7 +35095,7 @@ unsafe extern "C-unwind" { ) -> ::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; + -> ::core::ffi::c_int; #[link_name = "init_spin_delay__pgrx_cshim"] pub fn init_spin_delay( status: *mut SpinDelayStatus, @@ -35978,7 +36080,7 @@ unsafe extern "C-unwind" { ) -> 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; + -> *mut ExecAuxRowMark; pub fn EvalPlanQual( epqstate: *mut EPQState, relation: Relation, @@ -37037,6 +37139,7 @@ unsafe extern "C-unwind" { pub fn GetRecoveryState() -> RecoveryState::Type; pub fn XLogInsertAllowed() -> bool; pub fn GetXLogInsertRecPtr() -> XLogRecPtr; + pub fn GetXLogInsertEndRecPtr() -> XLogRecPtr; pub fn GetXLogWriteRecPtr() -> XLogRecPtr; pub fn GetSystemIdentifier() -> uint64; pub fn GetMockAuthenticationNonce() -> *mut ::core::ffi::c_char; @@ -38003,7 +38106,7 @@ unsafe extern "C-unwind" { ); #[link_name = "table_scan_bitmap_next_block__pgrx_cshim"] pub fn table_scan_bitmap_next_block(scan: TableScanDesc, tbmres: *mut TBMIterateResult) - -> bool; + -> bool; #[link_name = "table_scan_bitmap_next_tuple__pgrx_cshim"] pub fn table_scan_bitmap_next_tuple( scan: TableScanDesc, @@ -38032,7 +38135,7 @@ unsafe extern "C-unwind" { ); pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) - -> Size; + -> Size; pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); pub fn table_block_parallelscan_nextpage( rel: Relation, @@ -38075,8 +38178,6 @@ unsafe extern "C-unwind" { 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 RequestAddinShmemSpace(size: Size); pub fn shm_toc_create( magic: uint64, @@ -40179,7 +40280,7 @@ unsafe extern "C-unwind" { 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; + -> 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; @@ -42213,7 +42314,7 @@ unsafe extern "C-unwind" { Nulls: *const ::core::ffi::c_char, ) -> HeapTuple; pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) - -> ::core::ffi::c_int; + -> ::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, @@ -42227,7 +42328,7 @@ unsafe extern "C-unwind" { isnull: *mut bool, ) -> Datum; pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) - -> *mut ::core::ffi::c_char; + -> *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; @@ -42388,7 +42489,7 @@ unsafe extern "C-unwind" { ) -> *mut ::core::ffi::c_uchar; pub fn utf8_to_unicode(c: *const ::core::ffi::c_uchar) -> pg_wchar; pub fn pg_utf8_islegal(source: *const ::core::ffi::c_uchar, length: ::core::ffi::c_int) - -> bool; + -> bool; pub fn pg_utf_mblen(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; @@ -42516,7 +42617,7 @@ unsafe extern "C-unwind" { 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; + -> ::core::ffi::c_ushort; pub fn UtfToLocal( utf: *const ::core::ffi::c_uchar, len: ::core::ffi::c_int, @@ -43492,7 +43593,7 @@ unsafe extern "C-unwind" { 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 locate_var_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::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, @@ -43722,7 +43823,7 @@ unsafe extern "C-unwind" { inner_paramrels: Relids, ) -> Relids; pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) - -> Relids; + -> Relids; pub fn create_nestloop_path( root: *mut PlannerInfo, joinrel: *mut RelOptInfo, @@ -43977,7 +44078,7 @@ unsafe extern "C-unwind" { required_outer: Relids, ) -> *mut ParamPathInfo; pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) - -> *mut ParamPathInfo; + -> *mut ParamPathInfo; pub fn get_param_path_clause_serials(path: *mut Path) -> *mut Bitmapset; pub fn build_child_join_rel( root: *mut PlannerInfo, @@ -44492,7 +44593,7 @@ unsafe extern "C-unwind" { otherquals: *mut *mut List, ); pub fn has_pseudoconstant_clauses(root: *mut PlannerInfo, restrictinfo_list: *mut List) - -> bool; + -> bool; pub fn join_clause_is_movable_to(rinfo: *mut RestrictInfo, baserel: *mut RelOptInfo) -> bool; pub fn join_clause_is_movable_into( rinfo: *mut RestrictInfo, @@ -44587,14 +44688,14 @@ unsafe extern "C-unwind" { pushedDown: bool, ); pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) - -> *mut List; + -> *mut List; pub fn makeSortGroupClauseForSetOp(rescoltype: Oid, require_hash: bool) - -> *mut SortGroupClause; + -> *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; + -> Oid; pub static mut Transform_null_equals: bool; pub fn transformExpr( pstate: *mut ParseState, @@ -45235,7 +45336,7 @@ unsafe extern "C-unwind" { ) -> ::core::ffi::c_int; pub fn RelationGetPartitionDesc(rel: Relation, omit_detached: bool) -> PartitionDesc; pub fn CreatePartitionDirectory(mcxt: MemoryContext, omit_detached: bool) - -> PartitionDirectory; + -> PartitionDirectory; pub fn PartitionDirectoryLookup(arg1: PartitionDirectory, arg2: Relation) -> PartitionDesc; pub fn DestroyPartitionDirectory(pdir: PartitionDirectory); pub fn get_default_oid_from_partdesc(partdesc: PartitionDesc) -> Oid; @@ -45471,7 +45572,7 @@ unsafe extern "C-unwind" { 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; + -> *const ::core::ffi::c_char; pub fn plpgsql_free_function_memory(func: *mut PLpgSQL_function); pub fn plpgsql_dumptree(func: *mut PLpgSQL_function); pub fn plpgsql_base_yylex() -> ::core::ffi::c_int; @@ -45835,7 +45936,7 @@ unsafe extern "C-unwind" { 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; + -> TransactionId; pub fn logicalrep_write_stream_stop(out: StringInfo); pub fn logicalrep_write_stream_commit( out: StringInfo, @@ -46063,6 +46164,90 @@ unsafe extern "C-unwind" { include_triggers: bool, include_cols: *mut Bitmapset, ) -> ::core::ffi::c_int; + pub fn CombineRangeTables( + dst_rtable: *mut *mut List, + dst_perminfos: *mut *mut List, + src_rtable: *mut List, + src_perminfos: *mut List, + ); + pub fn OffsetVarNodes( + node: *mut Node, + offset: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ); + pub fn ChangeVarNodes( + node: *mut Node, + rt_index: ::core::ffi::c_int, + new_index: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ); + pub fn IncrementVarSublevelsUp( + node: *mut Node, + delta_sublevels_up: ::core::ffi::c_int, + min_sublevels_up: ::core::ffi::c_int, + ); + pub fn IncrementVarSublevelsUp_rtable( + rtable: *mut List, + delta_sublevels_up: ::core::ffi::c_int, + min_sublevels_up: ::core::ffi::c_int, + ); + pub fn rangeTableEntry_used( + node: *mut Node, + rt_index: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ) -> bool; + pub fn getInsertSelectQuery( + parsetree: *mut Query, + subquery_ptr: *mut *mut *mut Query, + ) -> *mut Query; + pub fn AddQual(parsetree: *mut Query, qual: *mut Node); + pub fn AddInvertedQual(parsetree: *mut Query, qual: *mut Node); + pub fn contain_aggs_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; + pub fn locate_agg_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) + -> ::core::ffi::c_int; + pub fn contain_windowfuncs(node: *mut Node) -> bool; + pub fn locate_windowfunc(node: *mut Node) -> ::core::ffi::c_int; + pub fn checkExprHasSubLink(node: *mut Node) -> bool; + pub fn add_nulling_relids( + node: *mut Node, + target_relids: *const Bitmapset, + added_relids: *const Bitmapset, + ) -> *mut Node; + pub fn remove_nulling_relids( + node: *mut Node, + removable_relids: *const Bitmapset, + except_relids: *const Bitmapset, + ) -> *mut Node; + pub fn replace_rte_variables( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + callback: replace_rte_variables_callback, + callback_arg: *mut ::core::ffi::c_void, + outer_hasSubLinks: *mut bool, + ) -> *mut Node; + pub fn replace_rte_variables_mutator( + node: *mut Node, + context: *mut replace_rte_variables_context, + ) -> *mut Node; + pub fn map_variable_attnos( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + attno_map: *const AttrMap, + to_rowtype: Oid, + found_whole_row: *mut bool, + ) -> *mut Node; + pub fn ReplaceVarsFromTargetList( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + target_rte: *mut RangeTblEntry, + targetlist: *mut List, + nomatch_option: ReplaceVarsNoMatchOption::Type, + nomatch_varno: ::core::ffi::c_int, + outer_hasSubLinks: *mut bool, + ) -> *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( @@ -50350,7 +50535,7 @@ unsafe extern "C-unwind" { 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; + -> bool; pub fn get_op_hash_functions( opno: Oid, lhs_procno: *mut RegProcedure, @@ -50359,6 +50544,7 @@ unsafe extern "C-unwind" { pub fn get_op_btree_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 collations_agree_on_equality(coll1: Oid, coll2: Oid) -> bool; pub fn get_opfamily_proc(opfamily: Oid, lefttype: Oid, righttype: Oid, procnum: int16) -> Oid; pub fn get_attname( relid: Oid, @@ -50515,7 +50701,7 @@ unsafe extern "C-unwind" { pub fn set_ps_display(activity: *const ::core::ffi::c_char); pub fn get_ps_display(displen: *mut ::core::ffi::c_int) -> *const ::core::ffi::c_char; pub fn format_procedure_extended(procedure_oid: Oid, flags: bits16) - -> *mut ::core::ffi::c_char; + -> *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, diff --git a/pgrx-pg-sys/src/include/pg17.rs b/pgrx-pg-sys/src/include/pg17.rs index b002513f5..c28b9911a 100644 --- a/pgrx-pg-sys/src/include/pg17.rs +++ b/pgrx-pg-sys/src/include/pg17.rs @@ -47,7 +47,11 @@ where 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 } + if val { + byte | mask + } else { + byte & !mask + } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { @@ -182,18 +186,18 @@ 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 17.9"; +pub const PACKAGE_STRING: &::core::ffi::CStr = c"PostgreSQL 17.10"; 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"17.9"; +pub const PACKAGE_VERSION: &::core::ffi::CStr = c"17.10"; pub const PG_KRB_SRVNAM: &::core::ffi::CStr = c"postgres"; pub const PG_MAJORVERSION: &::core::ffi::CStr = c"17"; pub const PG_MAJORVERSION_NUM: u32 = 17; -pub const PG_MINORVERSION_NUM: u32 = 9; +pub const PG_MINORVERSION_NUM: u32 = 10; pub const PG_USE_STDBOOL: u32 = 1; -pub const PG_VERSION: &::core::ffi::CStr = c"17.9"; -pub const PG_VERSION_NUM: u32 = 170009; -pub const PG_VERSION_STR : & :: core :: ffi :: CStr = c"PostgreSQL 17.9 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0, 64-bit" ; +pub const PG_VERSION: &::core::ffi::CStr = c"17.10"; +pub const PG_VERSION_NUM: u32 = 170010; +pub const PG_VERSION_STR : & :: core :: ffi :: CStr = c"PostgreSQL 17.10 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0, 64-bit" ; pub const RELSEG_SIZE: u32 = 131072; pub const SIZEOF_BOOL: u32 = 1; pub const SIZEOF_LONG: u32 = 8; @@ -254,7 +258,7 @@ 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) 17.9\n"; +pub const PG_BACKEND_VERSIONSTR: &::core::ffi::CStr = c"postgres (PostgreSQL) 17.10\n"; pub const EXE: &::core::ffi::CStr = c""; pub const DEVNULL: &::core::ffi::CStr = c"/dev/null"; pub const USE_REPL_SNPRINTF: u32 = 1; @@ -6021,7 +6025,8 @@ pub const RANGESTRAT_CONTAINED_BY: u32 = 8; pub const RANGESTRAT_CONTAINS_ELEM: u32 = 16; pub const RANGESTRAT_EQ: u32 = 18; pub type pg_int64 = ::core::ffi::c_long; -pub type va_list = __builtin_va_list; +pub type __gnuc_va_list = __builtin_va_list; +pub type __uint64_t = ::core::ffi::c_ulong; pub type __uid_t = ::core::ffi::c_uint; pub type __gid_t = ::core::ffi::c_uint; pub type __ino_t = ::core::ffi::c_ulong; @@ -6066,7 +6071,9 @@ pub struct _IO_FILE { pub _markers: *mut _IO_marker, pub _chain: *mut _IO_FILE, pub _fileno: ::core::ffi::c_int, - pub _flags2: ::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, @@ -6077,9 +6084,11 @@ pub struct _IO_FILE { pub _wide_data: *mut _IO_wide_data, pub _freeres_list: *mut _IO_FILE, pub _freeres_buf: *mut ::core::ffi::c_void, - pub __pad5: usize, + pub _prevchain: *mut *mut _IO_FILE, pub _mode: ::core::ffi::c_int, - pub _unused2: [::core::ffi::c_char; 20usize], + pub _unused3: ::core::ffi::c_int, + pub _total_written: __uint64_t, + pub _unused2: [::core::ffi::c_char; 8usize], } impl Default for _IO_FILE { fn default() -> Self { @@ -6090,6 +6099,51 @@ impl Default for _IO_FILE { } } } +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; @@ -18675,7 +18729,7 @@ pub mod TypeFuncClass { pub const TYPEFUNC_OTHER: Type = 4; } pub type sig_atomic_t = __sig_atomic_t; -pub mod _bindgen_ty_16 { +pub mod _bindgen_ty_17 { pub type Type = ::core::ffi::c_uint; pub const SIGEV_SIGNAL: Type = 0; pub const SIGEV_NONE: Type = 1; @@ -27281,6 +27335,8 @@ impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_31 { pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_32 { pub has_nulls: bool, pub inclause: bool, + pub null_lhs_result: bool, + pub null_lhs_isnull: bool, pub elements_tab: *mut ScalarArrayOpExprHashTable, pub finfo: *mut FmgrInfo, pub fcinfo_data: FunctionCallInfo, @@ -29223,7 +29279,7 @@ pub mod PLpgSQL_stmt_type { pub const PLPGSQL_STMT_COMMIT: Type = 25; pub const PLPGSQL_STMT_ROLLBACK: Type = 26; } -pub mod _bindgen_ty_25 { +pub mod _bindgen_ty_26 { pub type Type = ::core::ffi::c_uint; pub const PLPGSQL_RC_OK: Type = 0; pub const PLPGSQL_RC_EXIT: Type = 1; @@ -31626,6 +31682,36 @@ impl Default for WalSndCtlData { } } } +pub type replace_rte_variables_callback = ::core::option::Option< + unsafe extern "C-unwind" fn( + var: *mut Var, + context: *mut replace_rte_variables_context, + ) -> *mut Node, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct replace_rte_variables_context { + pub callback: replace_rte_variables_callback, + pub callback_arg: *mut ::core::ffi::c_void, + pub target_varno: ::core::ffi::c_int, + pub sublevels_up: ::core::ffi::c_int, + pub inserted_sublink: bool, +} +impl Default for replace_rte_variables_context { + 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 ReplaceVarsNoMatchOption { + pub type Type = ::core::ffi::c_uint; + pub const REPLACEVARS_REPORT_ERROR: Type = 0; + pub const REPLACEVARS_CHANGE_VARNO: Type = 1; + pub const REPLACEVARS_SUBSTITUTE_NULL: Type = 2; +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct RowSecurityPolicy { @@ -31896,7 +31982,8 @@ pub mod ProcSignalReason { pub const PROCSIG_RECOVERY_CONFLICT_BUFFERPIN: Type = 12; pub const PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK: Type = 13; pub const PROCSIG_RECOVERY_CONFLICT_LAST: Type = 13; - pub const NUM_PROCSIGNALS: Type = 14; + pub const PROCSIG_SLOTSYNC_MESSAGE: Type = 14; + pub const NUM_PROCSIGNALS: Type = 15; } pub mod ProcSignalBarrierType { pub type Type = ::core::ffi::c_uint; @@ -33990,6 +34077,7 @@ unsafe extern "C-unwind" { 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_safe_for_extraction(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, @@ -34131,16 +34219,6 @@ unsafe extern "C-unwind" { uid: *mut uid_t, gid: *mut gid_t, ) -> ::core::ffi::c_int; - pub fn strlcat( - dst: *mut ::core::ffi::c_char, - src: *const ::core::ffi::c_char, - siz: usize, - ) -> usize; - pub fn strlcpy( - dst: *mut ::core::ffi::c_char, - src: *const ::core::ffi::c_char, - siz: usize, - ) -> usize; pub fn pg_get_user_name( user_id: uid_t, buffer: *mut ::core::ffi::c_char, @@ -34151,6 +34229,11 @@ unsafe extern "C-unwind" { buffer: *mut ::core::ffi::c_char, buflen: usize, ) -> bool; + 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, @@ -34391,9 +34474,29 @@ unsafe extern "C-unwind" { size: Size, ) -> *mut ::core::ffi::c_void; pub fn pfree(pointer: *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 palloc_mul(s1: Size, s2: Size) -> *mut ::core::ffi::c_void; + pub fn palloc0_mul(s1: Size, s2: Size) -> *mut ::core::ffi::c_void; + pub fn palloc_mul_extended( + s1: Size, + s2: Size, + flags: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void; + pub fn repalloc_mul( + p: *mut ::core::ffi::c_void, + s1: Size, + s2: Size, + ) -> *mut ::core::ffi::c_void; + pub fn repalloc_mul_extended( + p: *mut ::core::ffi::c_void, + s1: Size, + s2: Size, + flags: ::core::ffi::c_int, + ) -> *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; + -> *mut ::core::ffi::c_void; pub fn MemoryContextRegisterResetCallback( context: MemoryContext, cb: *mut MemoryContextCallback, @@ -34745,7 +34848,7 @@ unsafe extern "C-unwind" { pub fn HeapTupleGetUpdateXid(tuple: HeapTupleHeader) -> TransactionId; #[link_name = "FullTransactionIdFromEpochAndXid__pgrx_cshim"] pub fn FullTransactionIdFromEpochAndXid(epoch: uint32, xid: TransactionId) - -> FullTransactionId; + -> FullTransactionId; #[link_name = "FullTransactionIdFromU64__pgrx_cshim"] pub fn FullTransactionIdFromU64(value: uint64) -> FullTransactionId; #[link_name = "FullTransactionIdRetreat__pgrx_cshim"] @@ -34917,7 +35020,7 @@ unsafe extern "C-unwind" { bit: *mut bits8, ); pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) - -> bool; + -> bool; pub fn nocachegetattr( tup: HeapTuple, attnum: ::core::ffi::c_int, @@ -35126,7 +35229,7 @@ unsafe extern "C-unwind" { msg: *const ::core::ffi::c_char, ) -> *mut TupleConversionMap; pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) - -> *mut TupleConversionMap; + -> *mut TupleConversionMap; pub fn convert_tuples_by_name_attrmap( indesc: TupleDesc, outdesc: TupleDesc, @@ -35349,7 +35452,7 @@ unsafe extern "C-unwind" { 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; + -> Datum; pub fn OidFunctionCall3Coll( functionId: Oid, collation: Oid, @@ -35903,7 +36006,7 @@ unsafe extern "C-unwind" { pub fn tbm_end_iterate(iterator: *mut TBMIterator); pub fn tbm_end_shared_iterate(iterator: *mut TBMSharedIterator); pub fn tbm_attach_shared_iterate(dsa: *mut dsa_area, dp: dsa_pointer) - -> *mut TBMSharedIterator; + -> *mut TBMSharedIterator; pub fn tbm_calculate_entries(maxbytes: f64) -> ::core::ffi::c_long; pub static mut MyProcNumber: ProcNumber; pub static mut ParallelLeaderProcNumber: ProcNumber; @@ -35919,7 +36022,7 @@ unsafe extern "C-unwind" { ) -> ::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; + -> ::core::ffi::c_int; #[link_name = "init_spin_delay__pgrx_cshim"] pub fn init_spin_delay( status: *mut SpinDelayStatus, @@ -36915,7 +37018,7 @@ unsafe extern "C-unwind" { >; pub fn pg_popcount_avx512_available() -> bool; pub fn pg_popcount_avx512(buf: *const ::core::ffi::c_char, bytes: ::core::ffi::c_int) - -> uint64; + -> uint64; pub fn pg_popcount_masked_avx512( buf: *const ::core::ffi::c_char, bytes: ::core::ffi::c_int, @@ -37264,7 +37367,7 @@ unsafe extern "C-unwind" { ) -> 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; + -> *mut ExecAuxRowMark; pub fn EvalPlanQual( epqstate: *mut EPQState, relation: Relation, @@ -38174,6 +38277,7 @@ unsafe extern "C-unwind" { pub fn GetRecoveryState() -> RecoveryState::Type; pub fn XLogInsertAllowed() -> bool; pub fn GetXLogInsertRecPtr() -> XLogRecPtr; + pub fn GetXLogInsertEndRecPtr() -> XLogRecPtr; pub fn GetXLogWriteRecPtr() -> XLogRecPtr; pub fn GetSystemIdentifier() -> uint64; pub fn GetMockAuthenticationNonce() -> *mut ::core::ffi::c_char; @@ -39345,7 +39449,7 @@ unsafe extern "C-unwind" { ); #[link_name = "table_scan_bitmap_next_block__pgrx_cshim"] pub fn table_scan_bitmap_next_block(scan: TableScanDesc, tbmres: *mut TBMIterateResult) - -> bool; + -> bool; #[link_name = "table_scan_bitmap_next_tuple__pgrx_cshim"] pub fn table_scan_bitmap_next_tuple( scan: TableScanDesc, @@ -39374,7 +39478,7 @@ unsafe extern "C-unwind" { ); pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) - -> Size; + -> Size; pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); pub fn table_block_parallelscan_nextpage( rel: Relation, @@ -39417,8 +39521,6 @@ unsafe extern "C-unwind" { 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 RequestAddinShmemSpace(size: Size); pub fn shm_toc_create( magic: uint64, @@ -40178,6 +40280,7 @@ unsafe extern "C-unwind" { all_frozen: *mut BlockNumber, ); pub fn visibilitymap_prepare_truncate(rel: Relation, nheapblocks: BlockNumber) -> BlockNumber; + pub fn visibilitymap_truncation_length(nheapblocks: BlockNumber) -> BlockNumber; #[link_name = "XLogFileName__pgrx_cshim"] pub fn XLogFileName( fname: *mut ::core::ffi::c_char, @@ -41434,7 +41537,7 @@ unsafe extern "C-unwind" { 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; + -> 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; @@ -43567,7 +43670,7 @@ unsafe extern "C-unwind" { Nulls: *const ::core::ffi::c_char, ) -> HeapTuple; pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) - -> ::core::ffi::c_int; + -> ::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, @@ -43581,7 +43684,7 @@ unsafe extern "C-unwind" { isnull: *mut bool, ) -> Datum; pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) - -> *mut ::core::ffi::c_char; + -> *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; @@ -43743,11 +43846,11 @@ unsafe extern "C-unwind" { 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; + -> ::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; + -> 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; @@ -43875,7 +43978,7 @@ unsafe extern "C-unwind" { 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; + -> ::core::ffi::c_ushort; pub fn UtfToLocal( utf: *const ::core::ffi::c_uchar, len: ::core::ffi::c_int, @@ -44868,7 +44971,7 @@ unsafe extern "C-unwind" { 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 locate_var_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::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, @@ -45102,7 +45205,7 @@ unsafe extern "C-unwind" { inner_paramrels: Relids, ) -> Relids; pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) - -> Relids; + -> Relids; pub fn create_nestloop_path( root: *mut PlannerInfo, joinrel: *mut RelOptInfo, @@ -45364,7 +45467,7 @@ unsafe extern "C-unwind" { required_outer: Relids, ) -> *mut ParamPathInfo; pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) - -> *mut ParamPathInfo; + -> *mut ParamPathInfo; pub fn get_param_path_clause_serials(path: *mut Path) -> *mut Bitmapset; pub fn build_child_join_rel( root: *mut PlannerInfo, @@ -46000,14 +46103,14 @@ unsafe extern "C-unwind" { pushedDown: bool, ); pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) - -> *mut List; + -> *mut List; pub fn makeSortGroupClauseForSetOp(rescoltype: Oid, require_hash: bool) - -> *mut SortGroupClause; + -> *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; + -> Oid; pub static mut Transform_null_equals: bool; pub fn transformExpr( pstate: *mut ParseState, @@ -46649,7 +46752,7 @@ unsafe extern "C-unwind" { ) -> ::core::ffi::c_int; pub fn RelationGetPartitionDesc(rel: Relation, omit_detached: bool) -> PartitionDesc; pub fn CreatePartitionDirectory(mcxt: MemoryContext, omit_detached: bool) - -> PartitionDirectory; + -> PartitionDirectory; pub fn PartitionDirectoryLookup(arg1: PartitionDirectory, arg2: Relation) -> PartitionDesc; pub fn DestroyPartitionDirectory(pdir: PartitionDirectory); pub fn get_default_oid_from_partdesc(partdesc: PartitionDesc) -> Oid; @@ -46859,7 +46962,7 @@ unsafe extern "C-unwind" { 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; + -> *const ::core::ffi::c_char; pub fn plpgsql_free_function_memory(func: *mut PLpgSQL_function); pub fn plpgsql_dumptree(func: *mut PLpgSQL_function); pub fn plpgsql_base_yylex() -> ::core::ffi::c_int; @@ -47231,7 +47334,7 @@ unsafe extern "C-unwind" { 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; + -> TransactionId; pub fn logicalrep_write_stream_stop(out: StringInfo); pub fn logicalrep_write_stream_commit( out: StringInfo, @@ -47490,6 +47593,90 @@ unsafe extern "C-unwind" { mergeActionList: *mut List, detail: *const ::core::ffi::c_char, ); + pub fn CombineRangeTables( + dst_rtable: *mut *mut List, + dst_perminfos: *mut *mut List, + src_rtable: *mut List, + src_perminfos: *mut List, + ); + pub fn OffsetVarNodes( + node: *mut Node, + offset: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ); + pub fn ChangeVarNodes( + node: *mut Node, + rt_index: ::core::ffi::c_int, + new_index: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ); + pub fn IncrementVarSublevelsUp( + node: *mut Node, + delta_sublevels_up: ::core::ffi::c_int, + min_sublevels_up: ::core::ffi::c_int, + ); + pub fn IncrementVarSublevelsUp_rtable( + rtable: *mut List, + delta_sublevels_up: ::core::ffi::c_int, + min_sublevels_up: ::core::ffi::c_int, + ); + pub fn rangeTableEntry_used( + node: *mut Node, + rt_index: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ) -> bool; + pub fn getInsertSelectQuery( + parsetree: *mut Query, + subquery_ptr: *mut *mut *mut Query, + ) -> *mut Query; + pub fn AddQual(parsetree: *mut Query, qual: *mut Node); + pub fn AddInvertedQual(parsetree: *mut Query, qual: *mut Node); + pub fn contain_aggs_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; + pub fn locate_agg_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) + -> ::core::ffi::c_int; + pub fn contain_windowfuncs(node: *mut Node) -> bool; + pub fn locate_windowfunc(node: *mut Node) -> ::core::ffi::c_int; + pub fn checkExprHasSubLink(node: *mut Node) -> bool; + pub fn add_nulling_relids( + node: *mut Node, + target_relids: *const Bitmapset, + added_relids: *const Bitmapset, + ) -> *mut Node; + pub fn remove_nulling_relids( + node: *mut Node, + removable_relids: *const Bitmapset, + except_relids: *const Bitmapset, + ) -> *mut Node; + pub fn replace_rte_variables( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + callback: replace_rte_variables_callback, + callback_arg: *mut ::core::ffi::c_void, + outer_hasSubLinks: *mut bool, + ) -> *mut Node; + pub fn replace_rte_variables_mutator( + node: *mut Node, + context: *mut replace_rte_variables_context, + ) -> *mut Node; + pub fn map_variable_attnos( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + attno_map: *const AttrMap, + to_rowtype: Oid, + found_whole_row: *mut bool, + ) -> *mut Node; + pub fn ReplaceVarsFromTargetList( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + target_rte: *mut RangeTblEntry, + targetlist: *mut List, + nomatch_option: ReplaceVarsNoMatchOption::Type, + nomatch_varno: ::core::ffi::c_int, + outer_hasSubLinks: *mut bool, + ) -> *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( @@ -51876,7 +52063,7 @@ unsafe extern "C-unwind" { 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; + -> bool; pub fn get_op_hash_functions( opno: Oid, lhs_procno: *mut RegProcedure, @@ -51885,6 +52072,7 @@ unsafe extern "C-unwind" { pub fn get_op_btree_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 collations_agree_on_equality(coll1: Oid, coll2: Oid) -> bool; pub fn get_opfamily_proc(opfamily: Oid, lefttype: Oid, righttype: Oid, procnum: int16) -> Oid; pub fn get_attname( relid: Oid, @@ -52043,7 +52231,7 @@ unsafe extern "C-unwind" { pub fn set_ps_display(activity: *const ::core::ffi::c_char); pub fn get_ps_display(displen: *mut ::core::ffi::c_int) -> *const ::core::ffi::c_char; pub fn format_procedure_extended(procedure_oid: Oid, flags: bits16) - -> *mut ::core::ffi::c_char; + -> *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, diff --git a/pgrx-pg-sys/src/include/pg18.rs b/pgrx-pg-sys/src/include/pg18.rs index ac2f58429..dd60e47a6 100644 --- a/pgrx-pg-sys/src/include/pg18.rs +++ b/pgrx-pg-sys/src/include/pg18.rs @@ -47,7 +47,11 @@ where 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 } + if val { + byte | mask + } else { + byte & !mask + } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { @@ -164,17 +168,17 @@ 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 18.3"; +pub const PACKAGE_STRING: &::core::ffi::CStr = c"PostgreSQL 18.4"; 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"18.3"; +pub const PACKAGE_VERSION: &::core::ffi::CStr = c"18.4"; 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 = 3; -pub const PG_VERSION: &::core::ffi::CStr = c"18.3"; -pub const PG_VERSION_NUM: u32 = 180003; -pub const PG_VERSION_STR : & :: core :: ffi :: CStr = c"PostgreSQL 18.3 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0, 64-bit" ; +pub const PG_MINORVERSION_NUM: u32 = 4; +pub const PG_VERSION: &::core::ffi::CStr = c"18.4"; +pub const PG_VERSION_NUM: u32 = 180004; +pub const PG_VERSION_STR : & :: core :: ffi :: CStr = c"PostgreSQL 18.4 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0, 64-bit" ; pub const RELSEG_SIZE: u32 = 131072; pub const SIZEOF_LONG: u32 = 8; pub const SIZEOF_LONG_LONG: u32 = 8; @@ -251,7 +255,7 @@ 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) 18.3\n"; +pub const PG_BACKEND_VERSIONSTR: &::core::ffi::CStr = c"postgres (PostgreSQL) 18.4\n"; pub const EXE: &::core::ffi::CStr = c""; pub const DEVNULL: &::core::ffi::CStr = c"/dev/null"; pub const USE_REPL_SNPRINTF: u32 = 1; @@ -6224,6 +6228,7 @@ 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 __uint64_t = ::core::ffi::c_ulong; pub type __uid_t = ::core::ffi::c_uint; pub type __gid_t = ::core::ffi::c_uint; pub type __ino_t = ::core::ffi::c_ulong; @@ -6233,7 +6238,7 @@ 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 va_list = __builtin_va_list; +pub type __gnuc_va_list = __builtin_va_list; pub type FILE = _IO_FILE; #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -6269,7 +6274,9 @@ pub struct _IO_FILE { pub _markers: *mut _IO_marker, pub _chain: *mut _IO_FILE, pub _fileno: ::core::ffi::c_int, - pub _flags2: ::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, @@ -6280,9 +6287,11 @@ pub struct _IO_FILE { pub _wide_data: *mut _IO_wide_data, pub _freeres_list: *mut _IO_FILE, pub _freeres_buf: *mut ::core::ffi::c_void, - pub __pad5: usize, + pub _prevchain: *mut *mut _IO_FILE, pub _mode: ::core::ffi::c_int, - pub _unused2: [::core::ffi::c_char; 20usize], + pub _unused3: ::core::ffi::c_int, + pub _total_written: __uint64_t, + pub _unused2: [::core::ffi::c_char; 8usize], } impl Default for _IO_FILE { fn default() -> Self { @@ -6293,6 +6302,51 @@ impl Default for _IO_FILE { } } } +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; @@ -19200,7 +19254,7 @@ pub mod TypeFuncClass { pub const TYPEFUNC_OTHER: Type = 4; } pub type sig_atomic_t = __sig_atomic_t; -pub mod _bindgen_ty_16 { +pub mod _bindgen_ty_17 { pub type Type = ::core::ffi::c_uint; pub const SIGEV_SIGNAL: Type = 0; pub const SIGEV_NONE: Type = 1; @@ -28651,6 +28705,8 @@ impl Default for ExprEvalStep__bindgen_ty_1__bindgen_ty_34 { pub struct ExprEvalStep__bindgen_ty_1__bindgen_ty_35 { pub has_nulls: bool, pub inclause: bool, + pub null_lhs_result: bool, + pub null_lhs_isnull: bool, pub elements_tab: *mut ScalarArrayOpExprHashTable, pub finfo: *mut FmgrInfo, pub fcinfo_data: FunctionCallInfo, @@ -30665,7 +30721,7 @@ pub mod PLpgSQL_stmt_type { pub const PLPGSQL_STMT_COMMIT: Type = 25; pub const PLPGSQL_STMT_ROLLBACK: Type = 26; } -pub mod _bindgen_ty_25 { +pub mod _bindgen_ty_26 { pub type Type = ::core::ffi::c_uint; pub const PLPGSQL_RC_OK: Type = 0; pub const PLPGSQL_RC_EXIT: Type = 1; @@ -33091,6 +33147,47 @@ impl Default for WalSndCtlData { } } } +pub type replace_rte_variables_callback = ::core::option::Option< + unsafe extern "C-unwind" fn( + var: *mut Var, + context: *mut replace_rte_variables_context, + ) -> *mut Node, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct replace_rte_variables_context { + pub callback: replace_rte_variables_callback, + pub callback_arg: *mut ::core::ffi::c_void, + pub target_varno: ::core::ffi::c_int, + pub sublevels_up: ::core::ffi::c_int, + pub inserted_sublink: bool, +} +impl Default for replace_rte_variables_context { + 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 ReplaceVarsNoMatchOption { + pub type Type = ::core::ffi::c_uint; + pub const REPLACEVARS_REPORT_ERROR: Type = 0; + pub const REPLACEVARS_CHANGE_VARNO: Type = 1; + pub const REPLACEVARS_SUBSTITUTE_NULL: Type = 2; +} +pub type ChangeVarNodes_callback = ::core::option::Option< + unsafe extern "C-unwind" fn(node: *mut Node, arg: *mut ChangeVarNodes_context) -> bool, +>; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct ChangeVarNodes_context { + pub rt_index: ::core::ffi::c_int, + pub new_index: ::core::ffi::c_int, + pub sublevels_up: ::core::ffi::c_int, + pub callback: ChangeVarNodes_callback, +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct RowSecurityPolicy { @@ -33269,6 +33366,7 @@ pub mod ProcSignalReason { pub const PROCSIG_RECOVERY_CONFLICT_BUFFERPIN: Type = 12; pub const PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK: Type = 13; pub const PROCSIG_RECOVERY_CONFLICT_LAST: Type = 13; + pub const PROCSIG_SLOTSYNC_MESSAGE: Type = 14; } pub mod ProcSignalBarrierType { pub type Type = ::core::ffi::c_uint; @@ -35381,6 +35479,7 @@ unsafe extern "C-unwind" { 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_safe_for_extraction(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, @@ -35522,16 +35621,6 @@ unsafe extern "C-unwind" { uid: *mut uid_t, gid: *mut gid_t, ) -> ::core::ffi::c_int; - pub fn strlcat( - dst: *mut ::core::ffi::c_char, - src: *const ::core::ffi::c_char, - siz: usize, - ) -> usize; - pub fn strlcpy( - dst: *mut ::core::ffi::c_char, - src: *const ::core::ffi::c_char, - siz: usize, - ) -> usize; pub fn timingsafe_bcmp( b1: *const ::core::ffi::c_void, b2: *const ::core::ffi::c_void, @@ -35785,9 +35874,29 @@ unsafe extern "C-unwind" { size: Size, ) -> *mut ::core::ffi::c_void; pub fn pfree(pointer: *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 palloc_mul(s1: Size, s2: Size) -> *mut ::core::ffi::c_void; + pub fn palloc0_mul(s1: Size, s2: Size) -> *mut ::core::ffi::c_void; + pub fn palloc_mul_extended( + s1: Size, + s2: Size, + flags: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void; + pub fn repalloc_mul( + p: *mut ::core::ffi::c_void, + s1: Size, + s2: Size, + ) -> *mut ::core::ffi::c_void; + pub fn repalloc_mul_extended( + p: *mut ::core::ffi::c_void, + s1: Size, + s2: Size, + flags: ::core::ffi::c_int, + ) -> *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; + -> *mut ::core::ffi::c_void; pub fn MemoryContextRegisterResetCallback( context: MemoryContext, cb: *mut MemoryContextCallback, @@ -36030,12 +36139,12 @@ unsafe extern "C-unwind" { pub fn verify_compact_attribute(arg1: TupleDesc, attnum: ::core::ffi::c_int); #[link_name = "TupleDescCompactAttr__pgrx_cshim"] pub fn TupleDescCompactAttr(tupdesc: TupleDesc, i: ::core::ffi::c_int) - -> *mut CompactAttribute; + -> *mut CompactAttribute; 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; + -> TupleDesc; pub fn CreateTupleDescCopyConstr(tupdesc: TupleDesc) -> TupleDesc; pub fn TupleDescCopy(dst: TupleDesc, src: TupleDesc); pub fn TupleDescCopyEntry( @@ -36149,7 +36258,7 @@ unsafe extern "C-unwind" { pub fn HeapTupleGetUpdateXid(tup: *const HeapTupleHeaderData) -> TransactionId; #[link_name = "FullTransactionIdFromEpochAndXid__pgrx_cshim"] pub fn FullTransactionIdFromEpochAndXid(epoch: uint32, xid: TransactionId) - -> FullTransactionId; + -> FullTransactionId; #[link_name = "FullTransactionIdFromU64__pgrx_cshim"] pub fn FullTransactionIdFromU64(value: uint64) -> FullTransactionId; #[link_name = "FullTransactionIdRetreat__pgrx_cshim"] @@ -36432,7 +36541,7 @@ unsafe extern "C-unwind" { bit: *mut bits8, ); pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) - -> bool; + -> bool; pub fn nocachegetattr( tup: HeapTuple, attnum: ::core::ffi::c_int, @@ -36644,7 +36753,7 @@ unsafe extern "C-unwind" { msg: *const ::core::ffi::c_char, ) -> *mut TupleConversionMap; pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) - -> *mut TupleConversionMap; + -> *mut TupleConversionMap; pub fn convert_tuples_by_name_attrmap( indesc: TupleDesc, outdesc: TupleDesc, @@ -36866,7 +36975,7 @@ unsafe extern "C-unwind" { 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; + -> Datum; pub fn OidFunctionCall3Coll( functionId: Oid, collation: Oid, @@ -37451,7 +37560,7 @@ unsafe extern "C-unwind" { 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; + -> *mut TBMSharedIterator; pub fn tbm_calculate_entries(maxbytes: Size) -> ::core::ffi::c_int; pub fn tbm_begin_iterate( tbm: *mut TIDBitmap, @@ -37476,7 +37585,7 @@ unsafe extern "C-unwind" { ) -> ::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; + -> ::core::ffi::c_int; #[link_name = "init_spin_delay__pgrx_cshim"] pub fn init_spin_delay( status: *mut SpinDelayStatus, @@ -38538,7 +38647,7 @@ unsafe extern "C-unwind" { >; pub fn pg_popcount_avx512_available() -> bool; pub fn pg_popcount_avx512(buf: *const ::core::ffi::c_char, bytes: ::core::ffi::c_int) - -> uint64; + -> uint64; pub fn pg_popcount_masked_avx512( buf: *const ::core::ffi::c_char, bytes: ::core::ffi::c_int, @@ -38887,7 +38996,7 @@ unsafe extern "C-unwind" { ) -> 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; + -> *mut ExecAuxRowMark; pub fn EvalPlanQual( epqstate: *mut EPQState, relation: Relation, @@ -40010,6 +40119,7 @@ unsafe extern "C-unwind" { pub fn GetRecoveryState() -> RecoveryState::Type; pub fn XLogInsertAllowed() -> bool; pub fn GetXLogInsertRecPtr() -> XLogRecPtr; + pub fn GetXLogInsertEndRecPtr() -> XLogRecPtr; pub fn GetXLogWriteRecPtr() -> XLogRecPtr; pub fn GetSystemIdentifier() -> uint64; pub fn GetMockAuthenticationNonce() -> *mut ::core::ffi::c_char; @@ -40490,8 +40600,6 @@ unsafe extern "C-unwind" { 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 shm_toc_create( @@ -41354,7 +41462,7 @@ unsafe extern "C-unwind" { ); pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) - -> Size; + -> Size; pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); pub fn table_block_parallelscan_nextpage( rel: Relation, @@ -42031,6 +42139,7 @@ unsafe extern "C-unwind" { all_frozen: *mut BlockNumber, ); pub fn visibilitymap_prepare_truncate(rel: Relation, nheapblocks: BlockNumber) -> BlockNumber; + pub fn visibilitymap_truncation_length(nheapblocks: BlockNumber) -> BlockNumber; #[link_name = "XLogFileName__pgrx_cshim"] pub fn XLogFileName( fname: *mut ::core::ffi::c_char, @@ -43296,7 +43405,7 @@ unsafe extern "C-unwind" { 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; + -> 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; @@ -45521,7 +45630,7 @@ unsafe extern "C-unwind" { Nulls: *const ::core::ffi::c_char, ) -> HeapTuple; pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) - -> ::core::ffi::c_int; + -> ::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, @@ -45535,7 +45644,7 @@ unsafe extern "C-unwind" { isnull: *mut bool, ) -> Datum; pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) - -> *mut ::core::ffi::c_char; + -> *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; @@ -45697,11 +45806,11 @@ unsafe extern "C-unwind" { 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; + -> ::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; + -> 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; @@ -45829,7 +45938,7 @@ unsafe extern "C-unwind" { 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; + -> ::core::ffi::c_ushort; pub fn UtfToLocal( utf: *const ::core::ffi::c_uchar, len: ::core::ffi::c_int, @@ -46845,7 +46954,7 @@ unsafe extern "C-unwind" { 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; + -> ::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, @@ -47089,7 +47198,7 @@ unsafe extern "C-unwind" { inner_paramrels: Relids, ) -> Relids; pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) - -> Relids; + -> Relids; pub fn create_nestloop_path( root: *mut PlannerInfo, joinrel: *mut RelOptInfo, @@ -47351,7 +47460,7 @@ unsafe extern "C-unwind" { required_outer: Relids, ) -> *mut ParamPathInfo; pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) - -> *mut ParamPathInfo; + -> *mut ParamPathInfo; pub fn get_param_path_clause_serials(path: *mut Path) -> *mut Bitmapset; pub fn build_child_join_rel( root: *mut PlannerInfo, @@ -48054,14 +48163,14 @@ unsafe extern "C-unwind" { pushedDown: bool, ); pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) - -> *mut List; + -> *mut List; pub fn makeSortGroupClauseForSetOp(rescoltype: Oid, require_hash: bool) - -> *mut SortGroupClause; + -> *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; + -> Oid; pub static mut Transform_null_equals: bool; pub fn transformExpr( pstate: *mut ParseState, @@ -48708,7 +48817,7 @@ unsafe extern "C-unwind" { ) -> ::core::ffi::c_int; pub fn RelationGetPartitionDesc(rel: Relation, omit_detached: bool) -> PartitionDesc; pub fn CreatePartitionDirectory(mcxt: MemoryContext, omit_detached: bool) - -> PartitionDirectory; + -> PartitionDirectory; pub fn PartitionDirectoryLookup(arg1: PartitionDirectory, arg2: Relation) -> PartitionDesc; pub fn DestroyPartitionDirectory(pdir: PartitionDirectory); pub fn get_default_oid_from_partdesc(partdesc: PartitionDesc) -> Oid; @@ -48933,7 +49042,7 @@ unsafe extern "C-unwind" { 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; + -> *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); @@ -49345,7 +49454,7 @@ unsafe extern "C-unwind" { 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; + -> TransactionId; pub fn logicalrep_write_stream_stop(out: StringInfo); pub fn logicalrep_write_stream_commit( out: StringInfo, @@ -49608,7 +49717,7 @@ unsafe extern "C-unwind" { yyscanner: yyscan_t, ) -> ::core::ffi::c_int; pub fn replication_yylex(yylval_param: *mut YYSTYPE, yyscanner: yyscan_t) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn replication_yyerror( replication_parse_result_p: *mut *mut Node, yyscanner: yyscan_t, @@ -49648,6 +49757,115 @@ unsafe extern "C-unwind" { rt_index: ::core::ffi::c_int, ) -> *mut Node; pub fn build_generation_expression(rel: Relation, attrno: ::core::ffi::c_int) -> *mut Node; + pub fn adjust_relid_set( + relids: Relids, + oldrelid: ::core::ffi::c_int, + newrelid: ::core::ffi::c_int, + ) -> Relids; + pub fn CombineRangeTables( + dst_rtable: *mut *mut List, + dst_perminfos: *mut *mut List, + src_rtable: *mut List, + src_perminfos: *mut List, + ); + pub fn OffsetVarNodes( + node: *mut Node, + offset: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ); + pub fn ChangeVarNodes( + node: *mut Node, + rt_index: ::core::ffi::c_int, + new_index: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ); + pub fn ChangeVarNodesExtended( + node: *mut Node, + rt_index: ::core::ffi::c_int, + new_index: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + callback: ChangeVarNodes_callback, + ); + pub fn ChangeVarNodesWalkExpression( + node: *mut Node, + context: *mut ChangeVarNodes_context, + ) -> bool; + pub fn IncrementVarSublevelsUp( + node: *mut Node, + delta_sublevels_up: ::core::ffi::c_int, + min_sublevels_up: ::core::ffi::c_int, + ); + pub fn IncrementVarSublevelsUp_rtable( + rtable: *mut List, + delta_sublevels_up: ::core::ffi::c_int, + min_sublevels_up: ::core::ffi::c_int, + ); + pub fn rangeTableEntry_used( + node: *mut Node, + rt_index: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + ) -> bool; + pub fn getInsertSelectQuery( + parsetree: *mut Query, + subquery_ptr: *mut *mut *mut Query, + ) -> *mut Query; + pub fn AddQual(parsetree: *mut Query, qual: *mut Node); + pub fn AddInvertedQual(parsetree: *mut Query, qual: *mut Node); + pub fn contain_aggs_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; + pub fn locate_agg_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) + -> ::core::ffi::c_int; + pub fn contain_windowfuncs(node: *mut Node) -> bool; + pub fn locate_windowfunc(node: *mut Node) -> ::core::ffi::c_int; + pub fn checkExprHasSubLink(node: *mut Node) -> bool; + pub fn add_nulling_relids( + node: *mut Node, + target_relids: *const Bitmapset, + added_relids: *const Bitmapset, + ) -> *mut Node; + pub fn remove_nulling_relids( + node: *mut Node, + removable_relids: *const Bitmapset, + except_relids: *const Bitmapset, + ) -> *mut Node; + pub fn replace_rte_variables( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + callback: replace_rte_variables_callback, + callback_arg: *mut ::core::ffi::c_void, + outer_hasSubLinks: *mut bool, + ) -> *mut Node; + pub fn replace_rte_variables_mutator( + node: *mut Node, + context: *mut replace_rte_variables_context, + ) -> *mut Node; + pub fn map_variable_attnos( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + attno_map: *const AttrMap, + to_rowtype: Oid, + found_whole_row: *mut bool, + ) -> *mut Node; + pub fn ReplaceVarFromTargetList( + var: *mut Var, + target_rte: *mut RangeTblEntry, + targetlist: *mut List, + result_relation: ::core::ffi::c_int, + nomatch_option: ReplaceVarsNoMatchOption::Type, + nomatch_varno: ::core::ffi::c_int, + ) -> *mut Node; + pub fn ReplaceVarsFromTargetList( + node: *mut Node, + target_varno: ::core::ffi::c_int, + sublevels_up: ::core::ffi::c_int, + target_rte: *mut RangeTblEntry, + targetlist: *mut List, + result_relation: ::core::ffi::c_int, + nomatch_option: ReplaceVarsNoMatchOption::Type, + nomatch_varno: ::core::ffi::c_int, + outer_hasSubLinks: *mut bool, + ) -> *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( @@ -54102,7 +54320,7 @@ unsafe extern "C-unwind" { 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; + -> bool; pub fn get_op_hash_functions( opno: Oid, lhs_procno: *mut RegProcedure, @@ -54111,6 +54329,7 @@ unsafe extern "C-unwind" { 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 collations_agree_on_equality(coll1: Oid, coll2: Oid) -> bool; pub fn get_opfamily_proc(opfamily: Oid, lefttype: Oid, righttype: Oid, procnum: int16) -> Oid; pub fn get_attname( relid: Oid, @@ -54271,7 +54490,7 @@ unsafe extern "C-unwind" { pub fn set_ps_display(activity: *const ::core::ffi::c_char); pub fn get_ps_display(displen: *mut ::core::ffi::c_int) -> *const ::core::ffi::c_char; pub fn format_procedure_extended(procedure_oid: Oid, flags: bits16) - -> *mut ::core::ffi::c_char; + -> *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, diff --git a/pgrx-sql-entity-graph/Cargo.toml b/pgrx-sql-entity-graph/Cargo.toml index 93116f8a6..abdca7205 100644 --- a/pgrx-sql-entity-graph/Cargo.toml +++ b/pgrx-sql-entity-graph/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx-sql-entity-graph" -version = "0.18.0" +version = "0.18.1" authors.workspace = true license.workspace = true description = "Sql Entity Graph for `pgrx`" diff --git a/pgrx-tests/Cargo.toml b/pgrx-tests/Cargo.toml index 90cc14f85..d8ead42d8 100644 --- a/pgrx-tests/Cargo.toml +++ b/pgrx-tests/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx-tests" -version = "0.18.0" +version = "0.18.1" authors.workspace = true license.workspace = true description = "Test framework for 'pgrx'-based Postgres extensions" @@ -67,7 +67,7 @@ rand = "0.10.1" [dependencies.pgrx] # Not unified in workspace due to default-features key path = "../pgrx" default-features = false -version = "=0.18.0" +version = "=0.18.1" [target.'cfg(target_os = "windows")'.dependencies] winapi = { version = "0.3.9", features = [ diff --git a/pgrx-unit-tests/Cargo.toml b/pgrx-unit-tests/Cargo.toml index c717d3212..c2e7b57b6 100644 --- a/pgrx-unit-tests/Cargo.toml +++ b/pgrx-unit-tests/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx-unit-tests" -version = "0.18.0" +version = "0.18.1" authors.workspace = true license.workspace = true description = "Internal pgrx test extension" @@ -58,11 +58,11 @@ rand = "0.10.1" [dependencies.pgrx] path = "../pgrx" default-features = false -version = "=0.18.0" +version = "=0.18.1" [dependencies.pgrx-tests] path = "../pgrx-tests" -version = "=0.18.0" +version = "=0.18.1" [dev-dependencies] trybuild = "1" diff --git a/pgrx/Cargo.toml b/pgrx/Cargo.toml index c45a4d56b..f72de224a 100644 --- a/pgrx/Cargo.toml +++ b/pgrx/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx" -version = "0.18.0" +version = "0.18.1" authors.workspace = true license.workspace = true description = "pgrx: A Rust framework for creating Postgres extensions" From 8ceaa53c6fe88f3745abff3a2657afc13386f1a2 Mon Sep 17 00:00:00 2001 From: "Eric B. Ridge" Date: Sun, 31 May 2026 19:35:06 +0000 Subject: [PATCH 2/3] cargo fmt --all --- pgrx-pg-sys/src/include/pg13.rs | 62 ++++++++++++++---------------- pgrx-pg-sys/src/include/pg14.rs | 68 ++++++++++++++++----------------- pgrx-pg-sys/src/include/pg15.rs | 68 ++++++++++++++++----------------- pgrx-pg-sys/src/include/pg16.rs | 62 ++++++++++++++---------------- pgrx-pg-sys/src/include/pg17.rs | 64 +++++++++++++++---------------- pgrx-pg-sys/src/include/pg18.rs | 68 ++++++++++++++++----------------- 6 files changed, 184 insertions(+), 208 deletions(-) diff --git a/pgrx-pg-sys/src/include/pg13.rs b/pgrx-pg-sys/src/include/pg13.rs index e660b7cb7..80cefa53c 100644 --- a/pgrx-pg-sys/src/include/pg13.rs +++ b/pgrx-pg-sys/src/include/pg13.rs @@ -47,11 +47,7 @@ where 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 - } + if val { byte | mask } else { byte & !mask } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { @@ -30394,7 +30390,7 @@ unsafe extern "C-unwind" { 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; + -> *mut ::core::ffi::c_void; pub fn MemoryContextRegisterResetCallback( context: MemoryContext, cb: *mut MemoryContextCallback, @@ -30617,7 +30613,7 @@ unsafe extern "C-unwind" { pub fn HeapTupleGetUpdateXid(tuple: HeapTupleHeader) -> TransactionId; #[link_name = "FullTransactionIdFromEpochAndXid__pgrx_cshim"] pub fn FullTransactionIdFromEpochAndXid(epoch: uint32, xid: TransactionId) - -> FullTransactionId; + -> FullTransactionId; #[link_name = "FullTransactionIdFromU64__pgrx_cshim"] pub fn FullTransactionIdFromU64(value: uint64) -> FullTransactionId; #[link_name = "FullTransactionIdAdvance__pgrx_cshim"] @@ -30711,7 +30707,7 @@ unsafe extern "C-unwind" { bit: *mut bits8, ); pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) - -> bool; + -> bool; pub fn nocachegetattr(tup: HeapTuple, attnum: ::core::ffi::c_int, att: TupleDesc) -> Datum; pub fn heap_getsysattr( tup: HeapTuple, @@ -30908,7 +30904,7 @@ unsafe extern "C-unwind" { msg: *const ::core::ffi::c_char, ) -> *mut TupleConversionMap; pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) - -> *mut TupleConversionMap; + -> *mut TupleConversionMap; pub fn execute_attr_map_tuple(tuple: HeapTuple, map: *mut TupleConversionMap) -> HeapTuple; pub fn execute_attr_map_slot( attrMap: *mut AttrMap, @@ -30916,7 +30912,7 @@ unsafe extern "C-unwind" { out_slot: *mut TupleTableSlot, ) -> *mut TupleTableSlot; pub fn execute_attr_map_cols(attrMap: *mut AttrMap, inbitmap: *mut Bitmapset) - -> *mut Bitmapset; + -> *mut Bitmapset; pub fn free_conversion_map(map: *mut TupleConversionMap); pub static mut pgBufferUsage: BufferUsage; pub static mut pgWalUsage: WalUsage; @@ -31121,7 +31117,7 @@ unsafe extern "C-unwind" { 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; + -> Datum; pub fn OidFunctionCall3Coll( functionId: Oid, collation: Oid, @@ -31526,7 +31522,7 @@ unsafe extern "C-unwind" { pub fn tbm_end_iterate(iterator: *mut TBMIterator); pub fn tbm_end_shared_iterate(iterator: *mut TBMSharedIterator); pub fn tbm_attach_shared_iterate(dsa: *mut dsa_area, dp: dsa_pointer) - -> *mut TBMSharedIterator; + -> *mut TBMSharedIterator; pub fn tbm_calculate_entries(maxbytes: f64) -> ::core::ffi::c_long; #[link_name = "tas__pgrx_cshim"] pub fn tas(lock: *mut slock_t) -> ::core::ffi::c_int; @@ -31541,7 +31537,7 @@ unsafe extern "C-unwind" { ) -> ::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; + -> ::core::ffi::c_int; #[link_name = "init_spin_delay__pgrx_cshim"] pub fn init_spin_delay( status: *mut SpinDelayStatus, @@ -31769,7 +31765,7 @@ unsafe extern "C-unwind" { name: *const ::core::ffi::c_char, ) -> File; pub fn SharedFileSetOpen(fileset: *mut SharedFileSet, name: *const ::core::ffi::c_char) - -> File; + -> File; pub fn SharedFileSetDelete( fileset: *mut SharedFileSet, name: *const ::core::ffi::c_char, @@ -32181,7 +32177,7 @@ unsafe extern "C-unwind" { pub fn MemoryContextAllowInCriticalSection(context: MemoryContext, allow: bool); pub fn MemoryContextCheck(context: MemoryContext); pub fn MemoryContextContains(context: MemoryContext, pointer: *mut ::core::ffi::c_void) - -> bool; + -> bool; pub fn MemoryContextCreate( node: MemoryContext, tag: NodeTag, @@ -32379,7 +32375,7 @@ unsafe extern "C-unwind" { ) -> 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; + -> *mut ExecAuxRowMark; pub fn EvalPlanQual( epqstate: *mut EPQState, relation: Relation, @@ -34794,7 +34790,7 @@ unsafe extern "C-unwind" { ); #[link_name = "table_scan_bitmap_next_block__pgrx_cshim"] pub fn table_scan_bitmap_next_block(scan: TableScanDesc, tbmres: *mut TBMIterateResult) - -> bool; + -> bool; #[link_name = "table_scan_bitmap_next_tuple__pgrx_cshim"] pub fn table_scan_bitmap_next_tuple( scan: TableScanDesc, @@ -34823,7 +34819,7 @@ unsafe extern "C-unwind" { ); pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) - -> Size; + -> Size; pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); pub fn table_block_parallelscan_nextpage( rel: Relation, @@ -36899,7 +36895,7 @@ unsafe extern "C-unwind" { pub fn smgrDoPendingDeletes(isCommit: bool); pub fn smgrDoPendingSyncs(isCommit: bool, isParallelWorker: bool); pub fn smgrGetPendingDeletes(forCommit: bool, ptr: *mut *mut RelFileNode) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn AtSubCommit_smgr(); pub fn AtSubAbort_smgr(); pub fn PostPrepare_smgr(); @@ -36965,7 +36961,7 @@ unsafe extern "C-unwind" { ) -> Oid; pub fn AlterDatabaseSet(stmt: *mut AlterDatabaseSetStmt) -> Oid; pub fn AlterDatabaseOwner(dbname: *const ::core::ffi::c_char, newOwnerId: Oid) - -> ObjectAddress; + -> 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 check_encoding_locale_matches( @@ -38242,7 +38238,7 @@ unsafe extern "C-unwind" { Nulls: *const ::core::ffi::c_char, ) -> HeapTuple; pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) - -> ::core::ffi::c_int; + -> ::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, @@ -38256,7 +38252,7 @@ unsafe extern "C-unwind" { isnull: *mut bool, ) -> Datum; pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) - -> *mut ::core::ffi::c_char; + -> *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; @@ -38418,7 +38414,7 @@ unsafe extern "C-unwind" { ) -> *mut ::core::ffi::c_uchar; pub fn utf8_to_unicode(c: *const ::core::ffi::c_uchar) -> pg_wchar; pub fn pg_utf8_islegal(source: *const ::core::ffi::c_uchar, length: ::core::ffi::c_int) - -> bool; + -> bool; pub fn pg_utf_mblen(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; @@ -38525,7 +38521,7 @@ unsafe extern "C-unwind" { 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; + -> ::core::ffi::c_ushort; pub fn UtfToLocal( utf: *const ::core::ffi::c_uchar, len: ::core::ffi::c_int, @@ -39393,7 +39389,7 @@ unsafe extern "C-unwind" { 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 locate_var_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::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(query: *mut Query, node: *mut Node) -> *mut Node; pub fn compare_path_costs( @@ -39604,7 +39600,7 @@ unsafe extern "C-unwind" { inner_paramrels: Relids, ) -> Relids; pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) - -> Relids; + -> Relids; pub fn create_nestloop_path( root: *mut PlannerInfo, joinrel: *mut RelOptInfo, @@ -39852,7 +39848,7 @@ unsafe extern "C-unwind" { required_outer: Relids, ) -> *mut ParamPathInfo; pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) - -> *mut ParamPathInfo; + -> *mut ParamPathInfo; pub fn build_child_join_rel( root: *mut PlannerInfo, outer_rel: *mut RelOptInfo, @@ -40367,7 +40363,7 @@ unsafe extern "C-unwind" { otherquals: *mut *mut List, ); pub fn has_pseudoconstant_clauses(root: *mut PlannerInfo, restrictinfo_list: *mut List) - -> bool; + -> bool; pub fn join_clause_is_movable_to(rinfo: *mut RestrictInfo, baserel: *mut RelOptInfo) -> bool; pub fn join_clause_is_movable_into( rinfo: *mut RestrictInfo, @@ -40437,12 +40433,12 @@ unsafe extern "C-unwind" { pushedDown: bool, ); pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) - -> *mut List; + -> *mut List; 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; + -> Oid; pub static mut operator_precedence_warning: bool; pub static mut Transform_null_equals: bool; pub fn transformExpr( @@ -41303,7 +41299,7 @@ unsafe extern "C-unwind" { 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; + -> *const ::core::ffi::c_char; pub fn plpgsql_free_function_memory(func: *mut PLpgSQL_function); pub fn plpgsql_dumptree(func: *mut PLpgSQL_function); pub fn plpgsql_base_yylex() -> ::core::ffi::c_int; @@ -41663,7 +41659,7 @@ unsafe extern "C-unwind" { pub fn AddInvertedQual(parsetree: *mut Query, qual: *mut Node); pub fn contain_aggs_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; pub fn locate_agg_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn contain_windowfuncs(node: *mut Node) -> bool; pub fn locate_windowfunc(node: *mut Node) -> ::core::ffi::c_int; pub fn checkExprHasSubLink(node: *mut Node) -> bool; @@ -45334,7 +45330,7 @@ unsafe extern "C-unwind" { 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; + -> bool; pub fn get_op_hash_functions( opno: Oid, lhs_procno: *mut RegProcedure, diff --git a/pgrx-pg-sys/src/include/pg14.rs b/pgrx-pg-sys/src/include/pg14.rs index 92aa00c1f..12b55d397 100644 --- a/pgrx-pg-sys/src/include/pg14.rs +++ b/pgrx-pg-sys/src/include/pg14.rs @@ -47,11 +47,7 @@ where 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 - } + if val { byte | mask } else { byte & !mask } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { @@ -32505,7 +32501,7 @@ unsafe extern "C-unwind" { ) -> *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; + -> *mut ::core::ffi::c_void; pub fn MemoryContextRegisterResetCallback( context: MemoryContext, cb: *mut MemoryContextCallback, @@ -32738,7 +32734,7 @@ unsafe extern "C-unwind" { pub fn HeapTupleGetUpdateXid(tuple: HeapTupleHeader) -> TransactionId; #[link_name = "FullTransactionIdFromEpochAndXid__pgrx_cshim"] pub fn FullTransactionIdFromEpochAndXid(epoch: uint32, xid: TransactionId) - -> FullTransactionId; + -> FullTransactionId; #[link_name = "FullTransactionIdFromU64__pgrx_cshim"] pub fn FullTransactionIdFromU64(value: uint64) -> FullTransactionId; #[link_name = "FullTransactionIdRetreat__pgrx_cshim"] @@ -32843,7 +32839,7 @@ unsafe extern "C-unwind" { bit: *mut bits8, ); pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) - -> bool; + -> bool; pub fn nocachegetattr(tup: HeapTuple, attnum: ::core::ffi::c_int, att: TupleDesc) -> Datum; pub fn heap_getsysattr( tup: HeapTuple, @@ -33040,7 +33036,7 @@ unsafe extern "C-unwind" { msg: *const ::core::ffi::c_char, ) -> *mut TupleConversionMap; pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) - -> *mut TupleConversionMap; + -> *mut TupleConversionMap; pub fn execute_attr_map_tuple(tuple: HeapTuple, map: *mut TupleConversionMap) -> HeapTuple; pub fn execute_attr_map_slot( attrMap: *mut AttrMap, @@ -33048,7 +33044,7 @@ unsafe extern "C-unwind" { out_slot: *mut TupleTableSlot, ) -> *mut TupleTableSlot; pub fn execute_attr_map_cols(attrMap: *mut AttrMap, inbitmap: *mut Bitmapset) - -> *mut Bitmapset; + -> *mut Bitmapset; pub fn free_conversion_map(map: *mut TupleConversionMap); pub static mut pgBufferUsage: BufferUsage; pub static mut pgWalUsage: WalUsage; @@ -33255,7 +33251,7 @@ unsafe extern "C-unwind" { 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; + -> Datum; pub fn OidFunctionCall3Coll( functionId: Oid, collation: Oid, @@ -33720,7 +33716,7 @@ unsafe extern "C-unwind" { pub fn tbm_end_iterate(iterator: *mut TBMIterator); pub fn tbm_end_shared_iterate(iterator: *mut TBMSharedIterator); pub fn tbm_attach_shared_iterate(dsa: *mut dsa_area, dp: dsa_pointer) - -> *mut TBMSharedIterator; + -> *mut TBMSharedIterator; pub fn tbm_calculate_entries(maxbytes: f64) -> ::core::ffi::c_long; #[link_name = "tas__pgrx_cshim"] pub fn tas(lock: *mut slock_t) -> ::core::ffi::c_int; @@ -33735,7 +33731,7 @@ unsafe extern "C-unwind" { ) -> ::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; + -> ::core::ffi::c_int; #[link_name = "init_spin_delay__pgrx_cshim"] pub fn init_spin_delay( status: *mut SpinDelayStatus, @@ -34413,7 +34409,7 @@ unsafe extern "C-unwind" { pub fn MemoryContextAllowInCriticalSection(context: MemoryContext, allow: bool); pub fn MemoryContextCheck(context: MemoryContext); pub fn MemoryContextContains(context: MemoryContext, pointer: *mut ::core::ffi::c_void) - -> bool; + -> bool; pub fn MemoryContextCreate( node: MemoryContext, tag: NodeTag, @@ -34608,7 +34604,7 @@ unsafe extern "C-unwind" { ) -> 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; + -> *mut ExecAuxRowMark; pub fn EvalPlanQual( epqstate: *mut EPQState, relation: Relation, @@ -36960,7 +36956,7 @@ unsafe extern "C-unwind" { ); #[link_name = "table_scan_bitmap_next_block__pgrx_cshim"] pub fn table_scan_bitmap_next_block(scan: TableScanDesc, tbmres: *mut TBMIterateResult) - -> bool; + -> bool; #[link_name = "table_scan_bitmap_next_tuple__pgrx_cshim"] pub fn table_scan_bitmap_next_tuple( scan: TableScanDesc, @@ -36989,7 +36985,7 @@ unsafe extern "C-unwind" { ); pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) - -> Size; + -> Size; pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); pub fn table_block_parallelscan_nextpage( rel: Relation, @@ -39056,7 +39052,7 @@ unsafe extern "C-unwind" { pub fn smgrDoPendingDeletes(isCommit: bool); pub fn smgrDoPendingSyncs(isCommit: bool, isParallelWorker: bool); pub fn smgrGetPendingDeletes(forCommit: bool, ptr: *mut *mut RelFileNode) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn AtSubCommit_smgr(); pub fn AtSubAbort_smgr(); pub fn PostPrepare_smgr(); @@ -39136,7 +39132,7 @@ unsafe extern "C-unwind" { ) -> Oid; pub fn AlterDatabaseSet(stmt: *mut AlterDatabaseSetStmt) -> Oid; pub fn AlterDatabaseOwner(dbname: *const ::core::ffi::c_char, newOwnerId: Oid) - -> ObjectAddress; + -> 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 check_encoding_locale_matches( @@ -40513,7 +40509,7 @@ unsafe extern "C-unwind" { Nulls: *const ::core::ffi::c_char, ) -> HeapTuple; pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) - -> ::core::ffi::c_int; + -> ::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, @@ -40527,7 +40523,7 @@ unsafe extern "C-unwind" { isnull: *mut bool, ) -> Datum; pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) - -> *mut ::core::ffi::c_char; + -> *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; @@ -40689,7 +40685,7 @@ unsafe extern "C-unwind" { ) -> *mut ::core::ffi::c_uchar; pub fn utf8_to_unicode(c: *const ::core::ffi::c_uchar) -> pg_wchar; pub fn pg_utf8_islegal(source: *const ::core::ffi::c_uchar, length: ::core::ffi::c_int) - -> bool; + -> bool; pub fn pg_utf_mblen(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; @@ -40816,7 +40812,7 @@ unsafe extern "C-unwind" { 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; + -> ::core::ffi::c_ushort; pub fn UtfToLocal( utf: *const ::core::ffi::c_uchar, len: ::core::ffi::c_int, @@ -41728,7 +41724,7 @@ unsafe extern "C-unwind" { 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 locate_var_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::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(query: *mut Query, node: *mut Node) -> *mut Node; pub fn compare_path_costs( @@ -41953,7 +41949,7 @@ unsafe extern "C-unwind" { inner_paramrels: Relids, ) -> Relids; pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) - -> Relids; + -> Relids; pub fn create_nestloop_path( root: *mut PlannerInfo, joinrel: *mut RelOptInfo, @@ -42201,7 +42197,7 @@ unsafe extern "C-unwind" { required_outer: Relids, ) -> *mut ParamPathInfo; pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) - -> *mut ParamPathInfo; + -> *mut ParamPathInfo; pub fn build_child_join_rel( root: *mut PlannerInfo, outer_rel: *mut RelOptInfo, @@ -42710,7 +42706,7 @@ unsafe extern "C-unwind" { otherquals: *mut *mut List, ); pub fn has_pseudoconstant_clauses(root: *mut PlannerInfo, restrictinfo_list: *mut List) - -> bool; + -> bool; pub fn join_clause_is_movable_to(rinfo: *mut RestrictInfo, baserel: *mut RelOptInfo) -> bool; pub fn join_clause_is_movable_into( rinfo: *mut RestrictInfo, @@ -42791,14 +42787,14 @@ unsafe extern "C-unwind" { pushedDown: bool, ); pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) - -> *mut List; + -> *mut List; pub fn makeSortGroupClauseForSetOp(rescoltype: Oid, require_hash: bool) - -> *mut SortGroupClause; + -> *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; + -> Oid; pub static mut Transform_null_equals: bool; pub fn transformExpr( pstate: *mut ParseState, @@ -43428,7 +43424,7 @@ unsafe extern "C-unwind" { ) -> ::core::ffi::c_int; pub fn RelationGetPartitionDesc(rel: Relation, omit_detached: bool) -> PartitionDesc; pub fn CreatePartitionDirectory(mcxt: MemoryContext, omit_detached: bool) - -> PartitionDirectory; + -> PartitionDirectory; pub fn PartitionDirectoryLookup(arg1: PartitionDirectory, arg2: Relation) -> PartitionDesc; pub fn DestroyPartitionDirectory(pdir: PartitionDirectory); pub fn get_default_oid_from_partdesc(partdesc: PartitionDesc) -> Oid; @@ -43661,7 +43657,7 @@ unsafe extern "C-unwind" { 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; + -> *const ::core::ffi::c_char; pub fn plpgsql_free_function_memory(func: *mut PLpgSQL_function); pub fn plpgsql_dumptree(func: *mut PLpgSQL_function); pub fn plpgsql_base_yylex() -> ::core::ffi::c_int; @@ -43970,7 +43966,7 @@ unsafe extern "C-unwind" { pub fn logicalrep_read_typ(out: 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; + -> TransactionId; pub fn logicalrep_write_stream_stop(out: StringInfo); pub fn logicalrep_write_stream_commit( out: StringInfo, @@ -44220,7 +44216,7 @@ unsafe extern "C-unwind" { pub fn AddInvertedQual(parsetree: *mut Query, qual: *mut Node); pub fn contain_aggs_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; pub fn locate_agg_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn contain_windowfuncs(node: *mut Node) -> bool; pub fn locate_windowfunc(node: *mut Node) -> ::core::ffi::c_int; pub fn checkExprHasSubLink(node: *mut Node) -> bool; @@ -48222,7 +48218,7 @@ unsafe extern "C-unwind" { 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; + -> bool; pub fn get_op_hash_functions( opno: Oid, lhs_procno: *mut RegProcedure, @@ -48380,7 +48376,7 @@ unsafe extern "C-unwind" { pub fn set_ps_display(activity: *const ::core::ffi::c_char); pub fn get_ps_display(displen: *mut ::core::ffi::c_int) -> *const ::core::ffi::c_char; pub fn format_procedure_extended(procedure_oid: Oid, flags: bits16) - -> *mut ::core::ffi::c_char; + -> *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) -> *mut List; pub fn format_procedure(procedure_oid: Oid) -> *mut ::core::ffi::c_char; diff --git a/pgrx-pg-sys/src/include/pg15.rs b/pgrx-pg-sys/src/include/pg15.rs index dde20c909..be124a038 100644 --- a/pgrx-pg-sys/src/include/pg15.rs +++ b/pgrx-pg-sys/src/include/pg15.rs @@ -47,11 +47,7 @@ where 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 - } + if val { byte | mask } else { byte & !mask } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { @@ -32645,7 +32641,7 @@ unsafe extern "C-unwind" { ) -> *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; + -> *mut ::core::ffi::c_void; pub fn MemoryContextRegisterResetCallback( context: MemoryContext, cb: *mut MemoryContextCallback, @@ -32879,7 +32875,7 @@ unsafe extern "C-unwind" { pub fn HeapTupleGetUpdateXid(tuple: HeapTupleHeader) -> TransactionId; #[link_name = "FullTransactionIdFromEpochAndXid__pgrx_cshim"] pub fn FullTransactionIdFromEpochAndXid(epoch: uint32, xid: TransactionId) - -> FullTransactionId; + -> FullTransactionId; #[link_name = "FullTransactionIdFromU64__pgrx_cshim"] pub fn FullTransactionIdFromU64(value: uint64) -> FullTransactionId; #[link_name = "FullTransactionIdRetreat__pgrx_cshim"] @@ -32984,7 +32980,7 @@ unsafe extern "C-unwind" { bit: *mut bits8, ); pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) - -> bool; + -> bool; pub fn nocachegetattr(tup: HeapTuple, attnum: ::core::ffi::c_int, att: TupleDesc) -> Datum; pub fn heap_getsysattr( tup: HeapTuple, @@ -33188,7 +33184,7 @@ unsafe extern "C-unwind" { msg: *const ::core::ffi::c_char, ) -> *mut TupleConversionMap; pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) - -> *mut TupleConversionMap; + -> *mut TupleConversionMap; pub fn execute_attr_map_tuple(tuple: HeapTuple, map: *mut TupleConversionMap) -> HeapTuple; pub fn execute_attr_map_slot( attrMap: *mut AttrMap, @@ -33196,7 +33192,7 @@ unsafe extern "C-unwind" { out_slot: *mut TupleTableSlot, ) -> *mut TupleTableSlot; pub fn execute_attr_map_cols(attrMap: *mut AttrMap, inbitmap: *mut Bitmapset) - -> *mut Bitmapset; + -> *mut Bitmapset; pub fn free_conversion_map(map: *mut TupleConversionMap); pub static mut pgBufferUsage: BufferUsage; pub static mut pgWalUsage: WalUsage; @@ -33403,7 +33399,7 @@ unsafe extern "C-unwind" { 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; + -> Datum; pub fn OidFunctionCall3Coll( functionId: Oid, collation: Oid, @@ -33872,7 +33868,7 @@ unsafe extern "C-unwind" { pub fn tbm_end_iterate(iterator: *mut TBMIterator); pub fn tbm_end_shared_iterate(iterator: *mut TBMSharedIterator); pub fn tbm_attach_shared_iterate(dsa: *mut dsa_area, dp: dsa_pointer) - -> *mut TBMSharedIterator; + -> *mut TBMSharedIterator; pub fn tbm_calculate_entries(maxbytes: f64) -> ::core::ffi::c_long; #[link_name = "tas__pgrx_cshim"] pub fn tas(lock: *mut slock_t) -> ::core::ffi::c_int; @@ -33887,7 +33883,7 @@ unsafe extern "C-unwind" { ) -> ::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; + -> ::core::ffi::c_int; #[link_name = "init_spin_delay__pgrx_cshim"] pub fn init_spin_delay( status: *mut SpinDelayStatus, @@ -34596,7 +34592,7 @@ unsafe extern "C-unwind" { pub fn MemoryContextAllowInCriticalSection(context: MemoryContext, allow: bool); pub fn MemoryContextCheck(context: MemoryContext); pub fn MemoryContextContains(context: MemoryContext, pointer: *mut ::core::ffi::c_void) - -> bool; + -> bool; pub fn MemoryContextCreate( node: MemoryContext, tag: NodeTag, @@ -34802,7 +34798,7 @@ unsafe extern "C-unwind" { ) -> 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; + -> *mut ExecAuxRowMark; pub fn EvalPlanQual( epqstate: *mut EPQState, relation: Relation, @@ -37263,7 +37259,7 @@ unsafe extern "C-unwind" { ); #[link_name = "table_scan_bitmap_next_block__pgrx_cshim"] pub fn table_scan_bitmap_next_block(scan: TableScanDesc, tbmres: *mut TBMIterateResult) - -> bool; + -> bool; #[link_name = "table_scan_bitmap_next_tuple__pgrx_cshim"] pub fn table_scan_bitmap_next_tuple( scan: TableScanDesc, @@ -37292,7 +37288,7 @@ unsafe extern "C-unwind" { ); pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) - -> Size; + -> Size; pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); pub fn table_block_parallelscan_nextpage( rel: Relation, @@ -39446,7 +39442,7 @@ unsafe extern "C-unwind" { pub fn smgrDoPendingDeletes(isCommit: bool); pub fn smgrDoPendingSyncs(isCommit: bool, isParallelWorker: bool); pub fn smgrGetPendingDeletes(forCommit: bool, ptr: *mut *mut RelFileNode) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn AtSubCommit_smgr(); pub fn AtSubAbort_smgr(); pub fn PostPrepare_smgr(); @@ -39527,7 +39523,7 @@ unsafe extern "C-unwind" { 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; + -> 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 check_encoding_locale_matches( @@ -41008,7 +41004,7 @@ unsafe extern "C-unwind" { Nulls: *const ::core::ffi::c_char, ) -> HeapTuple; pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) - -> ::core::ffi::c_int; + -> ::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, @@ -41022,7 +41018,7 @@ unsafe extern "C-unwind" { isnull: *mut bool, ) -> Datum; pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) - -> *mut ::core::ffi::c_char; + -> *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; @@ -41183,7 +41179,7 @@ unsafe extern "C-unwind" { ) -> *mut ::core::ffi::c_uchar; pub fn utf8_to_unicode(c: *const ::core::ffi::c_uchar) -> pg_wchar; pub fn pg_utf8_islegal(source: *const ::core::ffi::c_uchar, length: ::core::ffi::c_int) - -> bool; + -> bool; pub fn pg_utf_mblen(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; @@ -41310,7 +41306,7 @@ unsafe extern "C-unwind" { 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; + -> ::core::ffi::c_ushort; pub fn UtfToLocal( utf: *const ::core::ffi::c_uchar, len: ::core::ffi::c_int, @@ -42225,7 +42221,7 @@ unsafe extern "C-unwind" { 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 locate_var_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::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(query: *mut Query, node: *mut Node) -> *mut Node; pub fn compare_path_costs( @@ -42450,7 +42446,7 @@ unsafe extern "C-unwind" { inner_paramrels: Relids, ) -> Relids; pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) - -> Relids; + -> Relids; pub fn create_nestloop_path( root: *mut PlannerInfo, joinrel: *mut RelOptInfo, @@ -42701,7 +42697,7 @@ unsafe extern "C-unwind" { required_outer: Relids, ) -> *mut ParamPathInfo; pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) - -> *mut ParamPathInfo; + -> *mut ParamPathInfo; pub fn build_child_join_rel( root: *mut PlannerInfo, outer_rel: *mut RelOptInfo, @@ -43210,7 +43206,7 @@ unsafe extern "C-unwind" { otherquals: *mut *mut List, ); pub fn has_pseudoconstant_clauses(root: *mut PlannerInfo, restrictinfo_list: *mut List) - -> bool; + -> bool; pub fn join_clause_is_movable_to(rinfo: *mut RestrictInfo, baserel: *mut RelOptInfo) -> bool; pub fn join_clause_is_movable_into( rinfo: *mut RestrictInfo, @@ -43308,14 +43304,14 @@ unsafe extern "C-unwind" { pushedDown: bool, ); pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) - -> *mut List; + -> *mut List; pub fn makeSortGroupClauseForSetOp(rescoltype: Oid, require_hash: bool) - -> *mut SortGroupClause; + -> *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; + -> Oid; pub static mut Transform_null_equals: bool; pub fn transformExpr( pstate: *mut ParseState, @@ -43942,7 +43938,7 @@ unsafe extern "C-unwind" { ) -> ::core::ffi::c_int; pub fn RelationGetPartitionDesc(rel: Relation, omit_detached: bool) -> PartitionDesc; pub fn CreatePartitionDirectory(mcxt: MemoryContext, omit_detached: bool) - -> PartitionDirectory; + -> PartitionDirectory; pub fn PartitionDirectoryLookup(arg1: PartitionDirectory, arg2: Relation) -> PartitionDesc; pub fn DestroyPartitionDirectory(pdir: PartitionDirectory); pub fn get_default_oid_from_partdesc(partdesc: PartitionDesc) -> Oid; @@ -44175,7 +44171,7 @@ unsafe extern "C-unwind" { 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; + -> *const ::core::ffi::c_char; pub fn plpgsql_free_function_memory(func: *mut PLpgSQL_function); pub fn plpgsql_dumptree(func: *mut PLpgSQL_function); pub fn plpgsql_base_yylex() -> ::core::ffi::c_int; @@ -44531,7 +44527,7 @@ unsafe extern "C-unwind" { pub fn logicalrep_read_typ(out: 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; + -> TransactionId; pub fn logicalrep_write_stream_stop(out: StringInfo); pub fn logicalrep_write_stream_commit( out: StringInfo, @@ -44786,7 +44782,7 @@ unsafe extern "C-unwind" { pub fn AddInvertedQual(parsetree: *mut Query, qual: *mut Node); pub fn contain_aggs_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; pub fn locate_agg_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn contain_windowfuncs(node: *mut Node) -> bool; pub fn locate_windowfunc(node: *mut Node) -> ::core::ffi::c_int; pub fn checkExprHasSubLink(node: *mut Node) -> bool; @@ -48830,7 +48826,7 @@ unsafe extern "C-unwind" { 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; + -> bool; pub fn get_op_hash_functions( opno: Oid, lhs_procno: *mut RegProcedure, @@ -48988,7 +48984,7 @@ unsafe extern "C-unwind" { pub fn set_ps_display(activity: *const ::core::ffi::c_char); pub fn get_ps_display(displen: *mut ::core::ffi::c_int) -> *const ::core::ffi::c_char; pub fn format_procedure_extended(procedure_oid: Oid, flags: bits16) - -> *mut ::core::ffi::c_char; + -> *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) -> *mut List; pub fn format_procedure(procedure_oid: Oid) -> *mut ::core::ffi::c_char; diff --git a/pgrx-pg-sys/src/include/pg16.rs b/pgrx-pg-sys/src/include/pg16.rs index cecda58ab..58f84c684 100644 --- a/pgrx-pg-sys/src/include/pg16.rs +++ b/pgrx-pg-sys/src/include/pg16.rs @@ -47,11 +47,7 @@ where 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 - } + if val { byte | mask } else { byte & !mask } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { @@ -33604,7 +33600,7 @@ unsafe extern "C-unwind" { ) -> *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; + -> *mut ::core::ffi::c_void; pub fn MemoryContextRegisterResetCallback( context: MemoryContext, cb: *mut MemoryContextCallback, @@ -33952,7 +33948,7 @@ unsafe extern "C-unwind" { pub fn HeapTupleGetUpdateXid(tuple: HeapTupleHeader) -> TransactionId; #[link_name = "FullTransactionIdFromEpochAndXid__pgrx_cshim"] pub fn FullTransactionIdFromEpochAndXid(epoch: uint32, xid: TransactionId) - -> FullTransactionId; + -> FullTransactionId; #[link_name = "FullTransactionIdFromU64__pgrx_cshim"] pub fn FullTransactionIdFromU64(value: uint64) -> FullTransactionId; #[link_name = "FullTransactionIdRetreat__pgrx_cshim"] @@ -34117,7 +34113,7 @@ unsafe extern "C-unwind" { bit: *mut bits8, ); pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) - -> bool; + -> bool; pub fn nocachegetattr( tup: HeapTuple, attnum: ::core::ffi::c_int, @@ -34323,7 +34319,7 @@ unsafe extern "C-unwind" { msg: *const ::core::ffi::c_char, ) -> *mut TupleConversionMap; pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) - -> *mut TupleConversionMap; + -> *mut TupleConversionMap; pub fn convert_tuples_by_name_attrmap( indesc: TupleDesc, outdesc: TupleDesc, @@ -34546,7 +34542,7 @@ unsafe extern "C-unwind" { 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; + -> Datum; pub fn OidFunctionCall3Coll( functionId: Oid, collation: Oid, @@ -35080,7 +35076,7 @@ unsafe extern "C-unwind" { pub fn tbm_end_iterate(iterator: *mut TBMIterator); pub fn tbm_end_shared_iterate(iterator: *mut TBMSharedIterator); pub fn tbm_attach_shared_iterate(dsa: *mut dsa_area, dp: dsa_pointer) - -> *mut TBMSharedIterator; + -> *mut TBMSharedIterator; pub fn tbm_calculate_entries(maxbytes: f64) -> ::core::ffi::c_long; #[link_name = "tas__pgrx_cshim"] pub fn tas(lock: *mut slock_t) -> ::core::ffi::c_int; @@ -35095,7 +35091,7 @@ unsafe extern "C-unwind" { ) -> ::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; + -> ::core::ffi::c_int; #[link_name = "init_spin_delay__pgrx_cshim"] pub fn init_spin_delay( status: *mut SpinDelayStatus, @@ -36080,7 +36076,7 @@ unsafe extern "C-unwind" { ) -> 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; + -> *mut ExecAuxRowMark; pub fn EvalPlanQual( epqstate: *mut EPQState, relation: Relation, @@ -38106,7 +38102,7 @@ unsafe extern "C-unwind" { ); #[link_name = "table_scan_bitmap_next_block__pgrx_cshim"] pub fn table_scan_bitmap_next_block(scan: TableScanDesc, tbmres: *mut TBMIterateResult) - -> bool; + -> bool; #[link_name = "table_scan_bitmap_next_tuple__pgrx_cshim"] pub fn table_scan_bitmap_next_tuple( scan: TableScanDesc, @@ -38135,7 +38131,7 @@ unsafe extern "C-unwind" { ); pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) - -> Size; + -> Size; pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); pub fn table_block_parallelscan_nextpage( rel: Relation, @@ -40280,7 +40276,7 @@ unsafe extern "C-unwind" { 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; + -> 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; @@ -42314,7 +42310,7 @@ unsafe extern "C-unwind" { Nulls: *const ::core::ffi::c_char, ) -> HeapTuple; pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) - -> ::core::ffi::c_int; + -> ::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, @@ -42328,7 +42324,7 @@ unsafe extern "C-unwind" { isnull: *mut bool, ) -> Datum; pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) - -> *mut ::core::ffi::c_char; + -> *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; @@ -42489,7 +42485,7 @@ unsafe extern "C-unwind" { ) -> *mut ::core::ffi::c_uchar; pub fn utf8_to_unicode(c: *const ::core::ffi::c_uchar) -> pg_wchar; pub fn pg_utf8_islegal(source: *const ::core::ffi::c_uchar, length: ::core::ffi::c_int) - -> bool; + -> bool; pub fn pg_utf_mblen(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; @@ -42617,7 +42613,7 @@ unsafe extern "C-unwind" { 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; + -> ::core::ffi::c_ushort; pub fn UtfToLocal( utf: *const ::core::ffi::c_uchar, len: ::core::ffi::c_int, @@ -43593,7 +43589,7 @@ unsafe extern "C-unwind" { 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 locate_var_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::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, @@ -43823,7 +43819,7 @@ unsafe extern "C-unwind" { inner_paramrels: Relids, ) -> Relids; pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) - -> Relids; + -> Relids; pub fn create_nestloop_path( root: *mut PlannerInfo, joinrel: *mut RelOptInfo, @@ -44078,7 +44074,7 @@ unsafe extern "C-unwind" { required_outer: Relids, ) -> *mut ParamPathInfo; pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) - -> *mut ParamPathInfo; + -> *mut ParamPathInfo; pub fn get_param_path_clause_serials(path: *mut Path) -> *mut Bitmapset; pub fn build_child_join_rel( root: *mut PlannerInfo, @@ -44593,7 +44589,7 @@ unsafe extern "C-unwind" { otherquals: *mut *mut List, ); pub fn has_pseudoconstant_clauses(root: *mut PlannerInfo, restrictinfo_list: *mut List) - -> bool; + -> bool; pub fn join_clause_is_movable_to(rinfo: *mut RestrictInfo, baserel: *mut RelOptInfo) -> bool; pub fn join_clause_is_movable_into( rinfo: *mut RestrictInfo, @@ -44688,14 +44684,14 @@ unsafe extern "C-unwind" { pushedDown: bool, ); pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) - -> *mut List; + -> *mut List; pub fn makeSortGroupClauseForSetOp(rescoltype: Oid, require_hash: bool) - -> *mut SortGroupClause; + -> *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; + -> Oid; pub static mut Transform_null_equals: bool; pub fn transformExpr( pstate: *mut ParseState, @@ -45336,7 +45332,7 @@ unsafe extern "C-unwind" { ) -> ::core::ffi::c_int; pub fn RelationGetPartitionDesc(rel: Relation, omit_detached: bool) -> PartitionDesc; pub fn CreatePartitionDirectory(mcxt: MemoryContext, omit_detached: bool) - -> PartitionDirectory; + -> PartitionDirectory; pub fn PartitionDirectoryLookup(arg1: PartitionDirectory, arg2: Relation) -> PartitionDesc; pub fn DestroyPartitionDirectory(pdir: PartitionDirectory); pub fn get_default_oid_from_partdesc(partdesc: PartitionDesc) -> Oid; @@ -45572,7 +45568,7 @@ unsafe extern "C-unwind" { 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; + -> *const ::core::ffi::c_char; pub fn plpgsql_free_function_memory(func: *mut PLpgSQL_function); pub fn plpgsql_dumptree(func: *mut PLpgSQL_function); pub fn plpgsql_base_yylex() -> ::core::ffi::c_int; @@ -45936,7 +45932,7 @@ unsafe extern "C-unwind" { 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; + -> TransactionId; pub fn logicalrep_write_stream_stop(out: StringInfo); pub fn logicalrep_write_stream_commit( out: StringInfo, @@ -46204,7 +46200,7 @@ unsafe extern "C-unwind" { pub fn AddInvertedQual(parsetree: *mut Query, qual: *mut Node); pub fn contain_aggs_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; pub fn locate_agg_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn contain_windowfuncs(node: *mut Node) -> bool; pub fn locate_windowfunc(node: *mut Node) -> ::core::ffi::c_int; pub fn checkExprHasSubLink(node: *mut Node) -> bool; @@ -50535,7 +50531,7 @@ unsafe extern "C-unwind" { 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; + -> bool; pub fn get_op_hash_functions( opno: Oid, lhs_procno: *mut RegProcedure, @@ -50701,7 +50697,7 @@ unsafe extern "C-unwind" { pub fn set_ps_display(activity: *const ::core::ffi::c_char); pub fn get_ps_display(displen: *mut ::core::ffi::c_int) -> *const ::core::ffi::c_char; pub fn format_procedure_extended(procedure_oid: Oid, flags: bits16) - -> *mut ::core::ffi::c_char; + -> *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, diff --git a/pgrx-pg-sys/src/include/pg17.rs b/pgrx-pg-sys/src/include/pg17.rs index c28b9911a..deb74e304 100644 --- a/pgrx-pg-sys/src/include/pg17.rs +++ b/pgrx-pg-sys/src/include/pg17.rs @@ -47,11 +47,7 @@ where 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 - } + if val { byte | mask } else { byte & !mask } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { @@ -34496,7 +34492,7 @@ unsafe extern "C-unwind" { ) -> *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; + -> *mut ::core::ffi::c_void; pub fn MemoryContextRegisterResetCallback( context: MemoryContext, cb: *mut MemoryContextCallback, @@ -34848,7 +34844,7 @@ unsafe extern "C-unwind" { pub fn HeapTupleGetUpdateXid(tuple: HeapTupleHeader) -> TransactionId; #[link_name = "FullTransactionIdFromEpochAndXid__pgrx_cshim"] pub fn FullTransactionIdFromEpochAndXid(epoch: uint32, xid: TransactionId) - -> FullTransactionId; + -> FullTransactionId; #[link_name = "FullTransactionIdFromU64__pgrx_cshim"] pub fn FullTransactionIdFromU64(value: uint64) -> FullTransactionId; #[link_name = "FullTransactionIdRetreat__pgrx_cshim"] @@ -35020,7 +35016,7 @@ unsafe extern "C-unwind" { bit: *mut bits8, ); pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) - -> bool; + -> bool; pub fn nocachegetattr( tup: HeapTuple, attnum: ::core::ffi::c_int, @@ -35229,7 +35225,7 @@ unsafe extern "C-unwind" { msg: *const ::core::ffi::c_char, ) -> *mut TupleConversionMap; pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) - -> *mut TupleConversionMap; + -> *mut TupleConversionMap; pub fn convert_tuples_by_name_attrmap( indesc: TupleDesc, outdesc: TupleDesc, @@ -35452,7 +35448,7 @@ unsafe extern "C-unwind" { 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; + -> Datum; pub fn OidFunctionCall3Coll( functionId: Oid, collation: Oid, @@ -36006,7 +36002,7 @@ unsafe extern "C-unwind" { pub fn tbm_end_iterate(iterator: *mut TBMIterator); pub fn tbm_end_shared_iterate(iterator: *mut TBMSharedIterator); pub fn tbm_attach_shared_iterate(dsa: *mut dsa_area, dp: dsa_pointer) - -> *mut TBMSharedIterator; + -> *mut TBMSharedIterator; pub fn tbm_calculate_entries(maxbytes: f64) -> ::core::ffi::c_long; pub static mut MyProcNumber: ProcNumber; pub static mut ParallelLeaderProcNumber: ProcNumber; @@ -36022,7 +36018,7 @@ unsafe extern "C-unwind" { ) -> ::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; + -> ::core::ffi::c_int; #[link_name = "init_spin_delay__pgrx_cshim"] pub fn init_spin_delay( status: *mut SpinDelayStatus, @@ -37018,7 +37014,7 @@ unsafe extern "C-unwind" { >; pub fn pg_popcount_avx512_available() -> bool; pub fn pg_popcount_avx512(buf: *const ::core::ffi::c_char, bytes: ::core::ffi::c_int) - -> uint64; + -> uint64; pub fn pg_popcount_masked_avx512( buf: *const ::core::ffi::c_char, bytes: ::core::ffi::c_int, @@ -37367,7 +37363,7 @@ unsafe extern "C-unwind" { ) -> 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; + -> *mut ExecAuxRowMark; pub fn EvalPlanQual( epqstate: *mut EPQState, relation: Relation, @@ -39449,7 +39445,7 @@ unsafe extern "C-unwind" { ); #[link_name = "table_scan_bitmap_next_block__pgrx_cshim"] pub fn table_scan_bitmap_next_block(scan: TableScanDesc, tbmres: *mut TBMIterateResult) - -> bool; + -> bool; #[link_name = "table_scan_bitmap_next_tuple__pgrx_cshim"] pub fn table_scan_bitmap_next_tuple( scan: TableScanDesc, @@ -39478,7 +39474,7 @@ unsafe extern "C-unwind" { ); pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) - -> Size; + -> Size; pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); pub fn table_block_parallelscan_nextpage( rel: Relation, @@ -41537,7 +41533,7 @@ unsafe extern "C-unwind" { 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; + -> 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; @@ -43670,7 +43666,7 @@ unsafe extern "C-unwind" { Nulls: *const ::core::ffi::c_char, ) -> HeapTuple; pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) - -> ::core::ffi::c_int; + -> ::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, @@ -43684,7 +43680,7 @@ unsafe extern "C-unwind" { isnull: *mut bool, ) -> Datum; pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) - -> *mut ::core::ffi::c_char; + -> *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; @@ -43846,11 +43842,11 @@ unsafe extern "C-unwind" { 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; + -> ::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; + -> 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; @@ -43978,7 +43974,7 @@ unsafe extern "C-unwind" { 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; + -> ::core::ffi::c_ushort; pub fn UtfToLocal( utf: *const ::core::ffi::c_uchar, len: ::core::ffi::c_int, @@ -44971,7 +44967,7 @@ unsafe extern "C-unwind" { 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 locate_var_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::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, @@ -45205,7 +45201,7 @@ unsafe extern "C-unwind" { inner_paramrels: Relids, ) -> Relids; pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) - -> Relids; + -> Relids; pub fn create_nestloop_path( root: *mut PlannerInfo, joinrel: *mut RelOptInfo, @@ -45467,7 +45463,7 @@ unsafe extern "C-unwind" { required_outer: Relids, ) -> *mut ParamPathInfo; pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) - -> *mut ParamPathInfo; + -> *mut ParamPathInfo; pub fn get_param_path_clause_serials(path: *mut Path) -> *mut Bitmapset; pub fn build_child_join_rel( root: *mut PlannerInfo, @@ -46103,14 +46099,14 @@ unsafe extern "C-unwind" { pushedDown: bool, ); pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) - -> *mut List; + -> *mut List; pub fn makeSortGroupClauseForSetOp(rescoltype: Oid, require_hash: bool) - -> *mut SortGroupClause; + -> *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; + -> Oid; pub static mut Transform_null_equals: bool; pub fn transformExpr( pstate: *mut ParseState, @@ -46752,7 +46748,7 @@ unsafe extern "C-unwind" { ) -> ::core::ffi::c_int; pub fn RelationGetPartitionDesc(rel: Relation, omit_detached: bool) -> PartitionDesc; pub fn CreatePartitionDirectory(mcxt: MemoryContext, omit_detached: bool) - -> PartitionDirectory; + -> PartitionDirectory; pub fn PartitionDirectoryLookup(arg1: PartitionDirectory, arg2: Relation) -> PartitionDesc; pub fn DestroyPartitionDirectory(pdir: PartitionDirectory); pub fn get_default_oid_from_partdesc(partdesc: PartitionDesc) -> Oid; @@ -46962,7 +46958,7 @@ unsafe extern "C-unwind" { 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; + -> *const ::core::ffi::c_char; pub fn plpgsql_free_function_memory(func: *mut PLpgSQL_function); pub fn plpgsql_dumptree(func: *mut PLpgSQL_function); pub fn plpgsql_base_yylex() -> ::core::ffi::c_int; @@ -47334,7 +47330,7 @@ unsafe extern "C-unwind" { 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; + -> TransactionId; pub fn logicalrep_write_stream_stop(out: StringInfo); pub fn logicalrep_write_stream_commit( out: StringInfo, @@ -47633,7 +47629,7 @@ unsafe extern "C-unwind" { pub fn AddInvertedQual(parsetree: *mut Query, qual: *mut Node); pub fn contain_aggs_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; pub fn locate_agg_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn contain_windowfuncs(node: *mut Node) -> bool; pub fn locate_windowfunc(node: *mut Node) -> ::core::ffi::c_int; pub fn checkExprHasSubLink(node: *mut Node) -> bool; @@ -52063,7 +52059,7 @@ unsafe extern "C-unwind" { 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; + -> bool; pub fn get_op_hash_functions( opno: Oid, lhs_procno: *mut RegProcedure, @@ -52231,7 +52227,7 @@ unsafe extern "C-unwind" { pub fn set_ps_display(activity: *const ::core::ffi::c_char); pub fn get_ps_display(displen: *mut ::core::ffi::c_int) -> *const ::core::ffi::c_char; pub fn format_procedure_extended(procedure_oid: Oid, flags: bits16) - -> *mut ::core::ffi::c_char; + -> *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, diff --git a/pgrx-pg-sys/src/include/pg18.rs b/pgrx-pg-sys/src/include/pg18.rs index dd60e47a6..ebd5086e5 100644 --- a/pgrx-pg-sys/src/include/pg18.rs +++ b/pgrx-pg-sys/src/include/pg18.rs @@ -47,11 +47,7 @@ where 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 - } + if val { byte | mask } else { byte & !mask } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { @@ -35896,7 +35892,7 @@ unsafe extern "C-unwind" { ) -> *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; + -> *mut ::core::ffi::c_void; pub fn MemoryContextRegisterResetCallback( context: MemoryContext, cb: *mut MemoryContextCallback, @@ -36139,12 +36135,12 @@ unsafe extern "C-unwind" { pub fn verify_compact_attribute(arg1: TupleDesc, attnum: ::core::ffi::c_int); #[link_name = "TupleDescCompactAttr__pgrx_cshim"] pub fn TupleDescCompactAttr(tupdesc: TupleDesc, i: ::core::ffi::c_int) - -> *mut CompactAttribute; + -> *mut CompactAttribute; 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; + -> TupleDesc; pub fn CreateTupleDescCopyConstr(tupdesc: TupleDesc) -> TupleDesc; pub fn TupleDescCopy(dst: TupleDesc, src: TupleDesc); pub fn TupleDescCopyEntry( @@ -36258,7 +36254,7 @@ unsafe extern "C-unwind" { pub fn HeapTupleGetUpdateXid(tup: *const HeapTupleHeaderData) -> TransactionId; #[link_name = "FullTransactionIdFromEpochAndXid__pgrx_cshim"] pub fn FullTransactionIdFromEpochAndXid(epoch: uint32, xid: TransactionId) - -> FullTransactionId; + -> FullTransactionId; #[link_name = "FullTransactionIdFromU64__pgrx_cshim"] pub fn FullTransactionIdFromU64(value: uint64) -> FullTransactionId; #[link_name = "FullTransactionIdRetreat__pgrx_cshim"] @@ -36541,7 +36537,7 @@ unsafe extern "C-unwind" { bit: *mut bits8, ); pub fn heap_attisnull(tup: HeapTuple, attnum: ::core::ffi::c_int, tupleDesc: TupleDesc) - -> bool; + -> bool; pub fn nocachegetattr( tup: HeapTuple, attnum: ::core::ffi::c_int, @@ -36753,7 +36749,7 @@ unsafe extern "C-unwind" { msg: *const ::core::ffi::c_char, ) -> *mut TupleConversionMap; pub fn convert_tuples_by_name(indesc: TupleDesc, outdesc: TupleDesc) - -> *mut TupleConversionMap; + -> *mut TupleConversionMap; pub fn convert_tuples_by_name_attrmap( indesc: TupleDesc, outdesc: TupleDesc, @@ -36975,7 +36971,7 @@ unsafe extern "C-unwind" { 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; + -> Datum; pub fn OidFunctionCall3Coll( functionId: Oid, collation: Oid, @@ -37560,7 +37556,7 @@ unsafe extern "C-unwind" { 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; + -> *mut TBMSharedIterator; pub fn tbm_calculate_entries(maxbytes: Size) -> ::core::ffi::c_int; pub fn tbm_begin_iterate( tbm: *mut TIDBitmap, @@ -37585,7 +37581,7 @@ unsafe extern "C-unwind" { ) -> ::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; + -> ::core::ffi::c_int; #[link_name = "init_spin_delay__pgrx_cshim"] pub fn init_spin_delay( status: *mut SpinDelayStatus, @@ -38647,7 +38643,7 @@ unsafe extern "C-unwind" { >; pub fn pg_popcount_avx512_available() -> bool; pub fn pg_popcount_avx512(buf: *const ::core::ffi::c_char, bytes: ::core::ffi::c_int) - -> uint64; + -> uint64; pub fn pg_popcount_masked_avx512( buf: *const ::core::ffi::c_char, bytes: ::core::ffi::c_int, @@ -38996,7 +38992,7 @@ unsafe extern "C-unwind" { ) -> 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; + -> *mut ExecAuxRowMark; pub fn EvalPlanQual( epqstate: *mut EPQState, relation: Relation, @@ -41462,7 +41458,7 @@ unsafe extern "C-unwind" { ); pub fn table_block_parallelscan_estimate(rel: Relation) -> Size; pub fn table_block_parallelscan_initialize(rel: Relation, pscan: ParallelTableScanDesc) - -> Size; + -> Size; pub fn table_block_parallelscan_reinitialize(rel: Relation, pscan: ParallelTableScanDesc); pub fn table_block_parallelscan_nextpage( rel: Relation, @@ -43405,7 +43401,7 @@ unsafe extern "C-unwind" { 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; + -> 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; @@ -45630,7 +45626,7 @@ unsafe extern "C-unwind" { Nulls: *const ::core::ffi::c_char, ) -> HeapTuple; pub fn SPI_fnumber(tupdesc: TupleDesc, fname: *const ::core::ffi::c_char) - -> ::core::ffi::c_int; + -> ::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, @@ -45644,7 +45640,7 @@ unsafe extern "C-unwind" { isnull: *mut bool, ) -> Datum; pub fn SPI_gettype(tupdesc: TupleDesc, fnumber: ::core::ffi::c_int) - -> *mut ::core::ffi::c_char; + -> *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; @@ -45806,11 +45802,11 @@ unsafe extern "C-unwind" { 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; + -> ::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; + -> 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; @@ -45938,7 +45934,7 @@ unsafe extern "C-unwind" { 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; + -> ::core::ffi::c_ushort; pub fn UtfToLocal( utf: *const ::core::ffi::c_uchar, len: ::core::ffi::c_int, @@ -46954,7 +46950,7 @@ unsafe extern "C-unwind" { 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; + -> ::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, @@ -47198,7 +47194,7 @@ unsafe extern "C-unwind" { inner_paramrels: Relids, ) -> Relids; pub fn calc_non_nestloop_required_outer(outer_path: *mut Path, inner_path: *mut Path) - -> Relids; + -> Relids; pub fn create_nestloop_path( root: *mut PlannerInfo, joinrel: *mut RelOptInfo, @@ -47460,7 +47456,7 @@ unsafe extern "C-unwind" { required_outer: Relids, ) -> *mut ParamPathInfo; pub fn find_param_path_info(rel: *mut RelOptInfo, required_outer: Relids) - -> *mut ParamPathInfo; + -> *mut ParamPathInfo; pub fn get_param_path_clause_serials(path: *mut Path) -> *mut Bitmapset; pub fn build_child_join_rel( root: *mut PlannerInfo, @@ -48163,14 +48159,14 @@ unsafe extern "C-unwind" { pushedDown: bool, ); pub fn BuildOnConflictExcludedTargetlist(targetrel: Relation, exclRelIndex: Index) - -> *mut List; + -> *mut List; pub fn makeSortGroupClauseForSetOp(rescoltype: Oid, require_hash: bool) - -> *mut SortGroupClause; + -> *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; + -> Oid; pub static mut Transform_null_equals: bool; pub fn transformExpr( pstate: *mut ParseState, @@ -48817,7 +48813,7 @@ unsafe extern "C-unwind" { ) -> ::core::ffi::c_int; pub fn RelationGetPartitionDesc(rel: Relation, omit_detached: bool) -> PartitionDesc; pub fn CreatePartitionDirectory(mcxt: MemoryContext, omit_detached: bool) - -> PartitionDirectory; + -> PartitionDirectory; pub fn PartitionDirectoryLookup(arg1: PartitionDirectory, arg2: Relation) -> PartitionDesc; pub fn DestroyPartitionDirectory(pdir: PartitionDirectory); pub fn get_default_oid_from_partdesc(partdesc: PartitionDesc) -> Oid; @@ -49042,7 +49038,7 @@ unsafe extern "C-unwind" { 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; + -> *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); @@ -49454,7 +49450,7 @@ unsafe extern "C-unwind" { 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; + -> TransactionId; pub fn logicalrep_write_stream_stop(out: StringInfo); pub fn logicalrep_write_stream_commit( out: StringInfo, @@ -49717,7 +49713,7 @@ unsafe extern "C-unwind" { yyscanner: yyscan_t, ) -> ::core::ffi::c_int; pub fn replication_yylex(yylval_param: *mut YYSTYPE, yyscanner: yyscan_t) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn replication_yyerror( replication_parse_result_p: *mut *mut Node, yyscanner: yyscan_t, @@ -49813,7 +49809,7 @@ unsafe extern "C-unwind" { pub fn AddInvertedQual(parsetree: *mut Query, qual: *mut Node); pub fn contain_aggs_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) -> bool; pub fn locate_agg_of_level(node: *mut Node, levelsup: ::core::ffi::c_int) - -> ::core::ffi::c_int; + -> ::core::ffi::c_int; pub fn contain_windowfuncs(node: *mut Node) -> bool; pub fn locate_windowfunc(node: *mut Node) -> ::core::ffi::c_int; pub fn checkExprHasSubLink(node: *mut Node) -> bool; @@ -54320,7 +54316,7 @@ unsafe extern "C-unwind" { 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; + -> bool; pub fn get_op_hash_functions( opno: Oid, lhs_procno: *mut RegProcedure, @@ -54490,7 +54486,7 @@ unsafe extern "C-unwind" { pub fn set_ps_display(activity: *const ::core::ffi::c_char); pub fn get_ps_display(displen: *mut ::core::ffi::c_int) -> *const ::core::ffi::c_char; pub fn format_procedure_extended(procedure_oid: Oid, flags: bits16) - -> *mut ::core::ffi::c_char; + -> *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, From f019fa604fd1b1c0806bb86c79783dbee923af0d Mon Sep 17 00:00:00 2001 From: "Eric B. Ridge" Date: Sun, 31 May 2026 19:53:27 +0000 Subject: [PATCH 3/3] fix windows compilation error --- pgrx-tests/src/framework.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgrx-tests/src/framework.rs b/pgrx-tests/src/framework.rs index bdee114b7..ae66233ed 100644 --- a/pgrx-tests/src/framework.rs +++ b/pgrx-tests/src/framework.rs @@ -1260,7 +1260,7 @@ pub mod pipe { impl WindowsNamedPipe { pub fn create() -> std::io::Result { let filename: String = - rand::thread_rng().sample_iter(Alphanumeric).map(char::from).take(6).collect(); + rand::rng().sample_iter(Alphanumeric).map(char::from).take(6).collect(); let path = format!(r"\\.\pipe\{filename}"); let server = unsafe { use std::os::windows::ffi::OsStrExt;