diff --git a/Cargo.lock b/Cargo.lock index d64dcc5d0..66ec94943 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -103,9 +103,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" [[package]] name = "arrays" @@ -119,13 +119,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.71" +version = "0.1.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" +checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] @@ -197,9 +197,9 @@ checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" [[package]] name = "basic-toml" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f838d03a705d72b12389b8930bd14cacf493be1380bfb15720d4d12db5ab03ac" +checksum = "7bfc506e7a2370ec239e1d072507b2a80c833083699d3c6fa176fbb4de8448c6" dependencies = [ "serde", ] @@ -238,7 +238,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] @@ -327,7 +327,7 @@ dependencies = [ [[package]] name = "cargo-pgrx" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" dependencies = [ "atty", "cargo_metadata", @@ -352,11 +352,11 @@ dependencies = [ "quote", "rayon", "regex", - "semver 1.0.17", + "semver 1.0.18", "serde", "serde-xml-rs", "serde_derive", - "syn 2.0.25", + "syn 2.0.28", "tempfile", "tracing", "tracing-error", @@ -383,7 +383,7 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.17", + "semver 1.0.18", "serde", "serde_json", "thiserror", @@ -433,9 +433,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.11" +version = "4.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d" +checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d" dependencies = [ "clap_builder", "clap_derive", @@ -455,9 +455,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.3.11" +version = "4.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b" +checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1" dependencies = [ "anstream", "anstyle", @@ -469,14 +469,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.3.2" +version = "4.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" +checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] @@ -680,6 +680,12 @@ dependencies = [ "rand", ] +[[package]] +name = "deranged" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8810e7e2cf385b1e9b50d68264908ec367ba642c96d02edfe61c39e88e2a3c01" + [[package]] name = "digest" version = "0.10.7" @@ -720,28 +726,28 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "enum-map" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "017b207acb4cc917f4c31758ed95c0bc63ddb0f358b22eb38f80a2b2a43f6b1f" +checksum = "9705d8de4776df900a4a0b2384f8b0ab42f775e93b083b42f8ce71bdc32a47e3" dependencies = [ "enum-map-derive", ] [[package]] name = "enum-map-derive" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8560b409800a72d2d7860f8e5f4e0b0bd22bea6a352ea2a9ce30ccdef7f16d2f" +checksum = "ccb14d927583dd5c2eac0f2cf264fc4762aefe1ae14c47a8a20fc1939d3a5fc0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] @@ -762,9 +768,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" dependencies = [ "errno-dragonfly", "libc", @@ -807,9 +813,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fancy-regex" -version = "0.7.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6b8560a05112eb52f04b00e5d3790c0dd75d9d980eb8a122fb23b92a623ccf" +checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2" dependencies = [ "bit-set", "regex", @@ -817,12 +823,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "1.9.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" [[package]] name = "fixedbitset" @@ -909,7 +912,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] @@ -1087,15 +1090,6 @@ dependencies = [ "hashbrown 0.14.0", ] -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - [[package]] name = "io-lifetimes" version = "1.0.11" @@ -1126,9 +1120,9 @@ checksum = "616cde7c720bb2bb5824a224687d8f77bfd38922027f01d825cd7453be5099fb" [[package]] name = "itoa" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "js-sys" @@ -1224,9 +1218,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" [[package]] name = "lock_api" @@ -1436,7 +1430,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] @@ -1534,9 +1528,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.7.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9" +checksum = "1acb4a4365a13f749a93f1a094a7805e5cfa0955373a9de860d962eaa3a5fe5a" dependencies = [ "thiserror", "ucd-trie", @@ -1554,7 +1548,7 @@ dependencies = [ [[package]] name = "pgrx" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" dependencies = [ "atomic-traits", "bitflags 2.3.3", @@ -1577,7 +1571,7 @@ dependencies = [ [[package]] name = "pgrx-macros" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" dependencies = [ "pgrx-sql-entity-graph", "proc-macro2", @@ -1588,7 +1582,7 @@ dependencies = [ [[package]] name = "pgrx-pg-config" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" dependencies = [ "cargo_toml", "dirs", @@ -1604,7 +1598,7 @@ dependencies = [ [[package]] name = "pgrx-pg-sys" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" dependencies = [ "bindgen", "eyre", @@ -1624,7 +1618,7 @@ dependencies = [ [[package]] name = "pgrx-sql-entity-graph" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" dependencies = [ "atty", "convert_case", @@ -1640,7 +1634,7 @@ dependencies = [ [[package]] name = "pgrx-tests" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" dependencies = [ "clap-cargo", "eyre", @@ -1779,19 +1773,19 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "prettyplease" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92139198957b410250d43fad93e630d956499a625c527eda65175c8680f83387" +checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62" dependencies = [ "proc-macro2", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] name = "proc-macro2" -version = "1.0.64" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -1807,9 +1801,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.29" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] @@ -1917,7 +1911,7 @@ checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.3.3", + "regex-automata 0.3.4", "regex-syntax 0.7.4", ] @@ -1932,9 +1926,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" +checksum = "b7b6d6190b7594385f61bd3911cd1be99dfddcfc365a4160cc2ab5bff4aed294" dependencies = [ "aho-corasick", "memchr", @@ -2001,7 +1995,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.17", + "semver 1.0.18", ] [[package]] @@ -2027,7 +2021,7 @@ dependencies = [ "bitflags 2.3.3", "errno", "libc", - "linux-raw-sys 0.4.3", + "linux-raw-sys 0.4.5", "windows-sys", ] @@ -2039,7 +2033,7 @@ checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36" dependencies = [ "log", "ring", - "rustls-webpki 0.101.1", + "rustls-webpki 0.101.2", "sct", ] @@ -2055,9 +2049,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.101.1" +version = "0.101.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f36a6828982f422756984e47912a7a51dcbc2a197aa791158f8ca61cd8204e" +checksum = "513722fd73ad80a71f72b61009ea1b584bcfa1483ca93949c8f290298837fa59" dependencies = [ "ring", "untrusted", @@ -2076,9 +2070,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "safemem" @@ -2115,9 +2109,9 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" @@ -2137,9 +2131,9 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "security-framework" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -2150,9 +2144,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -2169,9 +2163,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" dependencies = [ "serde", ] @@ -2187,15 +2181,15 @@ dependencies = [ [[package]] name = "seq-macro" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63134939175b3131fe4d2c131b103fd42f25ccca89423d43b5e4f267920ccf03" +checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.171" +version = "1.0.180" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" +checksum = "0ea67f183f058fe88a4e3ec6e2788e003840893b91bac4559cabedd00863b3ed" dependencies = [ "serde_derive", ] @@ -2224,20 +2218,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.171" +version = "1.0.180" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" +checksum = "24e744d7782b686ab3b73267ef05697159cc0e5abbed3f47f9933165e5219036" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] name = "serde_json" -version = "1.0.102" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5062a995d481b2308b6064e9af76011f2921c35f97b0468811ed9f6cd91dfed" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" dependencies = [ "itoa", "ryu", @@ -2390,9 +2384,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "stringprep" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1" +checksum = "db3737bde7edce97102e0e2b15365bf7a20bfdb5f60f4f9e8d7004258a51a8da" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -2441,9 +2435,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.25" +version = "2.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" dependencies = [ "proc-macro2", "quote", @@ -2452,21 +2446,19 @@ dependencies = [ [[package]] name = "syntect" -version = "5.0.0" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6c454c27d9d7d9a84c7803aaa3c50cd088d2906fe3c6e42da3209aa623576a8" +checksum = "e02b4b303bf8d08bfeb0445cba5068a3d306b6baece1d5582171a9bf49188f91" dependencies = [ "bincode", "bitflags 1.3.2", "fancy-regex", "flate2", "fnv", - "lazy_static", "once_cell", "plist", - "regex-syntax 0.6.29", + "regex-syntax 0.7.4", "serde", - "serde_derive", "serde_json", "thiserror", "walkdir", @@ -2475,9 +2467,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.29.4" +version = "0.29.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "751e810399bba86e9326f5762b7f32ac5a085542df78da6a78d94e07d14d7c11" +checksum = "165d6d8539689e3d3bc8b98ac59541e1f21c7de7c85d60dc80e43ae0ed2113db" dependencies = [ "cfg-if", "core-foundation-sys", @@ -2496,15 +2488,14 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.6.0" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" dependencies = [ - "autocfg", "cfg-if", "fastrand", "redox_syscall 0.3.5", - "rustix 0.37.23", + "rustix 0.38.4", "windows-sys", ] @@ -2529,22 +2520,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" +checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" +checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] @@ -2559,10 +2550,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.23" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +checksum = "b79eabcd964882a646b3584543ccabeae7869e9ac32a46f6f22b7a5bd405308b" dependencies = [ + "deranged", "itoa", "serde", "time-core", @@ -2577,9 +2569,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" dependencies = [ "time-core", ] @@ -2676,9 +2668,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.19.13" +version = "0.19.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f8751d9c1b03c6500c387e96f81f815a4f8e72d142d2d4a9ffa6fedd51ddee7" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" dependencies = [ "indexmap 2.0.0", "serde", @@ -2707,7 +2699,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] @@ -2770,9 +2762,9 @@ dependencies = [ [[package]] name = "trybuild" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04366e99ff743345622cd00af2af01d711dc2d1ef59250d7347698d21b546729" +checksum = "a84e0202ea606ba5ebee8507ab2bfbe89b98551ed9b8f0be198109275cff284b" dependencies = [ "basic-toml", "glob", @@ -2819,9 +2811,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" @@ -2880,9 +2872,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" dependencies = [ "getrandom", ] @@ -2958,7 +2950,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.28", "wasm-bindgen-shared", ] @@ -2980,7 +2972,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.28", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3109,9 +3101,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winnow" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7" +checksum = "8bd122eb777186e60c3fdf765a58ac76e41c582f1f535fbf3314434c6b58f3f7" dependencies = [ "memchr", ] @@ -3127,9 +3119,9 @@ dependencies = [ [[package]] name = "xml-rs" -version = "0.8.15" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a56c84a8ccd4258aed21c92f70c0f6dea75356b6892ae27c24139da456f9336" +checksum = "47430998a7b5d499ccee752b41567bc3afc57e1327dc855b1a2aa44ce29b5fa1" [[package]] name = "yaml-rust" diff --git a/cargo-pgrx/Cargo.toml b/cargo-pgrx/Cargo.toml index 2ab5ee60c..46477bb32 100644 --- a/cargo-pgrx/Cargo.toml +++ b/cargo-pgrx/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "cargo-pgrx" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" authors = ["PgCentral Foundation, Inc. "] license = "MIT" description = "Cargo subcommand for 'pgrx' to make Postgres extension development easy" @@ -25,19 +25,19 @@ edition = "2021" [dependencies] atty = "0.2.14" -cargo_metadata = "0.15.4" +cargo_metadata = "=0.15.4" # locked b/c we're using an older `clap` cargo_toml = "0.15.3" -clap = { version = "4.3.11", features = [ "env", "suggestions", "cargo", "derive", "wrap_help" ] } +clap = { version = "4.3.19", features = [ "env", "suggestions", "cargo", "derive", "wrap_help" ] } clap-cargo = { version = "0.10.0", features = [ "cargo_metadata" ] } -semver = "1.0.17" +semver = "1.0.18" owo-colors = { version = "3.5.0", features = [ "supports-colors" ] } env_proxy = "0.4.1" num_cpus = "1.16.0" -pgrx-pg-config = { path = "../pgrx-pg-config", version = "=0.10.0-beta.1" } -pgrx-sql-entity-graph = { path = "../pgrx-sql-entity-graph", version = "=0.10.0-beta.1" } -prettyplease = "0.2.10" -proc-macro2 = { version = "1.0.64", features = [ "span-locations" ] } -quote = "1.0.29" +pgrx-pg-config = { path = "../pgrx-pg-config", version = "=0.10.0-beta.2" } +pgrx-sql-entity-graph = { path = "../pgrx-sql-entity-graph", version = "=0.10.0-beta.2" } +prettyplease = "0.2.12" +proc-macro2 = { version = "1.0.66", features = [ "span-locations" ] } +quote = "1.0.32" rayon = "1.7.0" regex = "1.9.1" ureq = "2.7.1" @@ -57,7 +57,7 @@ tracing = "0.1" tracing-error = "0.2.0" tracing-subscriber = { version = "0.3.17", features = [ "env-filter" ] } flate2 = { version = "1.0.26", default-features = false, features = ["rust_backend"] } -tempfile = "3.6.0" +tempfile = "3.7.0" nix = { version = "0.26", default-features = false, features = ["user"] } [features] diff --git a/cargo-pgrx/src/templates/cargo_toml b/cargo-pgrx/src/templates/cargo_toml index 952c8fc75..94b65ea8a 100644 --- a/cargo-pgrx/src/templates/cargo_toml +++ b/cargo-pgrx/src/templates/cargo_toml @@ -17,10 +17,10 @@ pg16 = ["pgrx/pg16", "pgrx-tests/pg16" ] pg_test = [] [dependencies] -pgrx = "=0.10.0-beta.1" +pgrx = "=0.10.0-beta.2" [dev-dependencies] -pgrx-tests = "=0.10.0-beta.1" +pgrx-tests = "=0.10.0-beta.2" [profile.dev] panic = "unwind" diff --git a/nix/templates/default/Cargo.toml b/nix/templates/default/Cargo.toml index fcebaf097..6b2970828 100644 --- a/nix/templates/default/Cargo.toml +++ b/nix/templates/default/Cargo.toml @@ -27,10 +27,10 @@ pg16 = ["pgrx/pg16", "pgrx-tests/pg16" ] pg_test = [] [dependencies] -pgrx = "=0.10.0-beta.1" +pgrx = "=0.10.0-beta.2" [dev-dependencies] -pgrx-tests = "=0.10.0-beta.1" +pgrx-tests = "=0.10.0-beta.2" tempfile = "3.2.0" once_cell = "1.7.2" diff --git a/pgrx-macros/Cargo.toml b/pgrx-macros/Cargo.toml index 7ed36e932..0f2cdf3be 100644 --- a/pgrx-macros/Cargo.toml +++ b/pgrx-macros/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx-macros" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" authors = ["PgCentral Foundation, Inc. "] license = "MIT" description = "Proc Macros for 'pgrx'" @@ -31,9 +31,9 @@ rustc-args = ["--cfg", "docsrs"] no-schema-generation = ["pgrx-sql-entity-graph/no-schema-generation"] [dependencies] -pgrx-sql-entity-graph = { path = "../pgrx-sql-entity-graph", version = "=0.10.0-beta.1" } -proc-macro2 = "1.0.64" -quote = "1.0.29" +pgrx-sql-entity-graph = { path = "../pgrx-sql-entity-graph", version = "=0.10.0-beta.2" } +proc-macro2 = "1.0.66" +quote = "1.0.32" syn = { version = "1.0.109", features = [ "extra-traits", "full", "fold", "parsing" ] } [dev-dependencies] diff --git a/pgrx-pg-config/Cargo.toml b/pgrx-pg-config/Cargo.toml index 878ed3550..99a4f1fa4 100644 --- a/pgrx-pg-config/Cargo.toml +++ b/pgrx-pg-config/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx-pg-config" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" authors = ["PgCentral Foundation, Inc. "] license = "MIT" description = "A Postgres pg_config wrapper for 'pgrx'" diff --git a/pgrx-pg-sys/Cargo.toml b/pgrx-pg-sys/Cargo.toml index 346fbe5bc..119151f51 100644 --- a/pgrx-pg-sys/Cargo.toml +++ b/pgrx-pg-sys/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx-pg-sys" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" authors = ["PgCentral Foundation, Inc. "] license = "MIT" description = "Generated Rust bindings for Postgres internals, for use with 'pgrx'" @@ -40,8 +40,8 @@ rustdoc-args = ["--cfg", "docsrs"] [dependencies] memoffset = "0.9.0" -pgrx-macros = { path = "../pgrx-macros/", version = "=0.10.0-beta.1" } -pgrx-sql-entity-graph = { path = "../pgrx-sql-entity-graph/", version = "=0.10.0-beta.1" } +pgrx-macros = { path = "../pgrx-macros/", version = "=0.10.0-beta.2" } +pgrx-sql-entity-graph = { path = "../pgrx-sql-entity-graph/", version = "=0.10.0-beta.2" } serde = { version = "1.0", features = [ "derive" ] } # impls on pub types # polyfill until #![feature(strict_provenance)] stabilizes sptr = "0.3" @@ -49,9 +49,9 @@ libc = "0.2" [build-dependencies] bindgen = { version = "0.66.1", default-features = false, features = ["runtime"] } -pgrx-pg-config= { path = "../pgrx-pg-config/", version = "=0.10.0-beta.1" } -proc-macro2 = "1.0.64" -quote = "1.0.29" +pgrx-pg-config= { path = "../pgrx-pg-config/", version = "=0.10.0-beta.2" } +proc-macro2 = "1.0.66" +quote = "1.0.32" syn = { version = "1.0.109", features = [ "extra-traits", "full", "fold", "parsing" ] } eyre = "0.6.8" shlex = "1.1.0" # shell lexing, also used by many of our deps diff --git a/pgrx-pg-sys/src/include/pg11.rs b/pgrx-pg-sys/src/include/pg11.rs index 87306119b..f47124a4a 100644 --- a/pgrx-pg-sys/src/include/pg11.rs +++ b/pgrx-pg-sys/src/include/pg11.rs @@ -2475,6 +2475,18 @@ pub const PublicationRelPrrelidPrpubidIndexId: u32 = 6113; pub const SubscriptionObjectIndexId: u32 = 6114; pub const SubscriptionNameIndexId: u32 = 6115; pub const SubscriptionRelSrrelidSrsubidIndexId: u32 = 6117; +pub const AccessMethodOperatorRelationId: Oid = Oid(2602); +pub const Anum_pg_amop_amopfamily: u32 = 1; +pub const Anum_pg_amop_amoplefttype: u32 = 2; +pub const Anum_pg_amop_amoprighttype: u32 = 3; +pub const Anum_pg_amop_amopstrategy: u32 = 4; +pub const Anum_pg_amop_amoppurpose: u32 = 5; +pub const Anum_pg_amop_amopopr: u32 = 6; +pub const Anum_pg_amop_amopmethod: u32 = 7; +pub const Anum_pg_amop_amopsortfamily: u32 = 8; +pub const Natts_pg_amop: u32 = 8; +pub const AMOP_SEARCH: u8 = 115u8; +pub const AMOP_ORDER: u8 = 111u8; pub const AuthIdRelationId: Oid = Oid(1260); pub const AuthIdRelation_Rowtype_Id: u32 = 2842; pub const Anum_pg_authid_rolname: u32 = 1; @@ -2529,6 +2541,20 @@ pub const Anum_pg_extension_extversion: u32 = 5; pub const Anum_pg_extension_extconfig: u32 = 6; pub const Anum_pg_extension_extcondition: u32 = 7; pub const Natts_pg_extension: u32 = 7; +pub const ForeignServerRelationId: Oid = Oid(1417); +pub const Anum_pg_foreign_server_srvname: u32 = 1; +pub const Anum_pg_foreign_server_srvowner: u32 = 2; +pub const Anum_pg_foreign_server_srvfdw: u32 = 3; +pub const Anum_pg_foreign_server_srvtype: u32 = 4; +pub const Anum_pg_foreign_server_srvversion: u32 = 5; +pub const Anum_pg_foreign_server_srvacl: u32 = 6; +pub const Anum_pg_foreign_server_srvoptions: u32 = 7; +pub const Natts_pg_foreign_server: u32 = 7; +pub const ForeignTableRelationId: Oid = Oid(3118); +pub const Anum_pg_foreign_table_ftrelid: u32 = 1; +pub const Anum_pg_foreign_table_ftserver: u32 = 2; +pub const Anum_pg_foreign_table_ftoptions: u32 = 3; +pub const Natts_pg_foreign_table: u32 = 3; pub const OperatorRelationId: Oid = Oid(2617); pub const Anum_pg_operator_oprname: u32 = 1; pub const Anum_pg_operator_oprnamespace: u32 = 2; @@ -2594,6 +2620,44 @@ pub const OID_RANGE_LEFT_OP: u32 = 3893; pub const OID_RANGE_RIGHT_OP: u32 = 3894; pub const OID_RANGE_OVERLAPS_LEFT_OP: u32 = 3895; pub const OID_RANGE_OVERLAPS_RIGHT_OP: u32 = 3896; +pub const OperatorClassRelationId: Oid = Oid(2616); +pub const Anum_pg_opclass_opcmethod: u32 = 1; +pub const Anum_pg_opclass_opcname: u32 = 2; +pub const Anum_pg_opclass_opcnamespace: u32 = 3; +pub const Anum_pg_opclass_opcowner: u32 = 4; +pub const Anum_pg_opclass_opcfamily: u32 = 5; +pub const Anum_pg_opclass_opcintype: u32 = 6; +pub const Anum_pg_opclass_opcdefault: u32 = 7; +pub const Anum_pg_opclass_opckeytype: u32 = 8; +pub const Natts_pg_opclass: u32 = 8; +pub const DATE_BTREE_OPS_OID: Oid = Oid(3122); +pub const FLOAT8_BTREE_OPS_OID: Oid = Oid(3123); +pub const INT2_BTREE_OPS_OID: Oid = Oid(1979); +pub const INT4_BTREE_OPS_OID: Oid = Oid(1978); +pub const INT8_BTREE_OPS_OID: Oid = Oid(3124); +pub const NUMERIC_BTREE_OPS_OID: Oid = Oid(3125); +pub const OID_BTREE_OPS_OID: Oid = Oid(1981); +pub const TEXT_BTREE_OPS_OID: Oid = Oid(3126); +pub const TIMESTAMPTZ_BTREE_OPS_OID: Oid = Oid(3127); +pub const TIMESTAMP_BTREE_OPS_OID: Oid = Oid(3128); +pub const OperatorFamilyRelationId: Oid = Oid(2753); +pub const Anum_pg_opfamily_opfmethod: u32 = 1; +pub const Anum_pg_opfamily_opfname: u32 = 2; +pub const Anum_pg_opfamily_opfnamespace: u32 = 3; +pub const Anum_pg_opfamily_opfowner: u32 = 4; +pub const Natts_pg_opfamily: u32 = 4; +pub const BOOL_BTREE_FAM_OID: Oid = Oid(424); +pub const BPCHAR_BTREE_FAM_OID: Oid = Oid(426); +pub const BYTEA_BTREE_FAM_OID: Oid = Oid(428); +pub const NETWORK_BTREE_FAM_OID: Oid = Oid(1974); +pub const INTEGER_BTREE_FAM_OID: Oid = Oid(1976); +pub const NAME_BTREE_FAM_OID: Oid = Oid(1986); +pub const OID_BTREE_FAM_OID: Oid = Oid(1989); +pub const TEXT_BTREE_FAM_OID: Oid = Oid(1994); +pub const TEXT_PATTERN_BTREE_FAM_OID: Oid = Oid(2095); +pub const BPCHAR_PATTERN_BTREE_FAM_OID: Oid = Oid(2097); +pub const BOOL_HASH_FAM_OID: Oid = Oid(2222); +pub const TEXT_SPGIST_FAM_OID: Oid = Oid(4017); pub const ProcedureRelationId: Oid = Oid(1255); pub const ProcedureRelation_Rowtype_Id: u32 = 81; pub const Anum_pg_proc_proname: u32 = 1; @@ -3120,6 +3184,9 @@ pub const TYPECACHE_HASH_EXTENDED_PROC: u32 = 16384; pub const TYPECACHE_HASH_EXTENDED_PROC_FINFO: u32 = 32768; pub const PLPGSQL_XCHECK_NONE: u32 = 0; pub const PLPGSQL_XCHECK_SHADOWVAR: u32 = 1; +pub const POSTMASTER_FD_WATCH: u32 = 0; +pub const POSTMASTER_FD_OWN: u32 = 1; +pub const MAX_BACKENDS: u32 = 262143; pub const OLD_SNAPSHOT_PADDING_ENTRIES: u32 = 10; pub const MAX_IO_CONCURRENCY: u32 = 1000; pub const BUFFER_LOCK_UNLOCK: u32 = 0; @@ -3234,6 +3301,9 @@ pub const DEFAULT_MATCH_SEL: f64 = 0.005; pub const DEFAULT_NUM_DISTINCT: u32 = 200; pub const DEFAULT_UNK_SEL: f64 = 0.005; pub const DEFAULT_NOT_UNK_SEL: f64 = 0.995; +pub const CATCACHE_MAXKEYS: u32 = 4; +pub const CT_MAGIC: u32 = 1462113538; +pub const CL_MAGIC: u32 = 1383485699; pub const RANGE_EMPTY: u32 = 1; pub const RANGE_LB_INC: u32 = 2; pub const RANGE_UB_INC: u32 = 4; @@ -31556,6 +31626,28 @@ extern "C" { } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct FormData_pg_amop { + pub amopfamily: Oid, + pub amoplefttype: Oid, + pub amoprighttype: Oid, + pub amopstrategy: int16, + pub amoppurpose: ::std::os::raw::c_char, + pub amopopr: Oid, + pub amopmethod: Oid, + pub amopsortfamily: Oid, +} +impl Default for FormData_pg_amop { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_amop = *mut FormData_pg_amop; +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct FormData_pg_authid { pub rolname: NameData, pub rolsuper: bool, @@ -31666,6 +31758,39 @@ impl Default for FormData_pg_extension { pub type Form_pg_extension = *mut FormData_pg_extension; #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_server { + pub srvname: NameData, + pub srvowner: Oid, + pub srvfdw: Oid, +} +impl Default for FormData_pg_foreign_server { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_server = *mut FormData_pg_foreign_server; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_table { + pub ftrelid: Oid, + pub ftserver: Oid, +} +impl Default for FormData_pg_foreign_table { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_table = *mut FormData_pg_foreign_table; +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct FormData_pg_operator { pub oprname: NameData, pub oprnamespace: Oid, @@ -31717,6 +31842,46 @@ extern "C" { pub fn OperatorUpd(baseId: Oid, commId: Oid, negId: Oid, isDelete: bool); } #[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_opclass { + pub opcmethod: Oid, + pub opcname: NameData, + pub opcnamespace: Oid, + pub opcowner: Oid, + pub opcfamily: Oid, + pub opcintype: Oid, + pub opcdefault: bool, + pub opckeytype: Oid, +} +impl Default for FormData_pg_opclass { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_opclass = *mut FormData_pg_opclass; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_opfamily { + pub opfmethod: Oid, + pub opfname: NameData, + pub opfnamespace: Oid, + pub opfowner: Oid, +} +impl Default for FormData_pg_opfamily { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_opfamily = *mut FormData_pg_opfamily; +#[repr(C)] #[derive(Debug)] pub struct FormData_pg_proc { pub proname: NameData, @@ -41776,6 +41941,78 @@ extern "C" { extern "C" { pub fn plpgsql_yyparse() -> ::std::os::raw::c_int; } +extern "C" { + pub static mut EnableSSL: bool; +} +extern "C" { + pub static mut ReservedBackends: ::std::os::raw::c_int; +} +extern "C" { + pub static mut PostPortNumber: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Unix_socket_permissions: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Unix_socket_group: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut Unix_socket_directories: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut ListenAddresses: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut ClientAuthInProgress: bool; +} +extern "C" { + pub static mut PreAuthDelay: ::std::os::raw::c_int; +} +extern "C" { + pub static mut AuthenticationTimeout: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Log_connections: bool; +} +extern "C" { + pub static mut log_hostname: bool; +} +extern "C" { + pub static mut enable_bonjour: bool; +} +extern "C" { + pub static mut bonjour_name: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut restart_after_crash: bool; +} +extern "C" { + pub static mut postmaster_alive_fds: [::std::os::raw::c_int; 2usize]; +} +extern "C" { + pub static mut progname: *const ::std::os::raw::c_char; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PostmasterMain(argc: ::std::os::raw::c_int, argv: *mut *mut ::std::os::raw::c_char) + -> !; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ClosePostmasterPorts(am_syslogger: bool); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn MaxLivePostmasterChildren() -> ::std::os::raw::c_int; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn GetNumShmemAttachedBgworkers() -> ::std::os::raw::c_int; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PostmasterMarkPIDForWorkerNotify(arg1: ::std::os::raw::c_int) -> bool; +} pub const ReplicationSlotPersistency_RS_PERSISTENT: ReplicationSlotPersistency = 0; pub const ReplicationSlotPersistency_RS_EPHEMERAL: ReplicationSlotPersistency = 1; pub const ReplicationSlotPersistency_RS_TEMPORARY: ReplicationSlotPersistency = 2; @@ -57439,6 +57676,213 @@ extern "C" { varRelid: ::std::os::raw::c_int, ) -> Selectivity; } +pub type CCHashFN = ::std::option::Option uint32>; +pub type CCFastEqualFN = ::std::option::Option bool>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catcache { + pub id: ::std::os::raw::c_int, + pub cc_nbuckets: ::std::os::raw::c_int, + pub cc_tupdesc: TupleDesc, + pub cc_bucket: *mut dlist_head, + pub cc_hashfunc: [CCHashFN; 4usize], + pub cc_fastequal: [CCFastEqualFN; 4usize], + pub cc_keyno: [::std::os::raw::c_int; 4usize], + pub cc_lists: dlist_head, + pub cc_ntup: ::std::os::raw::c_int, + pub cc_nkeys: ::std::os::raw::c_int, + pub cc_relname: *const ::std::os::raw::c_char, + pub cc_reloid: Oid, + pub cc_indexoid: Oid, + pub cc_relisshared: bool, + pub cc_next: slist_node, + pub cc_skey: [ScanKeyData; 4usize], +} +impl Default for catcache { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCache = catcache; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catctup { + pub ct_magic: ::std::os::raw::c_int, + pub hash_value: uint32, + pub keys: [Datum; 4usize], + pub cache_elem: dlist_node, + pub refcount: ::std::os::raw::c_int, + pub dead: bool, + pub negative: bool, + pub tuple: HeapTupleData, + pub c_list: *mut catclist, + pub my_cache: *mut CatCache, +} +impl Default for catctup { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCTup = catctup; +#[repr(C)] +#[derive(Debug)] +pub struct catclist { + pub cl_magic: ::std::os::raw::c_int, + pub hash_value: uint32, + pub cache_elem: dlist_node, + pub keys: [Datum; 4usize], + pub refcount: ::std::os::raw::c_int, + pub dead: bool, + pub ordered: bool, + pub nkeys: ::std::os::raw::c_short, + pub n_members: ::std::os::raw::c_int, + pub my_cache: *mut CatCache, + pub members: __IncompleteArrayField<*mut CatCTup>, +} +impl Default for catclist { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCList = catclist; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catcacheheader { + pub ch_caches: slist_head, + pub ch_ntup: ::std::os::raw::c_int, +} +impl Default for catcacheheader { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCacheHeader = catcacheheader; +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CreateCacheMemoryContext(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitCatCache( + id: ::std::os::raw::c_int, + reloid: Oid, + indexoid: Oid, + nkeys: ::std::os::raw::c_int, + key: *const ::std::os::raw::c_int, + nbuckets: ::std::os::raw::c_int, + ) -> *mut CatCache; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitCatCachePhase2(cache: *mut CatCache, touch_index: bool); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache1(cache: *mut CatCache, v1: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache2(cache: *mut CatCache, v1: Datum, v2: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache3(cache: *mut CatCache, v1: Datum, v2: Datum, v3: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache4( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ReleaseCatCache(tuple: HeapTuple); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn GetCatCacheHashValue( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> uint32; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCacheList( + cache: *mut CatCache, + nkeys: ::std::os::raw::c_int, + v1: Datum, + v2: Datum, + v3: Datum, + ) -> *mut CatCList; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ReleaseCatCacheList(list: *mut CatCList); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ResetCatalogCaches(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CatalogCacheFlushCatalog(catId: Oid); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CatCacheInvalidate(cache: *mut CatCache, hashValue: uint32); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrepareToInvalidateCacheTuple( + relation: Relation, + tuple: HeapTuple, + newtuple: HeapTuple, + function: ::std::option::Option< + unsafe extern "C" fn(arg1: ::std::os::raw::c_int, arg2: uint32, arg3: Oid), + >, + ); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrintCatCacheLeakWarning(tuple: HeapTuple); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrintCatCacheListLeakWarning(list: *mut CatCList); +} pub const SysCacheIdentifier_AGGFNOID: SysCacheIdentifier = 0; pub const SysCacheIdentifier_AMNAME: SysCacheIdentifier = 1; pub const SysCacheIdentifier_AMOID: SysCacheIdentifier = 2; @@ -57638,11 +58082,6 @@ extern "C" { key4: Datum, ) -> uint32; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct catclist { - _unused: [u8; 0], -} #[pgrx_macros::pg_guard] extern "C" { pub fn SearchSysCacheList( diff --git a/pgrx-pg-sys/src/include/pg11_oids.rs b/pgrx-pg-sys/src/include/pg11_oids.rs index 4b7a156ef..8f772e7db 100644 --- a/pgrx-pg-sys/src/include/pg11_oids.rs +++ b/pgrx-pg-sys/src/include/pg11_oids.rs @@ -12,18 +12,24 @@ pub enum BuiltinOid { ANYOID = 2276, ANYRANGEOID = 3831, AT_REWRITE_ALTER_OID = 8, + AccessMethodOperatorRelationId = 2602, AttributeRelationId = 1249, AuthIdRelationId = 1260, BITARRAYOID = 1561, BITOID = 1560, BOOLARRAYOID = 1000, BOOLOID = 16, + BOOL_BTREE_FAM_OID = 424, + BOOL_HASH_FAM_OID = 2222, BOXARRAYOID = 1020, BOXOID = 603, BPCHARARRAYOID = 1014, BPCHAROID = 1042, + BPCHAR_BTREE_FAM_OID = 426, + BPCHAR_PATTERN_BTREE_FAM_OID = 2097, BYTEAARRAYOID = 1001, BYTEAOID = 17, + BYTEA_BTREE_FAM_OID = 428, CASHOID = 790, CHARARRAYOID = 1002, CHAROID = 18, @@ -39,6 +45,7 @@ pub enum BuiltinOid { DATEOID = 1082, DATERANGEARRAYOID = 3913, DATERANGEOID = 3912, + DATE_BTREE_OPS_OID = 3122, DEFAULTTABLESPACE_OID = 1663, DatabaseRelationId = 1262, EVTTRIGGEROID = 3838, @@ -50,6 +57,9 @@ pub enum BuiltinOid { FLOAT4OID = 700, FLOAT8ARRAYOID = 1022, FLOAT8OID = 701, + FLOAT8_BTREE_OPS_OID = 3123, + ForeignServerRelationId = 1417, + ForeignTableRelationId = 3118, GLOBALTABLESPACE_OID = 1664, GTSVECTORARRAYOID = 3644, GTSVECTOROID = 3642, @@ -60,14 +70,18 @@ pub enum BuiltinOid { INT2OID = 21, INT2VECTORARRAYOID = 1006, INT2VECTOROID = 22, + INT2_BTREE_OPS_OID = 1979, INT4ARRAYOID = 1007, INT4OID = 23, INT4RANGEARRAYOID = 3905, INT4RANGEOID = 3904, + INT4_BTREE_OPS_OID = 1978, INT8ARRAYOID = 1016, INT8OID = 20, INT8RANGEARRAYOID = 3927, INT8RANGEOID = 3926, + INT8_BTREE_OPS_OID = 3124, + INTEGER_BTREE_FAM_OID = 1976, INTERNALOID = 2281, INTERVALARRAYOID = 1187, INTERVALOID = 1186, @@ -89,8 +103,11 @@ pub enum BuiltinOid { MONEYARRAYOID = 791, NAMEARRAYOID = 1003, NAMEOID = 19, + NAME_BTREE_FAM_OID = 1986, + NETWORK_BTREE_FAM_OID = 1974, NUMERICARRAYOID = 1231, NUMERICOID = 1700, + NUMERIC_BTREE_OPS_OID = 3125, NUMRANGEARRAYOID = 3907, NUMRANGEOID = 3906, NamespaceRelationId = 2615, @@ -98,7 +115,11 @@ pub enum BuiltinOid { OIDOID = 26, OIDVECTORARRAYOID = 1013, OIDVECTOROID = 30, + OID_BTREE_FAM_OID = 1989, + OID_BTREE_OPS_OID = 1981, OPAQUEOID = 2282, + OperatorClassRelationId = 2616, + OperatorFamilyRelationId = 2753, OperatorRelationId = 2617, PATHARRAYOID = 1019, PATHOID = 602, @@ -144,6 +165,10 @@ pub enum BuiltinOid { StatisticRelationId = 2619, TEXTARRAYOID = 1009, TEXTOID = 25, + TEXT_BTREE_FAM_OID = 1994, + TEXT_BTREE_OPS_OID = 3126, + TEXT_PATTERN_BTREE_FAM_OID = 2095, + TEXT_SPGIST_FAM_OID = 4017, TIDARRAYOID = 1010, TIDOID = 27, TIMEARRAYOID = 1183, @@ -152,6 +177,8 @@ pub enum BuiltinOid { TIMESTAMPOID = 1114, TIMESTAMPTZARRAYOID = 1185, TIMESTAMPTZOID = 1184, + TIMESTAMPTZ_BTREE_OPS_OID = 3127, + TIMESTAMP_BTREE_OPS_OID = 3128, TIMETZARRAYOID = 1270, TIMETZOID = 1266, TINTERVALARRAYOID = 1025, @@ -200,18 +227,24 @@ impl BuiltinOid { 2276 => Ok(BuiltinOid::ANYOID), 3831 => Ok(BuiltinOid::ANYRANGEOID), 8 => Ok(BuiltinOid::AT_REWRITE_ALTER_OID), + 2602 => Ok(BuiltinOid::AccessMethodOperatorRelationId), 1249 => Ok(BuiltinOid::AttributeRelationId), 1260 => Ok(BuiltinOid::AuthIdRelationId), 1561 => Ok(BuiltinOid::BITARRAYOID), 1560 => Ok(BuiltinOid::BITOID), 1000 => Ok(BuiltinOid::BOOLARRAYOID), 16 => Ok(BuiltinOid::BOOLOID), + 424 => Ok(BuiltinOid::BOOL_BTREE_FAM_OID), + 2222 => Ok(BuiltinOid::BOOL_HASH_FAM_OID), 1020 => Ok(BuiltinOid::BOXARRAYOID), 603 => Ok(BuiltinOid::BOXOID), 1014 => Ok(BuiltinOid::BPCHARARRAYOID), 1042 => Ok(BuiltinOid::BPCHAROID), + 426 => Ok(BuiltinOid::BPCHAR_BTREE_FAM_OID), + 2097 => Ok(BuiltinOid::BPCHAR_PATTERN_BTREE_FAM_OID), 1001 => Ok(BuiltinOid::BYTEAARRAYOID), 17 => Ok(BuiltinOid::BYTEAOID), + 428 => Ok(BuiltinOid::BYTEA_BTREE_FAM_OID), 790 => Ok(BuiltinOid::CASHOID), 1002 => Ok(BuiltinOid::CHARARRAYOID), 18 => Ok(BuiltinOid::CHAROID), @@ -227,6 +260,7 @@ impl BuiltinOid { 1082 => Ok(BuiltinOid::DATEOID), 3913 => Ok(BuiltinOid::DATERANGEARRAYOID), 3912 => Ok(BuiltinOid::DATERANGEOID), + 3122 => Ok(BuiltinOid::DATE_BTREE_OPS_OID), 1663 => Ok(BuiltinOid::DEFAULTTABLESPACE_OID), 1262 => Ok(BuiltinOid::DatabaseRelationId), 3838 => Ok(BuiltinOid::EVTTRIGGEROID), @@ -238,6 +272,9 @@ impl BuiltinOid { 700 => Ok(BuiltinOid::FLOAT4OID), 1022 => Ok(BuiltinOid::FLOAT8ARRAYOID), 701 => Ok(BuiltinOid::FLOAT8OID), + 3123 => Ok(BuiltinOid::FLOAT8_BTREE_OPS_OID), + 1417 => Ok(BuiltinOid::ForeignServerRelationId), + 3118 => Ok(BuiltinOid::ForeignTableRelationId), 1664 => Ok(BuiltinOid::GLOBALTABLESPACE_OID), 3644 => Ok(BuiltinOid::GTSVECTORARRAYOID), 3642 => Ok(BuiltinOid::GTSVECTOROID), @@ -248,14 +285,18 @@ impl BuiltinOid { 21 => Ok(BuiltinOid::INT2OID), 1006 => Ok(BuiltinOid::INT2VECTORARRAYOID), 22 => Ok(BuiltinOid::INT2VECTOROID), + 1979 => Ok(BuiltinOid::INT2_BTREE_OPS_OID), 1007 => Ok(BuiltinOid::INT4ARRAYOID), 23 => Ok(BuiltinOid::INT4OID), 3905 => Ok(BuiltinOid::INT4RANGEARRAYOID), 3904 => Ok(BuiltinOid::INT4RANGEOID), + 1978 => Ok(BuiltinOid::INT4_BTREE_OPS_OID), 1016 => Ok(BuiltinOid::INT8ARRAYOID), 20 => Ok(BuiltinOid::INT8OID), 3927 => Ok(BuiltinOid::INT8RANGEARRAYOID), 3926 => Ok(BuiltinOid::INT8RANGEOID), + 3124 => Ok(BuiltinOid::INT8_BTREE_OPS_OID), + 1976 => Ok(BuiltinOid::INTEGER_BTREE_FAM_OID), 2281 => Ok(BuiltinOid::INTERNALOID), 1187 => Ok(BuiltinOid::INTERVALARRAYOID), 1186 => Ok(BuiltinOid::INTERVALOID), @@ -277,8 +318,11 @@ impl BuiltinOid { 791 => Ok(BuiltinOid::MONEYARRAYOID), 1003 => Ok(BuiltinOid::NAMEARRAYOID), 19 => Ok(BuiltinOid::NAMEOID), + 1986 => Ok(BuiltinOid::NAME_BTREE_FAM_OID), + 1974 => Ok(BuiltinOid::NETWORK_BTREE_FAM_OID), 1231 => Ok(BuiltinOid::NUMERICARRAYOID), 1700 => Ok(BuiltinOid::NUMERICOID), + 3125 => Ok(BuiltinOid::NUMERIC_BTREE_OPS_OID), 3907 => Ok(BuiltinOid::NUMRANGEARRAYOID), 3906 => Ok(BuiltinOid::NUMRANGEOID), 2615 => Ok(BuiltinOid::NamespaceRelationId), @@ -286,7 +330,11 @@ impl BuiltinOid { 26 => Ok(BuiltinOid::OIDOID), 1013 => Ok(BuiltinOid::OIDVECTORARRAYOID), 30 => Ok(BuiltinOid::OIDVECTOROID), + 1989 => Ok(BuiltinOid::OID_BTREE_FAM_OID), + 1981 => Ok(BuiltinOid::OID_BTREE_OPS_OID), 2282 => Ok(BuiltinOid::OPAQUEOID), + 2616 => Ok(BuiltinOid::OperatorClassRelationId), + 2753 => Ok(BuiltinOid::OperatorFamilyRelationId), 2617 => Ok(BuiltinOid::OperatorRelationId), 1019 => Ok(BuiltinOid::PATHARRAYOID), 602 => Ok(BuiltinOid::PATHOID), @@ -332,6 +380,10 @@ impl BuiltinOid { 2619 => Ok(BuiltinOid::StatisticRelationId), 1009 => Ok(BuiltinOid::TEXTARRAYOID), 25 => Ok(BuiltinOid::TEXTOID), + 1994 => Ok(BuiltinOid::TEXT_BTREE_FAM_OID), + 3126 => Ok(BuiltinOid::TEXT_BTREE_OPS_OID), + 2095 => Ok(BuiltinOid::TEXT_PATTERN_BTREE_FAM_OID), + 4017 => Ok(BuiltinOid::TEXT_SPGIST_FAM_OID), 1010 => Ok(BuiltinOid::TIDARRAYOID), 27 => Ok(BuiltinOid::TIDOID), 1183 => Ok(BuiltinOid::TIMEARRAYOID), @@ -340,6 +392,8 @@ impl BuiltinOid { 1114 => Ok(BuiltinOid::TIMESTAMPOID), 1185 => Ok(BuiltinOid::TIMESTAMPTZARRAYOID), 1184 => Ok(BuiltinOid::TIMESTAMPTZOID), + 3127 => Ok(BuiltinOid::TIMESTAMPTZ_BTREE_OPS_OID), + 3128 => Ok(BuiltinOid::TIMESTAMP_BTREE_OPS_OID), 1270 => Ok(BuiltinOid::TIMETZARRAYOID), 1266 => Ok(BuiltinOid::TIMETZOID), 1025 => Ok(BuiltinOid::TINTERVALARRAYOID), diff --git a/pgrx-pg-sys/src/include/pg12.rs b/pgrx-pg-sys/src/include/pg12.rs index 2aa5c772f..58b6a772c 100644 --- a/pgrx-pg-sys/src/include/pg12.rs +++ b/pgrx-pg-sys/src/include/pg12.rs @@ -2531,6 +2531,19 @@ pub const PublicationRelPrrelidPrpubidIndexId: u32 = 6113; pub const SubscriptionObjectIndexId: u32 = 6114; pub const SubscriptionNameIndexId: u32 = 6115; pub const SubscriptionRelSrrelidSrsubidIndexId: u32 = 6117; +pub const AccessMethodOperatorRelationId: Oid = Oid(2602); +pub const Anum_pg_amop_oid: u32 = 1; +pub const Anum_pg_amop_amopfamily: u32 = 2; +pub const Anum_pg_amop_amoplefttype: u32 = 3; +pub const Anum_pg_amop_amoprighttype: u32 = 4; +pub const Anum_pg_amop_amopstrategy: u32 = 5; +pub const Anum_pg_amop_amoppurpose: u32 = 6; +pub const Anum_pg_amop_amopopr: u32 = 7; +pub const Anum_pg_amop_amopmethod: u32 = 8; +pub const Anum_pg_amop_amopsortfamily: u32 = 9; +pub const Natts_pg_amop: u32 = 9; +pub const AMOP_SEARCH: u8 = 115u8; +pub const AMOP_ORDER: u8 = 111u8; pub const AuthIdRelationId: Oid = Oid(1260); pub const AuthIdRelation_Rowtype_Id: u32 = 2842; pub const Anum_pg_authid_oid: u32 = 1; @@ -2589,6 +2602,21 @@ pub const Anum_pg_extension_extversion: u32 = 6; pub const Anum_pg_extension_extconfig: u32 = 7; pub const Anum_pg_extension_extcondition: u32 = 8; pub const Natts_pg_extension: u32 = 8; +pub const ForeignServerRelationId: Oid = Oid(1417); +pub const Anum_pg_foreign_server_oid: u32 = 1; +pub const Anum_pg_foreign_server_srvname: u32 = 2; +pub const Anum_pg_foreign_server_srvowner: u32 = 3; +pub const Anum_pg_foreign_server_srvfdw: u32 = 4; +pub const Anum_pg_foreign_server_srvtype: u32 = 5; +pub const Anum_pg_foreign_server_srvversion: u32 = 6; +pub const Anum_pg_foreign_server_srvacl: u32 = 7; +pub const Anum_pg_foreign_server_srvoptions: u32 = 8; +pub const Natts_pg_foreign_server: u32 = 8; +pub const ForeignTableRelationId: Oid = Oid(3118); +pub const Anum_pg_foreign_table_ftrelid: u32 = 1; +pub const Anum_pg_foreign_table_ftserver: u32 = 2; +pub const Anum_pg_foreign_table_ftoptions: u32 = 3; +pub const Natts_pg_foreign_table: u32 = 3; pub const OperatorRelationId: Oid = Oid(2617); pub const Anum_pg_operator_oid: u32 = 1; pub const Anum_pg_operator_oprname: u32 = 2; @@ -2655,6 +2683,48 @@ pub const OID_RANGE_LEFT_OP: u32 = 3893; pub const OID_RANGE_RIGHT_OP: u32 = 3894; pub const OID_RANGE_OVERLAPS_LEFT_OP: u32 = 3895; pub const OID_RANGE_OVERLAPS_RIGHT_OP: u32 = 3896; +pub const OperatorClassRelationId: Oid = Oid(2616); +pub const Anum_pg_opclass_oid: u32 = 1; +pub const Anum_pg_opclass_opcmethod: u32 = 2; +pub const Anum_pg_opclass_opcname: u32 = 3; +pub const Anum_pg_opclass_opcnamespace: u32 = 4; +pub const Anum_pg_opclass_opcowner: u32 = 5; +pub const Anum_pg_opclass_opcfamily: u32 = 6; +pub const Anum_pg_opclass_opcintype: u32 = 7; +pub const Anum_pg_opclass_opcdefault: u32 = 8; +pub const Anum_pg_opclass_opckeytype: u32 = 9; +pub const Natts_pg_opclass: u32 = 9; +pub const DATE_BTREE_OPS_OID: Oid = Oid(3122); +pub const FLOAT8_BTREE_OPS_OID: Oid = Oid(3123); +pub const INT2_BTREE_OPS_OID: Oid = Oid(1979); +pub const INT4_BTREE_OPS_OID: Oid = Oid(1978); +pub const INT8_BTREE_OPS_OID: Oid = Oid(3124); +pub const NUMERIC_BTREE_OPS_OID: Oid = Oid(3125); +pub const OID_BTREE_OPS_OID: Oid = Oid(1981); +pub const TEXT_BTREE_OPS_OID: Oid = Oid(3126); +pub const TIMESTAMPTZ_BTREE_OPS_OID: Oid = Oid(3127); +pub const TIMESTAMP_BTREE_OPS_OID: Oid = Oid(3128); +pub const TEXT_BTREE_PATTERN_OPS_OID: Oid = Oid(4217); +pub const VARCHAR_BTREE_PATTERN_OPS_OID: Oid = Oid(4218); +pub const BPCHAR_BTREE_PATTERN_OPS_OID: Oid = Oid(4219); +pub const OperatorFamilyRelationId: Oid = Oid(2753); +pub const Anum_pg_opfamily_oid: u32 = 1; +pub const Anum_pg_opfamily_opfmethod: u32 = 2; +pub const Anum_pg_opfamily_opfname: u32 = 3; +pub const Anum_pg_opfamily_opfnamespace: u32 = 4; +pub const Anum_pg_opfamily_opfowner: u32 = 5; +pub const Natts_pg_opfamily: u32 = 5; +pub const BOOL_BTREE_FAM_OID: Oid = Oid(424); +pub const BPCHAR_BTREE_FAM_OID: Oid = Oid(426); +pub const BYTEA_BTREE_FAM_OID: Oid = Oid(428); +pub const NETWORK_BTREE_FAM_OID: Oid = Oid(1974); +pub const INTEGER_BTREE_FAM_OID: Oid = Oid(1976); +pub const OID_BTREE_FAM_OID: Oid = Oid(1989); +pub const TEXT_BTREE_FAM_OID: Oid = Oid(1994); +pub const TEXT_PATTERN_BTREE_FAM_OID: Oid = Oid(2095); +pub const BPCHAR_PATTERN_BTREE_FAM_OID: Oid = Oid(2097); +pub const BOOL_HASH_FAM_OID: Oid = Oid(2222); +pub const TEXT_SPGIST_FAM_OID: Oid = Oid(4017); pub const ProcedureRelationId: Oid = Oid(1255); pub const ProcedureRelation_Rowtype_Id: u32 = 81; pub const Anum_pg_proc_oid: u32 = 1; @@ -3207,6 +3277,9 @@ pub const PLPGSQL_XCHECK_NONE: u32 = 0; pub const PLPGSQL_XCHECK_SHADOWVAR: u32 = 2; pub const PLPGSQL_XCHECK_TOOMANYROWS: u32 = 4; pub const PLPGSQL_XCHECK_STRICTMULTIASSIGNMENT: u32 = 8; +pub const POSTMASTER_FD_WATCH: u32 = 0; +pub const POSTMASTER_FD_OWN: u32 = 1; +pub const MAX_BACKENDS: u32 = 262143; pub const OLD_SNAPSHOT_PADDING_ENTRIES: u32 = 10; pub const MAX_IO_CONCURRENCY: u32 = 1000; pub const BUFFER_LOCK_UNLOCK: u32 = 0; @@ -3299,6 +3372,9 @@ pub const DEFAULT_MATCH_SEL: f64 = 0.005; pub const DEFAULT_NUM_DISTINCT: u32 = 200; pub const DEFAULT_UNK_SEL: f64 = 0.005; pub const DEFAULT_NOT_UNK_SEL: f64 = 0.995; +pub const CATCACHE_MAXKEYS: u32 = 4; +pub const CT_MAGIC: u32 = 1462113538; +pub const CL_MAGIC: u32 = 1383485699; pub const RANGE_EMPTY: u32 = 1; pub const RANGE_LB_INC: u32 = 2; pub const RANGE_UB_INC: u32 = 4; @@ -31557,6 +31633,29 @@ extern "C" { } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct FormData_pg_amop { + pub oid: Oid, + pub amopfamily: Oid, + pub amoplefttype: Oid, + pub amoprighttype: Oid, + pub amopstrategy: int16, + pub amoppurpose: ::std::os::raw::c_char, + pub amopopr: Oid, + pub amopmethod: Oid, + pub amopsortfamily: Oid, +} +impl Default for FormData_pg_amop { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_amop = *mut FormData_pg_amop; +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct FormData_pg_authid { pub oid: Oid, pub rolname: NameData, @@ -31691,6 +31790,40 @@ impl Default for FormData_pg_extension { pub type Form_pg_extension = *mut FormData_pg_extension; #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_server { + pub oid: Oid, + pub srvname: NameData, + pub srvowner: Oid, + pub srvfdw: Oid, +} +impl Default for FormData_pg_foreign_server { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_server = *mut FormData_pg_foreign_server; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_table { + pub ftrelid: Oid, + pub ftserver: Oid, +} +impl Default for FormData_pg_foreign_table { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_table = *mut FormData_pg_foreign_table; +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct FormData_pg_operator { pub oid: Oid, pub oprname: NameData, @@ -31743,6 +31876,48 @@ extern "C" { pub fn OperatorUpd(baseId: Oid, commId: Oid, negId: Oid, isDelete: bool); } #[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_opclass { + pub oid: Oid, + pub opcmethod: Oid, + pub opcname: NameData, + pub opcnamespace: Oid, + pub opcowner: Oid, + pub opcfamily: Oid, + pub opcintype: Oid, + pub opcdefault: bool, + pub opckeytype: Oid, +} +impl Default for FormData_pg_opclass { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_opclass = *mut FormData_pg_opclass; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_opfamily { + pub oid: Oid, + pub opfmethod: Oid, + pub opfname: NameData, + pub opfnamespace: Oid, + pub opfowner: Oid, +} +impl Default for FormData_pg_opfamily { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_opfamily = *mut FormData_pg_opfamily; +#[repr(C)] #[derive(Debug)] pub struct FormData_pg_proc { pub oid: Oid, @@ -43667,6 +43842,82 @@ extern "C" { extern "C" { pub fn plpgsql_yyparse() -> ::std::os::raw::c_int; } +extern "C" { + pub static mut EnableSSL: bool; +} +extern "C" { + pub static mut ReservedBackends: ::std::os::raw::c_int; +} +extern "C" { + pub static mut PostPortNumber: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Unix_socket_permissions: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Unix_socket_group: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut Unix_socket_directories: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut ListenAddresses: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut ClientAuthInProgress: bool; +} +extern "C" { + pub static mut PreAuthDelay: ::std::os::raw::c_int; +} +extern "C" { + pub static mut AuthenticationTimeout: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Log_connections: bool; +} +extern "C" { + pub static mut log_hostname: bool; +} +extern "C" { + pub static mut enable_bonjour: bool; +} +extern "C" { + pub static mut bonjour_name: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut restart_after_crash: bool; +} +extern "C" { + pub static mut postmaster_alive_fds: [::std::os::raw::c_int; 2usize]; +} +extern "C" { + pub static mut progname: *const ::std::os::raw::c_char; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PostmasterMain(argc: ::std::os::raw::c_int, argv: *mut *mut ::std::os::raw::c_char) + -> !; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ClosePostmasterPorts(am_syslogger: bool); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitProcessGlobals(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn MaxLivePostmasterChildren() -> ::std::os::raw::c_int; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn GetNumShmemAttachedBgworkers() -> ::std::os::raw::c_int; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PostmasterMarkPIDForWorkerNotify(arg1: ::std::os::raw::c_int) -> bool; +} pub const ReplicationSlotPersistency_RS_PERSISTENT: ReplicationSlotPersistency = 0; pub const ReplicationSlotPersistency_RS_EPHEMERAL: ReplicationSlotPersistency = 1; pub const ReplicationSlotPersistency_RS_TEMPORARY: ReplicationSlotPersistency = 2; @@ -58797,6 +59048,213 @@ extern "C" { varRelid: ::std::os::raw::c_int, ) -> Selectivity; } +pub type CCHashFN = ::std::option::Option uint32>; +pub type CCFastEqualFN = ::std::option::Option bool>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catcache { + pub id: ::std::os::raw::c_int, + pub cc_nbuckets: ::std::os::raw::c_int, + pub cc_tupdesc: TupleDesc, + pub cc_bucket: *mut dlist_head, + pub cc_hashfunc: [CCHashFN; 4usize], + pub cc_fastequal: [CCFastEqualFN; 4usize], + pub cc_keyno: [::std::os::raw::c_int; 4usize], + pub cc_lists: dlist_head, + pub cc_ntup: ::std::os::raw::c_int, + pub cc_nkeys: ::std::os::raw::c_int, + pub cc_relname: *const ::std::os::raw::c_char, + pub cc_reloid: Oid, + pub cc_indexoid: Oid, + pub cc_relisshared: bool, + pub cc_next: slist_node, + pub cc_skey: [ScanKeyData; 4usize], +} +impl Default for catcache { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCache = catcache; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catctup { + pub ct_magic: ::std::os::raw::c_int, + pub hash_value: uint32, + pub keys: [Datum; 4usize], + pub cache_elem: dlist_node, + pub refcount: ::std::os::raw::c_int, + pub dead: bool, + pub negative: bool, + pub tuple: HeapTupleData, + pub c_list: *mut catclist, + pub my_cache: *mut CatCache, +} +impl Default for catctup { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCTup = catctup; +#[repr(C)] +#[derive(Debug)] +pub struct catclist { + pub cl_magic: ::std::os::raw::c_int, + pub hash_value: uint32, + pub cache_elem: dlist_node, + pub keys: [Datum; 4usize], + pub refcount: ::std::os::raw::c_int, + pub dead: bool, + pub ordered: bool, + pub nkeys: ::std::os::raw::c_short, + pub n_members: ::std::os::raw::c_int, + pub my_cache: *mut CatCache, + pub members: __IncompleteArrayField<*mut CatCTup>, +} +impl Default for catclist { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCList = catclist; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catcacheheader { + pub ch_caches: slist_head, + pub ch_ntup: ::std::os::raw::c_int, +} +impl Default for catcacheheader { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCacheHeader = catcacheheader; +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CreateCacheMemoryContext(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitCatCache( + id: ::std::os::raw::c_int, + reloid: Oid, + indexoid: Oid, + nkeys: ::std::os::raw::c_int, + key: *const ::std::os::raw::c_int, + nbuckets: ::std::os::raw::c_int, + ) -> *mut CatCache; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitCatCachePhase2(cache: *mut CatCache, touch_index: bool); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache1(cache: *mut CatCache, v1: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache2(cache: *mut CatCache, v1: Datum, v2: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache3(cache: *mut CatCache, v1: Datum, v2: Datum, v3: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache4( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ReleaseCatCache(tuple: HeapTuple); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn GetCatCacheHashValue( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> uint32; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCacheList( + cache: *mut CatCache, + nkeys: ::std::os::raw::c_int, + v1: Datum, + v2: Datum, + v3: Datum, + ) -> *mut CatCList; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ReleaseCatCacheList(list: *mut CatCList); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ResetCatalogCaches(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CatalogCacheFlushCatalog(catId: Oid); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CatCacheInvalidate(cache: *mut CatCache, hashValue: uint32); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrepareToInvalidateCacheTuple( + relation: Relation, + tuple: HeapTuple, + newtuple: HeapTuple, + function: ::std::option::Option< + unsafe extern "C" fn(arg1: ::std::os::raw::c_int, arg2: uint32, arg3: Oid), + >, + ); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrintCatCacheLeakWarning(tuple: HeapTuple); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrintCatCacheListLeakWarning(list: *mut CatCList); +} pub const SysCacheIdentifier_AGGFNOID: SysCacheIdentifier = 0; pub const SysCacheIdentifier_AMNAME: SysCacheIdentifier = 1; pub const SysCacheIdentifier_AMOID: SysCacheIdentifier = 2; @@ -58998,11 +59456,6 @@ extern "C" { key4: Datum, ) -> uint32; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct catclist { - _unused: [u8; 0], -} #[pgrx_macros::pg_guard] extern "C" { pub fn SearchSysCacheList( diff --git a/pgrx-pg-sys/src/include/pg12_oids.rs b/pgrx-pg-sys/src/include/pg12_oids.rs index fe609303b..1fc7a89ea 100644 --- a/pgrx-pg-sys/src/include/pg12_oids.rs +++ b/pgrx-pg-sys/src/include/pg12_oids.rs @@ -9,18 +9,25 @@ pub enum BuiltinOid { ANYNONARRAYOID = 2776, ANYOID = 2276, ANYRANGEOID = 3831, + AccessMethodOperatorRelationId = 2602, AttributeRelationId = 1249, AuthIdRelationId = 1260, BITARRAYOID = 1561, BITOID = 1560, BOOLARRAYOID = 1000, BOOLOID = 16, + BOOL_BTREE_FAM_OID = 424, + BOOL_HASH_FAM_OID = 2222, BOXARRAYOID = 1020, BOXOID = 603, BPCHARARRAYOID = 1014, BPCHAROID = 1042, + BPCHAR_BTREE_FAM_OID = 426, + BPCHAR_BTREE_PATTERN_OPS_OID = 4219, + BPCHAR_PATTERN_BTREE_FAM_OID = 2097, BYTEAARRAYOID = 1001, BYTEAOID = 17, + BYTEA_BTREE_FAM_OID = 428, CASHOID = 790, CHARARRAYOID = 1002, CHAROID = 18, @@ -36,6 +43,7 @@ pub enum BuiltinOid { DATEOID = 1082, DATERANGEARRAYOID = 3913, DATERANGEOID = 3912, + DATE_BTREE_OPS_OID = 3122, DEFAULTTABLESPACE_OID = 1663, DatabaseRelationId = 1262, EVTTRIGGEROID = 3838, @@ -47,6 +55,9 @@ pub enum BuiltinOid { FLOAT4OID = 700, FLOAT8ARRAYOID = 1022, FLOAT8OID = 701, + FLOAT8_BTREE_OPS_OID = 3123, + ForeignServerRelationId = 1417, + ForeignTableRelationId = 3118, GLOBALTABLESPACE_OID = 1664, GTSVECTORARRAYOID = 3644, GTSVECTOROID = 3642, @@ -58,14 +69,18 @@ pub enum BuiltinOid { INT2OID = 21, INT2VECTORARRAYOID = 1006, INT2VECTOROID = 22, + INT2_BTREE_OPS_OID = 1979, INT4ARRAYOID = 1007, INT4OID = 23, INT4RANGEARRAYOID = 3905, INT4RANGEOID = 3904, + INT4_BTREE_OPS_OID = 1978, INT8ARRAYOID = 1016, INT8OID = 20, INT8RANGEARRAYOID = 3927, INT8RANGEOID = 3926, + INT8_BTREE_OPS_OID = 3124, + INTEGER_BTREE_FAM_OID = 1976, INTERNALOID = 2281, INTERVALARRAYOID = 1187, INTERVALOID = 1186, @@ -89,8 +104,10 @@ pub enum BuiltinOid { MONEYARRAYOID = 791, NAMEARRAYOID = 1003, NAMEOID = 19, + NETWORK_BTREE_FAM_OID = 1974, NUMERICARRAYOID = 1231, NUMERICOID = 1700, + NUMERIC_BTREE_OPS_OID = 3125, NUMRANGEARRAYOID = 3907, NUMRANGEOID = 3906, NamespaceRelationId = 2615, @@ -98,7 +115,11 @@ pub enum BuiltinOid { OIDOID = 26, OIDVECTORARRAYOID = 1013, OIDVECTOROID = 30, + OID_BTREE_FAM_OID = 1989, + OID_BTREE_OPS_OID = 1981, OPAQUEOID = 2282, + OperatorClassRelationId = 2616, + OperatorFamilyRelationId = 2753, OperatorRelationId = 2617, PATHARRAYOID = 1019, PATHOID = 602, @@ -143,6 +164,11 @@ pub enum BuiltinOid { TABLE_AM_HANDLEROID = 269, TEXTARRAYOID = 1009, TEXTOID = 25, + TEXT_BTREE_FAM_OID = 1994, + TEXT_BTREE_OPS_OID = 3126, + TEXT_BTREE_PATTERN_OPS_OID = 4217, + TEXT_PATTERN_BTREE_FAM_OID = 2095, + TEXT_SPGIST_FAM_OID = 4017, TIDARRAYOID = 1010, TIDOID = 27, TIMEARRAYOID = 1183, @@ -151,6 +177,8 @@ pub enum BuiltinOid { TIMESTAMPOID = 1114, TIMESTAMPTZARRAYOID = 1185, TIMESTAMPTZOID = 1184, + TIMESTAMPTZ_BTREE_OPS_OID = 3127, + TIMESTAMP_BTREE_OPS_OID = 3128, TIMETZARRAYOID = 1270, TIMETZOID = 1266, TRIGGEROID = 2279, @@ -176,6 +204,7 @@ pub enum BuiltinOid { VARBITOID = 1562, VARCHARARRAYOID = 1015, VARCHAROID = 1043, + VARCHAR_BTREE_PATTERN_OPS_OID = 4218, VOIDOID = 2278, XIDARRAYOID = 1011, XIDOID = 28, @@ -194,18 +223,25 @@ impl BuiltinOid { 2776 => Ok(BuiltinOid::ANYNONARRAYOID), 2276 => Ok(BuiltinOid::ANYOID), 3831 => Ok(BuiltinOid::ANYRANGEOID), + 2602 => Ok(BuiltinOid::AccessMethodOperatorRelationId), 1249 => Ok(BuiltinOid::AttributeRelationId), 1260 => Ok(BuiltinOid::AuthIdRelationId), 1561 => Ok(BuiltinOid::BITARRAYOID), 1560 => Ok(BuiltinOid::BITOID), 1000 => Ok(BuiltinOid::BOOLARRAYOID), 16 => Ok(BuiltinOid::BOOLOID), + 424 => Ok(BuiltinOid::BOOL_BTREE_FAM_OID), + 2222 => Ok(BuiltinOid::BOOL_HASH_FAM_OID), 1020 => Ok(BuiltinOid::BOXARRAYOID), 603 => Ok(BuiltinOid::BOXOID), 1014 => Ok(BuiltinOid::BPCHARARRAYOID), 1042 => Ok(BuiltinOid::BPCHAROID), + 426 => Ok(BuiltinOid::BPCHAR_BTREE_FAM_OID), + 4219 => Ok(BuiltinOid::BPCHAR_BTREE_PATTERN_OPS_OID), + 2097 => Ok(BuiltinOid::BPCHAR_PATTERN_BTREE_FAM_OID), 1001 => Ok(BuiltinOid::BYTEAARRAYOID), 17 => Ok(BuiltinOid::BYTEAOID), + 428 => Ok(BuiltinOid::BYTEA_BTREE_FAM_OID), 790 => Ok(BuiltinOid::CASHOID), 1002 => Ok(BuiltinOid::CHARARRAYOID), 18 => Ok(BuiltinOid::CHAROID), @@ -221,6 +257,7 @@ impl BuiltinOid { 1082 => Ok(BuiltinOid::DATEOID), 3913 => Ok(BuiltinOid::DATERANGEARRAYOID), 3912 => Ok(BuiltinOid::DATERANGEOID), + 3122 => Ok(BuiltinOid::DATE_BTREE_OPS_OID), 1663 => Ok(BuiltinOid::DEFAULTTABLESPACE_OID), 1262 => Ok(BuiltinOid::DatabaseRelationId), 3838 => Ok(BuiltinOid::EVTTRIGGEROID), @@ -232,6 +269,9 @@ impl BuiltinOid { 700 => Ok(BuiltinOid::FLOAT4OID), 1022 => Ok(BuiltinOid::FLOAT8ARRAYOID), 701 => Ok(BuiltinOid::FLOAT8OID), + 3123 => Ok(BuiltinOid::FLOAT8_BTREE_OPS_OID), + 1417 => Ok(BuiltinOid::ForeignServerRelationId), + 3118 => Ok(BuiltinOid::ForeignTableRelationId), 1664 => Ok(BuiltinOid::GLOBALTABLESPACE_OID), 3644 => Ok(BuiltinOid::GTSVECTORARRAYOID), 3642 => Ok(BuiltinOid::GTSVECTOROID), @@ -243,14 +283,18 @@ impl BuiltinOid { 21 => Ok(BuiltinOid::INT2OID), 1006 => Ok(BuiltinOid::INT2VECTORARRAYOID), 22 => Ok(BuiltinOid::INT2VECTOROID), + 1979 => Ok(BuiltinOid::INT2_BTREE_OPS_OID), 1007 => Ok(BuiltinOid::INT4ARRAYOID), 23 => Ok(BuiltinOid::INT4OID), 3905 => Ok(BuiltinOid::INT4RANGEARRAYOID), 3904 => Ok(BuiltinOid::INT4RANGEOID), + 1978 => Ok(BuiltinOid::INT4_BTREE_OPS_OID), 1016 => Ok(BuiltinOid::INT8ARRAYOID), 20 => Ok(BuiltinOid::INT8OID), 3927 => Ok(BuiltinOid::INT8RANGEARRAYOID), 3926 => Ok(BuiltinOid::INT8RANGEOID), + 3124 => Ok(BuiltinOid::INT8_BTREE_OPS_OID), + 1976 => Ok(BuiltinOid::INTEGER_BTREE_FAM_OID), 2281 => Ok(BuiltinOid::INTERNALOID), 1187 => Ok(BuiltinOid::INTERVALARRAYOID), 1186 => Ok(BuiltinOid::INTERVALOID), @@ -274,8 +318,10 @@ impl BuiltinOid { 791 => Ok(BuiltinOid::MONEYARRAYOID), 1003 => Ok(BuiltinOid::NAMEARRAYOID), 19 => Ok(BuiltinOid::NAMEOID), + 1974 => Ok(BuiltinOid::NETWORK_BTREE_FAM_OID), 1231 => Ok(BuiltinOid::NUMERICARRAYOID), 1700 => Ok(BuiltinOid::NUMERICOID), + 3125 => Ok(BuiltinOid::NUMERIC_BTREE_OPS_OID), 3907 => Ok(BuiltinOid::NUMRANGEARRAYOID), 3906 => Ok(BuiltinOid::NUMRANGEOID), 2615 => Ok(BuiltinOid::NamespaceRelationId), @@ -283,7 +329,11 @@ impl BuiltinOid { 26 => Ok(BuiltinOid::OIDOID), 1013 => Ok(BuiltinOid::OIDVECTORARRAYOID), 30 => Ok(BuiltinOid::OIDVECTOROID), + 1989 => Ok(BuiltinOid::OID_BTREE_FAM_OID), + 1981 => Ok(BuiltinOid::OID_BTREE_OPS_OID), 2282 => Ok(BuiltinOid::OPAQUEOID), + 2616 => Ok(BuiltinOid::OperatorClassRelationId), + 2753 => Ok(BuiltinOid::OperatorFamilyRelationId), 2617 => Ok(BuiltinOid::OperatorRelationId), 1019 => Ok(BuiltinOid::PATHARRAYOID), 602 => Ok(BuiltinOid::PATHOID), @@ -328,6 +378,11 @@ impl BuiltinOid { 269 => Ok(BuiltinOid::TABLE_AM_HANDLEROID), 1009 => Ok(BuiltinOid::TEXTARRAYOID), 25 => Ok(BuiltinOid::TEXTOID), + 1994 => Ok(BuiltinOid::TEXT_BTREE_FAM_OID), + 3126 => Ok(BuiltinOid::TEXT_BTREE_OPS_OID), + 4217 => Ok(BuiltinOid::TEXT_BTREE_PATTERN_OPS_OID), + 2095 => Ok(BuiltinOid::TEXT_PATTERN_BTREE_FAM_OID), + 4017 => Ok(BuiltinOid::TEXT_SPGIST_FAM_OID), 1010 => Ok(BuiltinOid::TIDARRAYOID), 27 => Ok(BuiltinOid::TIDOID), 1183 => Ok(BuiltinOid::TIMEARRAYOID), @@ -336,6 +391,8 @@ impl BuiltinOid { 1114 => Ok(BuiltinOid::TIMESTAMPOID), 1185 => Ok(BuiltinOid::TIMESTAMPTZARRAYOID), 1184 => Ok(BuiltinOid::TIMESTAMPTZOID), + 3127 => Ok(BuiltinOid::TIMESTAMPTZ_BTREE_OPS_OID), + 3128 => Ok(BuiltinOid::TIMESTAMP_BTREE_OPS_OID), 1270 => Ok(BuiltinOid::TIMETZARRAYOID), 1266 => Ok(BuiltinOid::TIMETZOID), 2279 => Ok(BuiltinOid::TRIGGEROID), @@ -361,6 +418,7 @@ impl BuiltinOid { 1562 => Ok(BuiltinOid::VARBITOID), 1015 => Ok(BuiltinOid::VARCHARARRAYOID), 1043 => Ok(BuiltinOid::VARCHAROID), + 4218 => Ok(BuiltinOid::VARCHAR_BTREE_PATTERN_OPS_OID), 2278 => Ok(BuiltinOid::VOIDOID), 1011 => Ok(BuiltinOid::XIDARRAYOID), 28 => Ok(BuiltinOid::XIDOID), diff --git a/pgrx-pg-sys/src/include/pg13.rs b/pgrx-pg-sys/src/include/pg13.rs index 2e4ab078e..9371e22de 100644 --- a/pgrx-pg-sys/src/include/pg13.rs +++ b/pgrx-pg-sys/src/include/pg13.rs @@ -2729,6 +2729,19 @@ pub const PublicationRelPrrelidPrpubidIndexId: u32 = 6113; pub const SubscriptionObjectIndexId: u32 = 6114; pub const SubscriptionNameIndexId: u32 = 6115; pub const SubscriptionRelSrrelidSrsubidIndexId: u32 = 6117; +pub const AccessMethodOperatorRelationId: Oid = Oid(2602); +pub const Anum_pg_amop_oid: u32 = 1; +pub const Anum_pg_amop_amopfamily: u32 = 2; +pub const Anum_pg_amop_amoplefttype: u32 = 3; +pub const Anum_pg_amop_amoprighttype: u32 = 4; +pub const Anum_pg_amop_amopstrategy: u32 = 5; +pub const Anum_pg_amop_amoppurpose: u32 = 6; +pub const Anum_pg_amop_amopopr: u32 = 7; +pub const Anum_pg_amop_amopmethod: u32 = 8; +pub const Anum_pg_amop_amopsortfamily: u32 = 9; +pub const Natts_pg_amop: u32 = 9; +pub const AMOP_SEARCH: u8 = 115u8; +pub const AMOP_ORDER: u8 = 111u8; pub const AuthIdRelationId: Oid = Oid(1260); pub const AuthIdRelation_Rowtype_Id: u32 = 2842; pub const Anum_pg_authid_oid: u32 = 1; @@ -2787,6 +2800,21 @@ pub const Anum_pg_extension_extversion: u32 = 6; pub const Anum_pg_extension_extconfig: u32 = 7; pub const Anum_pg_extension_extcondition: u32 = 8; pub const Natts_pg_extension: u32 = 8; +pub const ForeignServerRelationId: Oid = Oid(1417); +pub const Anum_pg_foreign_server_oid: u32 = 1; +pub const Anum_pg_foreign_server_srvname: u32 = 2; +pub const Anum_pg_foreign_server_srvowner: u32 = 3; +pub const Anum_pg_foreign_server_srvfdw: u32 = 4; +pub const Anum_pg_foreign_server_srvtype: u32 = 5; +pub const Anum_pg_foreign_server_srvversion: u32 = 6; +pub const Anum_pg_foreign_server_srvacl: u32 = 7; +pub const Anum_pg_foreign_server_srvoptions: u32 = 8; +pub const Natts_pg_foreign_server: u32 = 8; +pub const ForeignTableRelationId: Oid = Oid(3118); +pub const Anum_pg_foreign_table_ftrelid: u32 = 1; +pub const Anum_pg_foreign_table_ftserver: u32 = 2; +pub const Anum_pg_foreign_table_ftoptions: u32 = 3; +pub const Natts_pg_foreign_table: u32 = 3; pub const OperatorRelationId: Oid = Oid(2617); pub const Anum_pg_operator_oid: u32 = 1; pub const Anum_pg_operator_oprname: u32 = 2; @@ -2868,6 +2896,48 @@ pub const OID_RANGE_LEFT_OP: u32 = 3893; pub const OID_RANGE_RIGHT_OP: u32 = 3894; pub const OID_RANGE_OVERLAPS_LEFT_OP: u32 = 3895; pub const OID_RANGE_OVERLAPS_RIGHT_OP: u32 = 3896; +pub const OperatorClassRelationId: Oid = Oid(2616); +pub const Anum_pg_opclass_oid: u32 = 1; +pub const Anum_pg_opclass_opcmethod: u32 = 2; +pub const Anum_pg_opclass_opcname: u32 = 3; +pub const Anum_pg_opclass_opcnamespace: u32 = 4; +pub const Anum_pg_opclass_opcowner: u32 = 5; +pub const Anum_pg_opclass_opcfamily: u32 = 6; +pub const Anum_pg_opclass_opcintype: u32 = 7; +pub const Anum_pg_opclass_opcdefault: u32 = 8; +pub const Anum_pg_opclass_opckeytype: u32 = 9; +pub const Natts_pg_opclass: u32 = 9; +pub const DATE_BTREE_OPS_OID: Oid = Oid(3122); +pub const FLOAT8_BTREE_OPS_OID: Oid = Oid(3123); +pub const INT2_BTREE_OPS_OID: Oid = Oid(1979); +pub const INT4_BTREE_OPS_OID: Oid = Oid(1978); +pub const INT8_BTREE_OPS_OID: Oid = Oid(3124); +pub const NUMERIC_BTREE_OPS_OID: Oid = Oid(3125); +pub const OID_BTREE_OPS_OID: Oid = Oid(1981); +pub const TEXT_BTREE_OPS_OID: Oid = Oid(3126); +pub const TIMESTAMPTZ_BTREE_OPS_OID: Oid = Oid(3127); +pub const TIMESTAMP_BTREE_OPS_OID: Oid = Oid(3128); +pub const TEXT_BTREE_PATTERN_OPS_OID: Oid = Oid(4217); +pub const VARCHAR_BTREE_PATTERN_OPS_OID: Oid = Oid(4218); +pub const BPCHAR_BTREE_PATTERN_OPS_OID: Oid = Oid(4219); +pub const OperatorFamilyRelationId: Oid = Oid(2753); +pub const Anum_pg_opfamily_oid: u32 = 1; +pub const Anum_pg_opfamily_opfmethod: u32 = 2; +pub const Anum_pg_opfamily_opfname: u32 = 3; +pub const Anum_pg_opfamily_opfnamespace: u32 = 4; +pub const Anum_pg_opfamily_opfowner: u32 = 5; +pub const Natts_pg_opfamily: u32 = 5; +pub const BOOL_BTREE_FAM_OID: Oid = Oid(424); +pub const BPCHAR_BTREE_FAM_OID: Oid = Oid(426); +pub const BYTEA_BTREE_FAM_OID: Oid = Oid(428); +pub const NETWORK_BTREE_FAM_OID: Oid = Oid(1974); +pub const INTEGER_BTREE_FAM_OID: Oid = Oid(1976); +pub const OID_BTREE_FAM_OID: Oid = Oid(1989); +pub const TEXT_BTREE_FAM_OID: Oid = Oid(1994); +pub const TEXT_PATTERN_BTREE_FAM_OID: Oid = Oid(2095); +pub const BPCHAR_PATTERN_BTREE_FAM_OID: Oid = Oid(2097); +pub const BOOL_HASH_FAM_OID: Oid = Oid(2222); +pub const TEXT_SPGIST_FAM_OID: Oid = Oid(4017); pub const ProcedureRelationId: Oid = Oid(1255); pub const ProcedureRelation_Rowtype_Id: u32 = 81; pub const Anum_pg_proc_oid: u32 = 1; @@ -3240,6 +3310,9 @@ pub const PLPGSQL_XCHECK_NONE: u32 = 0; pub const PLPGSQL_XCHECK_SHADOWVAR: u32 = 2; pub const PLPGSQL_XCHECK_TOOMANYROWS: u32 = 4; pub const PLPGSQL_XCHECK_STRICTMULTIASSIGNMENT: u32 = 8; +pub const POSTMASTER_FD_WATCH: u32 = 0; +pub const POSTMASTER_FD_OWN: u32 = 1; +pub const MAX_BACKENDS: u32 = 262143; pub const RBTXN_HAS_CATALOG_CHANGES: u32 = 1; pub const RBTXN_IS_SUBXACT: u32 = 2; pub const RBTXN_IS_SERIALIZED: u32 = 4; @@ -3342,6 +3415,9 @@ pub const DEFAULT_MATCHING_SEL: f64 = 0.01; pub const DEFAULT_NUM_DISTINCT: u32 = 200; pub const DEFAULT_UNK_SEL: f64 = 0.005; pub const DEFAULT_NOT_UNK_SEL: f64 = 0.995; +pub const CATCACHE_MAXKEYS: u32 = 4; +pub const CT_MAGIC: u32 = 1462113538; +pub const CL_MAGIC: u32 = 1383485699; pub const RANGE_EMPTY: u32 = 1; pub const RANGE_LB_INC: u32 = 2; pub const RANGE_UB_INC: u32 = 4; @@ -32241,6 +32317,29 @@ extern "C" { } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct FormData_pg_amop { + pub oid: Oid, + pub amopfamily: Oid, + pub amoplefttype: Oid, + pub amoprighttype: Oid, + pub amopstrategy: int16, + pub amoppurpose: ::std::os::raw::c_char, + pub amopopr: Oid, + pub amopmethod: Oid, + pub amopsortfamily: Oid, +} +impl Default for FormData_pg_amop { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_amop = *mut FormData_pg_amop; +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct FormData_pg_authid { pub oid: Oid, pub rolname: NameData, @@ -32375,6 +32474,40 @@ impl Default for FormData_pg_extension { pub type Form_pg_extension = *mut FormData_pg_extension; #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_server { + pub oid: Oid, + pub srvname: NameData, + pub srvowner: Oid, + pub srvfdw: Oid, +} +impl Default for FormData_pg_foreign_server { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_server = *mut FormData_pg_foreign_server; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_table { + pub ftrelid: Oid, + pub ftserver: Oid, +} +impl Default for FormData_pg_foreign_table { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_table = *mut FormData_pg_foreign_table; +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct FormData_pg_operator { pub oid: Oid, pub oprname: NameData, @@ -32431,6 +32564,48 @@ extern "C" { pub fn OperatorUpd(baseId: Oid, commId: Oid, negId: Oid, isDelete: bool); } #[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_opclass { + pub oid: Oid, + pub opcmethod: Oid, + pub opcname: NameData, + pub opcnamespace: Oid, + pub opcowner: Oid, + pub opcfamily: Oid, + pub opcintype: Oid, + pub opcdefault: bool, + pub opckeytype: Oid, +} +impl Default for FormData_pg_opclass { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_opclass = *mut FormData_pg_opclass; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_opfamily { + pub oid: Oid, + pub opfmethod: Oid, + pub opfname: NameData, + pub opfnamespace: Oid, + pub opfowner: Oid, +} +impl Default for FormData_pg_opfamily { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_opfamily = *mut FormData_pg_opfamily; +#[repr(C)] #[derive(Debug)] pub struct FormData_pg_proc { pub oid: Oid, @@ -45125,6 +45300,78 @@ extern "C" { extern "C" { pub fn plpgsql_yyparse() -> ::std::os::raw::c_int; } +extern "C" { + pub static mut EnableSSL: bool; +} +extern "C" { + pub static mut ReservedBackends: ::std::os::raw::c_int; +} +extern "C" { + pub static mut PostPortNumber: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Unix_socket_permissions: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Unix_socket_group: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut Unix_socket_directories: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut ListenAddresses: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut ClientAuthInProgress: bool; +} +extern "C" { + pub static mut PreAuthDelay: ::std::os::raw::c_int; +} +extern "C" { + pub static mut AuthenticationTimeout: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Log_connections: bool; +} +extern "C" { + pub static mut log_hostname: bool; +} +extern "C" { + pub static mut enable_bonjour: bool; +} +extern "C" { + pub static mut bonjour_name: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut restart_after_crash: bool; +} +extern "C" { + pub static mut postmaster_alive_fds: [::std::os::raw::c_int; 2usize]; +} +extern "C" { + pub static mut progname: *const ::std::os::raw::c_char; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PostmasterMain(argc: ::std::os::raw::c_int, argv: *mut *mut ::std::os::raw::c_char) + -> !; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ClosePostmasterPorts(am_syslogger: bool); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitProcessGlobals(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn MaxLivePostmasterChildren() -> ::std::os::raw::c_int; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PostmasterMarkPIDForWorkerNotify(arg1: ::std::os::raw::c_int) -> bool; +} extern "C" { pub static mut logical_decoding_work_mem: ::std::os::raw::c_int; } @@ -60511,6 +60758,213 @@ extern "C" { varRelid: ::std::os::raw::c_int, ) -> Selectivity; } +pub type CCHashFN = ::std::option::Option uint32>; +pub type CCFastEqualFN = ::std::option::Option bool>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catcache { + pub id: ::std::os::raw::c_int, + pub cc_nbuckets: ::std::os::raw::c_int, + pub cc_tupdesc: TupleDesc, + pub cc_bucket: *mut dlist_head, + pub cc_hashfunc: [CCHashFN; 4usize], + pub cc_fastequal: [CCFastEqualFN; 4usize], + pub cc_keyno: [::std::os::raw::c_int; 4usize], + pub cc_lists: dlist_head, + pub cc_ntup: ::std::os::raw::c_int, + pub cc_nkeys: ::std::os::raw::c_int, + pub cc_relname: *const ::std::os::raw::c_char, + pub cc_reloid: Oid, + pub cc_indexoid: Oid, + pub cc_relisshared: bool, + pub cc_next: slist_node, + pub cc_skey: [ScanKeyData; 4usize], +} +impl Default for catcache { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCache = catcache; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catctup { + pub ct_magic: ::std::os::raw::c_int, + pub hash_value: uint32, + pub keys: [Datum; 4usize], + pub cache_elem: dlist_node, + pub refcount: ::std::os::raw::c_int, + pub dead: bool, + pub negative: bool, + pub tuple: HeapTupleData, + pub c_list: *mut catclist, + pub my_cache: *mut CatCache, +} +impl Default for catctup { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCTup = catctup; +#[repr(C)] +#[derive(Debug)] +pub struct catclist { + pub cl_magic: ::std::os::raw::c_int, + pub hash_value: uint32, + pub cache_elem: dlist_node, + pub keys: [Datum; 4usize], + pub refcount: ::std::os::raw::c_int, + pub dead: bool, + pub ordered: bool, + pub nkeys: ::std::os::raw::c_short, + pub n_members: ::std::os::raw::c_int, + pub my_cache: *mut CatCache, + pub members: __IncompleteArrayField<*mut CatCTup>, +} +impl Default for catclist { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCList = catclist; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catcacheheader { + pub ch_caches: slist_head, + pub ch_ntup: ::std::os::raw::c_int, +} +impl Default for catcacheheader { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCacheHeader = catcacheheader; +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CreateCacheMemoryContext(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitCatCache( + id: ::std::os::raw::c_int, + reloid: Oid, + indexoid: Oid, + nkeys: ::std::os::raw::c_int, + key: *const ::std::os::raw::c_int, + nbuckets: ::std::os::raw::c_int, + ) -> *mut CatCache; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitCatCachePhase2(cache: *mut CatCache, touch_index: bool); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache1(cache: *mut CatCache, v1: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache2(cache: *mut CatCache, v1: Datum, v2: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache3(cache: *mut CatCache, v1: Datum, v2: Datum, v3: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache4( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ReleaseCatCache(tuple: HeapTuple); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn GetCatCacheHashValue( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> uint32; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCacheList( + cache: *mut CatCache, + nkeys: ::std::os::raw::c_int, + v1: Datum, + v2: Datum, + v3: Datum, + ) -> *mut CatCList; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ReleaseCatCacheList(list: *mut CatCList); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ResetCatalogCaches(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CatalogCacheFlushCatalog(catId: Oid); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CatCacheInvalidate(cache: *mut CatCache, hashValue: uint32); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrepareToInvalidateCacheTuple( + relation: Relation, + tuple: HeapTuple, + newtuple: HeapTuple, + function: ::std::option::Option< + unsafe extern "C" fn(arg1: ::std::os::raw::c_int, arg2: uint32, arg3: Oid), + >, + ); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrintCatCacheLeakWarning(tuple: HeapTuple); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrintCatCacheListLeakWarning(list: *mut CatCList); +} pub const SysCacheIdentifier_AGGFNOID: SysCacheIdentifier = 0; pub const SysCacheIdentifier_AMNAME: SysCacheIdentifier = 1; pub const SysCacheIdentifier_AMOID: SysCacheIdentifier = 2; @@ -60712,11 +61166,6 @@ extern "C" { key4: Datum, ) -> uint32; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct catclist { - _unused: [u8; 0], -} #[pgrx_macros::pg_guard] extern "C" { pub fn SearchSysCacheList( diff --git a/pgrx-pg-sys/src/include/pg13_oids.rs b/pgrx-pg-sys/src/include/pg13_oids.rs index 3924e2650..555768957 100644 --- a/pgrx-pg-sys/src/include/pg13_oids.rs +++ b/pgrx-pg-sys/src/include/pg13_oids.rs @@ -13,18 +13,25 @@ pub enum BuiltinOid { ANYNONARRAYOID = 2776, ANYOID = 2276, ANYRANGEOID = 3831, + AccessMethodOperatorRelationId = 2602, AttributeRelationId = 1249, AuthIdRelationId = 1260, BITARRAYOID = 1561, BITOID = 1560, BOOLARRAYOID = 1000, BOOLOID = 16, + BOOL_BTREE_FAM_OID = 424, + BOOL_HASH_FAM_OID = 2222, BOXARRAYOID = 1020, BOXOID = 603, BPCHARARRAYOID = 1014, BPCHAROID = 1042, + BPCHAR_BTREE_FAM_OID = 426, + BPCHAR_BTREE_PATTERN_OPS_OID = 4219, + BPCHAR_PATTERN_BTREE_FAM_OID = 2097, BYTEAARRAYOID = 1001, BYTEAOID = 17, + BYTEA_BTREE_FAM_OID = 428, CASHOID = 790, CHARARRAYOID = 1002, CHAROID = 18, @@ -40,6 +47,7 @@ pub enum BuiltinOid { DATEOID = 1082, DATERANGEARRAYOID = 3913, DATERANGEOID = 3912, + DATE_BTREE_OPS_OID = 3122, DEFAULTTABLESPACE_OID = 1663, DatabaseRelationId = 1262, EVTTRIGGEROID = 3838, @@ -51,6 +59,9 @@ pub enum BuiltinOid { FLOAT4OID = 700, FLOAT8ARRAYOID = 1022, FLOAT8OID = 701, + FLOAT8_BTREE_OPS_OID = 3123, + ForeignServerRelationId = 1417, + ForeignTableRelationId = 3118, GLOBALTABLESPACE_OID = 1664, GTSVECTORARRAYOID = 3644, GTSVECTOROID = 3642, @@ -62,14 +73,18 @@ pub enum BuiltinOid { INT2OID = 21, INT2VECTORARRAYOID = 1006, INT2VECTOROID = 22, + INT2_BTREE_OPS_OID = 1979, INT4ARRAYOID = 1007, INT4OID = 23, INT4RANGEARRAYOID = 3905, INT4RANGEOID = 3904, + INT4_BTREE_OPS_OID = 1978, INT8ARRAYOID = 1016, INT8OID = 20, INT8RANGEARRAYOID = 3927, INT8RANGEOID = 3926, + INT8_BTREE_OPS_OID = 3124, + INTEGER_BTREE_FAM_OID = 1976, INTERNALOID = 2281, INTERVALARRAYOID = 1187, INTERVALOID = 1186, @@ -93,8 +108,10 @@ pub enum BuiltinOid { MONEYARRAYOID = 791, NAMEARRAYOID = 1003, NAMEOID = 19, + NETWORK_BTREE_FAM_OID = 1974, NUMERICARRAYOID = 1231, NUMERICOID = 1700, + NUMERIC_BTREE_OPS_OID = 3125, NUMRANGEARRAYOID = 3907, NUMRANGEOID = 3906, NamespaceRelationId = 2615, @@ -102,6 +119,10 @@ pub enum BuiltinOid { OIDOID = 26, OIDVECTORARRAYOID = 1013, OIDVECTOROID = 30, + OID_BTREE_FAM_OID = 1989, + OID_BTREE_OPS_OID = 1981, + OperatorClassRelationId = 2616, + OperatorFamilyRelationId = 2753, OperatorRelationId = 2617, PATHARRAYOID = 1019, PATHOID = 602, @@ -150,6 +171,11 @@ pub enum BuiltinOid { TABLE_AM_HANDLEROID = 269, TEXTARRAYOID = 1009, TEXTOID = 25, + TEXT_BTREE_FAM_OID = 1994, + TEXT_BTREE_OPS_OID = 3126, + TEXT_BTREE_PATTERN_OPS_OID = 4217, + TEXT_PATTERN_BTREE_FAM_OID = 2095, + TEXT_SPGIST_FAM_OID = 4017, TIDARRAYOID = 1010, TIDOID = 27, TIMEARRAYOID = 1183, @@ -158,6 +184,8 @@ pub enum BuiltinOid { TIMESTAMPOID = 1114, TIMESTAMPTZARRAYOID = 1185, TIMESTAMPTZOID = 1184, + TIMESTAMPTZ_BTREE_OPS_OID = 3127, + TIMESTAMP_BTREE_OPS_OID = 3128, TIMETZARRAYOID = 1270, TIMETZOID = 1266, TRIGGEROID = 2279, @@ -183,6 +211,7 @@ pub enum BuiltinOid { VARBITOID = 1562, VARCHARARRAYOID = 1015, VARCHAROID = 1043, + VARCHAR_BTREE_PATTERN_OPS_OID = 4218, VOIDOID = 2278, XID8ARRAYOID = 271, XID8OID = 5069, @@ -207,18 +236,25 @@ impl BuiltinOid { 2776 => Ok(BuiltinOid::ANYNONARRAYOID), 2276 => Ok(BuiltinOid::ANYOID), 3831 => Ok(BuiltinOid::ANYRANGEOID), + 2602 => Ok(BuiltinOid::AccessMethodOperatorRelationId), 1249 => Ok(BuiltinOid::AttributeRelationId), 1260 => Ok(BuiltinOid::AuthIdRelationId), 1561 => Ok(BuiltinOid::BITARRAYOID), 1560 => Ok(BuiltinOid::BITOID), 1000 => Ok(BuiltinOid::BOOLARRAYOID), 16 => Ok(BuiltinOid::BOOLOID), + 424 => Ok(BuiltinOid::BOOL_BTREE_FAM_OID), + 2222 => Ok(BuiltinOid::BOOL_HASH_FAM_OID), 1020 => Ok(BuiltinOid::BOXARRAYOID), 603 => Ok(BuiltinOid::BOXOID), 1014 => Ok(BuiltinOid::BPCHARARRAYOID), 1042 => Ok(BuiltinOid::BPCHAROID), + 426 => Ok(BuiltinOid::BPCHAR_BTREE_FAM_OID), + 4219 => Ok(BuiltinOid::BPCHAR_BTREE_PATTERN_OPS_OID), + 2097 => Ok(BuiltinOid::BPCHAR_PATTERN_BTREE_FAM_OID), 1001 => Ok(BuiltinOid::BYTEAARRAYOID), 17 => Ok(BuiltinOid::BYTEAOID), + 428 => Ok(BuiltinOid::BYTEA_BTREE_FAM_OID), 790 => Ok(BuiltinOid::CASHOID), 1002 => Ok(BuiltinOid::CHARARRAYOID), 18 => Ok(BuiltinOid::CHAROID), @@ -234,6 +270,7 @@ impl BuiltinOid { 1082 => Ok(BuiltinOid::DATEOID), 3913 => Ok(BuiltinOid::DATERANGEARRAYOID), 3912 => Ok(BuiltinOid::DATERANGEOID), + 3122 => Ok(BuiltinOid::DATE_BTREE_OPS_OID), 1663 => Ok(BuiltinOid::DEFAULTTABLESPACE_OID), 1262 => Ok(BuiltinOid::DatabaseRelationId), 3838 => Ok(BuiltinOid::EVTTRIGGEROID), @@ -245,6 +282,9 @@ impl BuiltinOid { 700 => Ok(BuiltinOid::FLOAT4OID), 1022 => Ok(BuiltinOid::FLOAT8ARRAYOID), 701 => Ok(BuiltinOid::FLOAT8OID), + 3123 => Ok(BuiltinOid::FLOAT8_BTREE_OPS_OID), + 1417 => Ok(BuiltinOid::ForeignServerRelationId), + 3118 => Ok(BuiltinOid::ForeignTableRelationId), 1664 => Ok(BuiltinOid::GLOBALTABLESPACE_OID), 3644 => Ok(BuiltinOid::GTSVECTORARRAYOID), 3642 => Ok(BuiltinOid::GTSVECTOROID), @@ -256,14 +296,18 @@ impl BuiltinOid { 21 => Ok(BuiltinOid::INT2OID), 1006 => Ok(BuiltinOid::INT2VECTORARRAYOID), 22 => Ok(BuiltinOid::INT2VECTOROID), + 1979 => Ok(BuiltinOid::INT2_BTREE_OPS_OID), 1007 => Ok(BuiltinOid::INT4ARRAYOID), 23 => Ok(BuiltinOid::INT4OID), 3905 => Ok(BuiltinOid::INT4RANGEARRAYOID), 3904 => Ok(BuiltinOid::INT4RANGEOID), + 1978 => Ok(BuiltinOid::INT4_BTREE_OPS_OID), 1016 => Ok(BuiltinOid::INT8ARRAYOID), 20 => Ok(BuiltinOid::INT8OID), 3927 => Ok(BuiltinOid::INT8RANGEARRAYOID), 3926 => Ok(BuiltinOid::INT8RANGEOID), + 3124 => Ok(BuiltinOid::INT8_BTREE_OPS_OID), + 1976 => Ok(BuiltinOid::INTEGER_BTREE_FAM_OID), 2281 => Ok(BuiltinOid::INTERNALOID), 1187 => Ok(BuiltinOid::INTERVALARRAYOID), 1186 => Ok(BuiltinOid::INTERVALOID), @@ -287,8 +331,10 @@ impl BuiltinOid { 791 => Ok(BuiltinOid::MONEYARRAYOID), 1003 => Ok(BuiltinOid::NAMEARRAYOID), 19 => Ok(BuiltinOid::NAMEOID), + 1974 => Ok(BuiltinOid::NETWORK_BTREE_FAM_OID), 1231 => Ok(BuiltinOid::NUMERICARRAYOID), 1700 => Ok(BuiltinOid::NUMERICOID), + 3125 => Ok(BuiltinOid::NUMERIC_BTREE_OPS_OID), 3907 => Ok(BuiltinOid::NUMRANGEARRAYOID), 3906 => Ok(BuiltinOid::NUMRANGEOID), 2615 => Ok(BuiltinOid::NamespaceRelationId), @@ -296,6 +342,10 @@ impl BuiltinOid { 26 => Ok(BuiltinOid::OIDOID), 1013 => Ok(BuiltinOid::OIDVECTORARRAYOID), 30 => Ok(BuiltinOid::OIDVECTOROID), + 1989 => Ok(BuiltinOid::OID_BTREE_FAM_OID), + 1981 => Ok(BuiltinOid::OID_BTREE_OPS_OID), + 2616 => Ok(BuiltinOid::OperatorClassRelationId), + 2753 => Ok(BuiltinOid::OperatorFamilyRelationId), 2617 => Ok(BuiltinOid::OperatorRelationId), 1019 => Ok(BuiltinOid::PATHARRAYOID), 602 => Ok(BuiltinOid::PATHOID), @@ -344,6 +394,11 @@ impl BuiltinOid { 269 => Ok(BuiltinOid::TABLE_AM_HANDLEROID), 1009 => Ok(BuiltinOid::TEXTARRAYOID), 25 => Ok(BuiltinOid::TEXTOID), + 1994 => Ok(BuiltinOid::TEXT_BTREE_FAM_OID), + 3126 => Ok(BuiltinOid::TEXT_BTREE_OPS_OID), + 4217 => Ok(BuiltinOid::TEXT_BTREE_PATTERN_OPS_OID), + 2095 => Ok(BuiltinOid::TEXT_PATTERN_BTREE_FAM_OID), + 4017 => Ok(BuiltinOid::TEXT_SPGIST_FAM_OID), 1010 => Ok(BuiltinOid::TIDARRAYOID), 27 => Ok(BuiltinOid::TIDOID), 1183 => Ok(BuiltinOid::TIMEARRAYOID), @@ -352,6 +407,8 @@ impl BuiltinOid { 1114 => Ok(BuiltinOid::TIMESTAMPOID), 1185 => Ok(BuiltinOid::TIMESTAMPTZARRAYOID), 1184 => Ok(BuiltinOid::TIMESTAMPTZOID), + 3127 => Ok(BuiltinOid::TIMESTAMPTZ_BTREE_OPS_OID), + 3128 => Ok(BuiltinOid::TIMESTAMP_BTREE_OPS_OID), 1270 => Ok(BuiltinOid::TIMETZARRAYOID), 1266 => Ok(BuiltinOid::TIMETZOID), 2279 => Ok(BuiltinOid::TRIGGEROID), @@ -377,6 +434,7 @@ impl BuiltinOid { 1562 => Ok(BuiltinOid::VARBITOID), 1015 => Ok(BuiltinOid::VARCHARARRAYOID), 1043 => Ok(BuiltinOid::VARCHAROID), + 4218 => Ok(BuiltinOid::VARCHAR_BTREE_PATTERN_OPS_OID), 2278 => Ok(BuiltinOid::VOIDOID), 271 => Ok(BuiltinOid::XID8ARRAYOID), 5069 => Ok(BuiltinOid::XID8OID), diff --git a/pgrx-pg-sys/src/include/pg14.rs b/pgrx-pg-sys/src/include/pg14.rs index a685ecf0b..57426f19c 100644 --- a/pgrx-pg-sys/src/include/pg14.rs +++ b/pgrx-pg-sys/src/include/pg14.rs @@ -2526,6 +2526,22 @@ pub const REINDEX_REL_CHECK_CONSTRAINTS: u32 = 4; pub const REINDEX_REL_FORCE_INDEXES_UNLOGGED: u32 = 8; pub const REINDEX_REL_FORCE_INDEXES_PERMANENT: u32 = 16; pub const MAX_CATALOG_MULTI_INSERT_BYTES: u32 = 65535; +pub const AccessMethodOperatorRelationId: Oid = Oid(2602); +pub const Anum_pg_amop_oid: u32 = 1; +pub const Anum_pg_amop_amopfamily: u32 = 2; +pub const Anum_pg_amop_amoplefttype: u32 = 3; +pub const Anum_pg_amop_amoprighttype: u32 = 4; +pub const Anum_pg_amop_amopstrategy: u32 = 5; +pub const Anum_pg_amop_amoppurpose: u32 = 6; +pub const Anum_pg_amop_amopopr: u32 = 7; +pub const Anum_pg_amop_amopmethod: u32 = 8; +pub const Anum_pg_amop_amopsortfamily: u32 = 9; +pub const Natts_pg_amop: u32 = 9; +pub const AMOP_SEARCH: u8 = 115u8; +pub const AMOP_ORDER: u8 = 111u8; +pub const AccessMethodStrategyIndexId: u32 = 2653; +pub const AccessMethodOperatorIndexId: u32 = 2654; +pub const AccessMethodOperatorOidIndexId: u32 = 2756; pub const AuthIdRelationId: Oid = Oid(1260); pub const AuthIdRelation_Rowtype_Id: u32 = 2842; pub const Anum_pg_authid_oid: u32 = 1; @@ -2600,6 +2616,24 @@ pub const Anum_pg_extension_extcondition: u32 = 8; pub const Natts_pg_extension: u32 = 8; pub const ExtensionOidIndexId: u32 = 3080; pub const ExtensionNameIndexId: u32 = 3081; +pub const ForeignServerRelationId: Oid = Oid(1417); +pub const Anum_pg_foreign_server_oid: u32 = 1; +pub const Anum_pg_foreign_server_srvname: u32 = 2; +pub const Anum_pg_foreign_server_srvowner: u32 = 3; +pub const Anum_pg_foreign_server_srvfdw: u32 = 4; +pub const Anum_pg_foreign_server_srvtype: u32 = 5; +pub const Anum_pg_foreign_server_srvversion: u32 = 6; +pub const Anum_pg_foreign_server_srvacl: u32 = 7; +pub const Anum_pg_foreign_server_srvoptions: u32 = 8; +pub const Natts_pg_foreign_server: u32 = 8; +pub const ForeignServerOidIndexId: u32 = 113; +pub const ForeignServerNameIndexId: u32 = 549; +pub const ForeignTableRelationId: Oid = Oid(3118); +pub const Anum_pg_foreign_table_ftrelid: u32 = 1; +pub const Anum_pg_foreign_table_ftserver: u32 = 2; +pub const Anum_pg_foreign_table_ftoptions: u32 = 3; +pub const Natts_pg_foreign_table: u32 = 3; +pub const ForeignTableRelidIndexId: u32 = 3119; pub const OperatorRelationId: Oid = Oid(2617); pub const Anum_pg_operator_oid: u32 = 1; pub const Anum_pg_operator_oprname: u32 = 2; @@ -2716,6 +2750,52 @@ pub const OID_MULTIRANGE_RIGHT_RANGE_OP: u32 = 4399; pub const OID_MULTIRANGE_RIGHT_MULTIRANGE_OP: u32 = 4400; pub const OperatorOidIndexId: u32 = 2688; pub const OperatorNameNspIndexId: u32 = 2689; +pub const OperatorClassRelationId: Oid = Oid(2616); +pub const Anum_pg_opclass_oid: u32 = 1; +pub const Anum_pg_opclass_opcmethod: u32 = 2; +pub const Anum_pg_opclass_opcname: u32 = 3; +pub const Anum_pg_opclass_opcnamespace: u32 = 4; +pub const Anum_pg_opclass_opcowner: u32 = 5; +pub const Anum_pg_opclass_opcfamily: u32 = 6; +pub const Anum_pg_opclass_opcintype: u32 = 7; +pub const Anum_pg_opclass_opcdefault: u32 = 8; +pub const Anum_pg_opclass_opckeytype: u32 = 9; +pub const Natts_pg_opclass: u32 = 9; +pub const DATE_BTREE_OPS_OID: Oid = Oid(3122); +pub const FLOAT8_BTREE_OPS_OID: Oid = Oid(3123); +pub const INT2_BTREE_OPS_OID: Oid = Oid(1979); +pub const INT4_BTREE_OPS_OID: Oid = Oid(1978); +pub const INT8_BTREE_OPS_OID: Oid = Oid(3124); +pub const NUMERIC_BTREE_OPS_OID: Oid = Oid(3125); +pub const OID_BTREE_OPS_OID: Oid = Oid(1981); +pub const TEXT_BTREE_OPS_OID: Oid = Oid(3126); +pub const TIMESTAMPTZ_BTREE_OPS_OID: Oid = Oid(3127); +pub const TIMESTAMP_BTREE_OPS_OID: Oid = Oid(3128); +pub const TEXT_BTREE_PATTERN_OPS_OID: Oid = Oid(4217); +pub const VARCHAR_BTREE_PATTERN_OPS_OID: Oid = Oid(4218); +pub const BPCHAR_BTREE_PATTERN_OPS_OID: Oid = Oid(4219); +pub const OpclassAmNameNspIndexId: u32 = 2686; +pub const OpclassOidIndexId: u32 = 2687; +pub const OperatorFamilyRelationId: Oid = Oid(2753); +pub const Anum_pg_opfamily_oid: u32 = 1; +pub const Anum_pg_opfamily_opfmethod: u32 = 2; +pub const Anum_pg_opfamily_opfname: u32 = 3; +pub const Anum_pg_opfamily_opfnamespace: u32 = 4; +pub const Anum_pg_opfamily_opfowner: u32 = 5; +pub const Natts_pg_opfamily: u32 = 5; +pub const BOOL_BTREE_FAM_OID: Oid = Oid(424); +pub const BPCHAR_BTREE_FAM_OID: Oid = Oid(426); +pub const BYTEA_BTREE_FAM_OID: Oid = Oid(428); +pub const NETWORK_BTREE_FAM_OID: Oid = Oid(1974); +pub const INTEGER_BTREE_FAM_OID: Oid = Oid(1976); +pub const OID_BTREE_FAM_OID: Oid = Oid(1989); +pub const TEXT_BTREE_FAM_OID: Oid = Oid(1994); +pub const TEXT_PATTERN_BTREE_FAM_OID: Oid = Oid(2095); +pub const BPCHAR_PATTERN_BTREE_FAM_OID: Oid = Oid(2097); +pub const BOOL_HASH_FAM_OID: Oid = Oid(2222); +pub const TEXT_SPGIST_FAM_OID: Oid = Oid(4017); +pub const OpfamilyAmNameNspIndexId: u32 = 2754; +pub const OpfamilyOidIndexId: u32 = 2755; pub const ProcedureRelationId: Oid = Oid(1255); pub const ProcedureRelation_Rowtype_Id: u32 = 81; pub const Anum_pg_proc_oid: u32 = 1; @@ -3143,6 +3223,9 @@ pub const PLPGSQL_XCHECK_NONE: u32 = 0; pub const PLPGSQL_XCHECK_SHADOWVAR: u32 = 2; pub const PLPGSQL_XCHECK_TOOMANYROWS: u32 = 4; pub const PLPGSQL_XCHECK_STRICTMULTIASSIGNMENT: u32 = 8; +pub const POSTMASTER_FD_WATCH: u32 = 0; +pub const POSTMASTER_FD_OWN: u32 = 1; +pub const MAX_BACKENDS: u32 = 262143; pub const RBTXN_HAS_CATALOG_CHANGES: u32 = 1; pub const RBTXN_IS_SUBXACT: u32 = 2; pub const RBTXN_IS_SERIALIZED: u32 = 4; @@ -3359,6 +3442,9 @@ pub const DEFAULT_NUM_DISTINCT: u32 = 200; pub const DEFAULT_UNK_SEL: f64 = 0.005; pub const DEFAULT_NOT_UNK_SEL: f64 = 0.995; pub const SELFLAG_USED_DEFAULT: u32 = 1; +pub const CATCACHE_MAXKEYS: u32 = 4; +pub const CT_MAGIC: u32 = 1462113538; +pub const CL_MAGIC: u32 = 1383485699; pub const RANGE_EMPTY_LITERAL: &[u8; 6] = b"empty\0"; pub const RANGE_EMPTY: u32 = 1; pub const RANGE_LB_INC: u32 = 2; @@ -32401,6 +32487,29 @@ extern "C" { } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct FormData_pg_amop { + pub oid: Oid, + pub amopfamily: Oid, + pub amoplefttype: Oid, + pub amoprighttype: Oid, + pub amopstrategy: int16, + pub amoppurpose: ::std::os::raw::c_char, + pub amopopr: Oid, + pub amopmethod: Oid, + pub amopsortfamily: Oid, +} +impl Default for FormData_pg_amop { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_amop = *mut FormData_pg_amop; +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct FormData_pg_authid { pub oid: Oid, pub rolname: NameData, @@ -32535,6 +32644,40 @@ impl Default for FormData_pg_extension { pub type Form_pg_extension = *mut FormData_pg_extension; #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_server { + pub oid: Oid, + pub srvname: NameData, + pub srvowner: Oid, + pub srvfdw: Oid, +} +impl Default for FormData_pg_foreign_server { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_server = *mut FormData_pg_foreign_server; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_table { + pub ftrelid: Oid, + pub ftserver: Oid, +} +impl Default for FormData_pg_foreign_table { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_table = *mut FormData_pg_foreign_table; +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct FormData_pg_operator { pub oid: Oid, pub oprname: NameData, @@ -32591,6 +32734,48 @@ extern "C" { pub fn OperatorUpd(baseId: Oid, commId: Oid, negId: Oid, isDelete: bool); } #[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_opclass { + pub oid: Oid, + pub opcmethod: Oid, + pub opcname: NameData, + pub opcnamespace: Oid, + pub opcowner: Oid, + pub opcfamily: Oid, + pub opcintype: Oid, + pub opcdefault: bool, + pub opckeytype: Oid, +} +impl Default for FormData_pg_opclass { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_opclass = *mut FormData_pg_opclass; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_opfamily { + pub oid: Oid, + pub opfmethod: Oid, + pub opfname: NameData, + pub opfnamespace: Oid, + pub opfowner: Oid, +} +impl Default for FormData_pg_opfamily { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_opfamily = *mut FormData_pg_opfamily; +#[repr(C)] #[derive(Debug)] pub struct FormData_pg_proc { pub oid: Oid, @@ -46143,6 +46328,81 @@ extern "C" { extern "C" { pub fn plpgsql_yyparse() -> ::std::os::raw::c_int; } +extern "C" { + pub static mut EnableSSL: bool; +} +extern "C" { + pub static mut ReservedBackends: ::std::os::raw::c_int; +} +extern "C" { + pub static mut PostPortNumber: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Unix_socket_permissions: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Unix_socket_group: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut Unix_socket_directories: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut ListenAddresses: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut ClientAuthInProgress: bool; +} +extern "C" { + pub static mut PreAuthDelay: ::std::os::raw::c_int; +} +extern "C" { + pub static mut AuthenticationTimeout: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Log_connections: bool; +} +extern "C" { + pub static mut log_hostname: bool; +} +extern "C" { + pub static mut enable_bonjour: bool; +} +extern "C" { + pub static mut bonjour_name: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut restart_after_crash: bool; +} +extern "C" { + pub static mut remove_temp_files_after_crash: bool; +} +extern "C" { + pub static mut postmaster_alive_fds: [::std::os::raw::c_int; 2usize]; +} +extern "C" { + pub static mut progname: *const ::std::os::raw::c_char; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PostmasterMain(argc: ::std::os::raw::c_int, argv: *mut *mut ::std::os::raw::c_char) + -> !; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ClosePostmasterPorts(am_syslogger: bool); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitProcessGlobals(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn MaxLivePostmasterChildren() -> ::std::os::raw::c_int; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PostmasterMarkPIDForWorkerNotify(arg1: ::std::os::raw::c_int) -> bool; +} extern "C" { pub static mut logical_decoding_work_mem: ::std::os::raw::c_int; } @@ -63473,6 +63733,213 @@ extern "C" { varRelid: ::std::os::raw::c_int, ) -> Selectivity; } +pub type CCHashFN = ::std::option::Option uint32>; +pub type CCFastEqualFN = ::std::option::Option bool>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catcache { + pub id: ::std::os::raw::c_int, + pub cc_nbuckets: ::std::os::raw::c_int, + pub cc_tupdesc: TupleDesc, + pub cc_bucket: *mut dlist_head, + pub cc_hashfunc: [CCHashFN; 4usize], + pub cc_fastequal: [CCFastEqualFN; 4usize], + pub cc_keyno: [::std::os::raw::c_int; 4usize], + pub cc_lists: dlist_head, + pub cc_ntup: ::std::os::raw::c_int, + pub cc_nkeys: ::std::os::raw::c_int, + pub cc_relname: *const ::std::os::raw::c_char, + pub cc_reloid: Oid, + pub cc_indexoid: Oid, + pub cc_relisshared: bool, + pub cc_next: slist_node, + pub cc_skey: [ScanKeyData; 4usize], +} +impl Default for catcache { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCache = catcache; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catctup { + pub ct_magic: ::std::os::raw::c_int, + pub hash_value: uint32, + pub keys: [Datum; 4usize], + pub cache_elem: dlist_node, + pub refcount: ::std::os::raw::c_int, + pub dead: bool, + pub negative: bool, + pub tuple: HeapTupleData, + pub c_list: *mut catclist, + pub my_cache: *mut CatCache, +} +impl Default for catctup { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCTup = catctup; +#[repr(C)] +#[derive(Debug)] +pub struct catclist { + pub cl_magic: ::std::os::raw::c_int, + pub hash_value: uint32, + pub cache_elem: dlist_node, + pub keys: [Datum; 4usize], + pub refcount: ::std::os::raw::c_int, + pub dead: bool, + pub ordered: bool, + pub nkeys: ::std::os::raw::c_short, + pub n_members: ::std::os::raw::c_int, + pub my_cache: *mut CatCache, + pub members: __IncompleteArrayField<*mut CatCTup>, +} +impl Default for catclist { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCList = catclist; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catcacheheader { + pub ch_caches: slist_head, + pub ch_ntup: ::std::os::raw::c_int, +} +impl Default for catcacheheader { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCacheHeader = catcacheheader; +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CreateCacheMemoryContext(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitCatCache( + id: ::std::os::raw::c_int, + reloid: Oid, + indexoid: Oid, + nkeys: ::std::os::raw::c_int, + key: *const ::std::os::raw::c_int, + nbuckets: ::std::os::raw::c_int, + ) -> *mut CatCache; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitCatCachePhase2(cache: *mut CatCache, touch_index: bool); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache1(cache: *mut CatCache, v1: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache2(cache: *mut CatCache, v1: Datum, v2: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache3(cache: *mut CatCache, v1: Datum, v2: Datum, v3: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache4( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ReleaseCatCache(tuple: HeapTuple); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn GetCatCacheHashValue( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> uint32; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCacheList( + cache: *mut CatCache, + nkeys: ::std::os::raw::c_int, + v1: Datum, + v2: Datum, + v3: Datum, + ) -> *mut CatCList; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ReleaseCatCacheList(list: *mut CatCList); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ResetCatalogCaches(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CatalogCacheFlushCatalog(catId: Oid); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CatCacheInvalidate(cache: *mut CatCache, hashValue: uint32); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrepareToInvalidateCacheTuple( + relation: Relation, + tuple: HeapTuple, + newtuple: HeapTuple, + function: ::std::option::Option< + unsafe extern "C" fn(arg1: ::std::os::raw::c_int, arg2: uint32, arg3: Oid), + >, + ); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrintCatCacheLeakWarning(tuple: HeapTuple); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrintCatCacheListLeakWarning(list: *mut CatCList); +} pub const SysCacheIdentifier_AGGFNOID: SysCacheIdentifier = 0; pub const SysCacheIdentifier_AMNAME: SysCacheIdentifier = 1; pub const SysCacheIdentifier_AMOID: SysCacheIdentifier = 2; @@ -63675,11 +64142,6 @@ extern "C" { key4: Datum, ) -> uint32; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct catclist { - _unused: [u8; 0], -} #[pgrx_macros::pg_guard] extern "C" { pub fn SearchSysCacheList( diff --git a/pgrx-pg-sys/src/include/pg14_oids.rs b/pgrx-pg-sys/src/include/pg14_oids.rs index 4ce13f703..e4cb26916 100644 --- a/pgrx-pg-sys/src/include/pg14_oids.rs +++ b/pgrx-pg-sys/src/include/pg14_oids.rs @@ -15,18 +15,25 @@ pub enum BuiltinOid { ANYNONARRAYOID = 2776, ANYOID = 2276, ANYRANGEOID = 3831, + AccessMethodOperatorRelationId = 2602, AttributeRelationId = 1249, AuthIdRelationId = 1260, BITARRAYOID = 1561, BITOID = 1560, BOOLARRAYOID = 1000, BOOLOID = 16, + BOOL_BTREE_FAM_OID = 424, + BOOL_HASH_FAM_OID = 2222, BOXARRAYOID = 1020, BOXOID = 603, BPCHARARRAYOID = 1014, BPCHAROID = 1042, + BPCHAR_BTREE_FAM_OID = 426, + BPCHAR_BTREE_PATTERN_OPS_OID = 4219, + BPCHAR_PATTERN_BTREE_FAM_OID = 2097, BYTEAARRAYOID = 1001, BYTEAOID = 17, + BYTEA_BTREE_FAM_OID = 428, CHARARRAYOID = 1002, CHAROID = 18, CIDARRAYOID = 1012, @@ -43,6 +50,7 @@ pub enum BuiltinOid { DATEOID = 1082, DATERANGEARRAYOID = 3913, DATERANGEOID = 3912, + DATE_BTREE_OPS_OID = 3122, DEFAULTTABLESPACE_OID = 1663, DatabaseRelationId = 1262, EVENT_TRIGGEROID = 3838, @@ -54,6 +62,9 @@ pub enum BuiltinOid { FLOAT4OID = 700, FLOAT8ARRAYOID = 1022, FLOAT8OID = 701, + FLOAT8_BTREE_OPS_OID = 3123, + ForeignServerRelationId = 1417, + ForeignTableRelationId = 3118, GLOBALTABLESPACE_OID = 1664, GTSVECTORARRAYOID = 3644, GTSVECTOROID = 3642, @@ -64,18 +75,22 @@ pub enum BuiltinOid { INT2OID = 21, INT2VECTORARRAYOID = 1006, INT2VECTOROID = 22, + INT2_BTREE_OPS_OID = 1979, INT4ARRAYOID = 1007, INT4MULTIRANGEARRAYOID = 6150, INT4MULTIRANGEOID = 4451, INT4OID = 23, INT4RANGEARRAYOID = 3905, INT4RANGEOID = 3904, + INT4_BTREE_OPS_OID = 1978, INT8ARRAYOID = 1016, INT8MULTIRANGEARRAYOID = 6157, INT8MULTIRANGEOID = 4536, INT8OID = 20, INT8RANGEARRAYOID = 3927, INT8RANGEOID = 3926, + INT8_BTREE_OPS_OID = 3124, + INTEGER_BTREE_FAM_OID = 1976, INTERNALOID = 2281, INTERVALARRAYOID = 1187, INTERVALOID = 1186, @@ -99,8 +114,10 @@ pub enum BuiltinOid { MONEYOID = 790, NAMEARRAYOID = 1003, NAMEOID = 19, + NETWORK_BTREE_FAM_OID = 1974, NUMERICARRAYOID = 1231, NUMERICOID = 1700, + NUMERIC_BTREE_OPS_OID = 3125, NUMMULTIRANGEARRAYOID = 6151, NUMMULTIRANGEOID = 4532, NUMRANGEARRAYOID = 3907, @@ -110,6 +127,10 @@ pub enum BuiltinOid { OIDOID = 26, OIDVECTORARRAYOID = 1013, OIDVECTOROID = 30, + OID_BTREE_FAM_OID = 1989, + OID_BTREE_OPS_OID = 1981, + OperatorClassRelationId = 2616, + OperatorFamilyRelationId = 2753, OperatorRelationId = 2617, PATHARRAYOID = 1019, PATHOID = 602, @@ -165,6 +186,11 @@ pub enum BuiltinOid { TABLE_AM_HANDLEROID = 269, TEXTARRAYOID = 1009, TEXTOID = 25, + TEXT_BTREE_FAM_OID = 1994, + TEXT_BTREE_OPS_OID = 3126, + TEXT_BTREE_PATTERN_OPS_OID = 4217, + TEXT_PATTERN_BTREE_FAM_OID = 2095, + TEXT_SPGIST_FAM_OID = 4017, TIDARRAYOID = 1010, TIDOID = 27, TIMEARRAYOID = 1183, @@ -173,6 +199,8 @@ pub enum BuiltinOid { TIMESTAMPOID = 1114, TIMESTAMPTZARRAYOID = 1185, TIMESTAMPTZOID = 1184, + TIMESTAMPTZ_BTREE_OPS_OID = 3127, + TIMESTAMP_BTREE_OPS_OID = 3128, TIMETZARRAYOID = 1270, TIMETZOID = 1266, TRIGGEROID = 2279, @@ -202,6 +230,7 @@ pub enum BuiltinOid { VARBITOID = 1562, VARCHARARRAYOID = 1015, VARCHAROID = 1043, + VARCHAR_BTREE_PATTERN_OPS_OID = 4218, VOIDOID = 2278, XID8ARRAYOID = 271, XID8OID = 5069, @@ -228,18 +257,25 @@ impl BuiltinOid { 2776 => Ok(BuiltinOid::ANYNONARRAYOID), 2276 => Ok(BuiltinOid::ANYOID), 3831 => Ok(BuiltinOid::ANYRANGEOID), + 2602 => Ok(BuiltinOid::AccessMethodOperatorRelationId), 1249 => Ok(BuiltinOid::AttributeRelationId), 1260 => Ok(BuiltinOid::AuthIdRelationId), 1561 => Ok(BuiltinOid::BITARRAYOID), 1560 => Ok(BuiltinOid::BITOID), 1000 => Ok(BuiltinOid::BOOLARRAYOID), 16 => Ok(BuiltinOid::BOOLOID), + 424 => Ok(BuiltinOid::BOOL_BTREE_FAM_OID), + 2222 => Ok(BuiltinOid::BOOL_HASH_FAM_OID), 1020 => Ok(BuiltinOid::BOXARRAYOID), 603 => Ok(BuiltinOid::BOXOID), 1014 => Ok(BuiltinOid::BPCHARARRAYOID), 1042 => Ok(BuiltinOid::BPCHAROID), + 426 => Ok(BuiltinOid::BPCHAR_BTREE_FAM_OID), + 4219 => Ok(BuiltinOid::BPCHAR_BTREE_PATTERN_OPS_OID), + 2097 => Ok(BuiltinOid::BPCHAR_PATTERN_BTREE_FAM_OID), 1001 => Ok(BuiltinOid::BYTEAARRAYOID), 17 => Ok(BuiltinOid::BYTEAOID), + 428 => Ok(BuiltinOid::BYTEA_BTREE_FAM_OID), 1002 => Ok(BuiltinOid::CHARARRAYOID), 18 => Ok(BuiltinOid::CHAROID), 1012 => Ok(BuiltinOid::CIDARRAYOID), @@ -256,6 +292,7 @@ impl BuiltinOid { 1082 => Ok(BuiltinOid::DATEOID), 3913 => Ok(BuiltinOid::DATERANGEARRAYOID), 3912 => Ok(BuiltinOid::DATERANGEOID), + 3122 => Ok(BuiltinOid::DATE_BTREE_OPS_OID), 1663 => Ok(BuiltinOid::DEFAULTTABLESPACE_OID), 1262 => Ok(BuiltinOid::DatabaseRelationId), 3838 => Ok(BuiltinOid::EVENT_TRIGGEROID), @@ -267,6 +304,9 @@ impl BuiltinOid { 700 => Ok(BuiltinOid::FLOAT4OID), 1022 => Ok(BuiltinOid::FLOAT8ARRAYOID), 701 => Ok(BuiltinOid::FLOAT8OID), + 3123 => Ok(BuiltinOid::FLOAT8_BTREE_OPS_OID), + 1417 => Ok(BuiltinOid::ForeignServerRelationId), + 3118 => Ok(BuiltinOid::ForeignTableRelationId), 1664 => Ok(BuiltinOid::GLOBALTABLESPACE_OID), 3644 => Ok(BuiltinOid::GTSVECTORARRAYOID), 3642 => Ok(BuiltinOid::GTSVECTOROID), @@ -277,18 +317,22 @@ impl BuiltinOid { 21 => Ok(BuiltinOid::INT2OID), 1006 => Ok(BuiltinOid::INT2VECTORARRAYOID), 22 => Ok(BuiltinOid::INT2VECTOROID), + 1979 => Ok(BuiltinOid::INT2_BTREE_OPS_OID), 1007 => Ok(BuiltinOid::INT4ARRAYOID), 6150 => Ok(BuiltinOid::INT4MULTIRANGEARRAYOID), 4451 => Ok(BuiltinOid::INT4MULTIRANGEOID), 23 => Ok(BuiltinOid::INT4OID), 3905 => Ok(BuiltinOid::INT4RANGEARRAYOID), 3904 => Ok(BuiltinOid::INT4RANGEOID), + 1978 => Ok(BuiltinOid::INT4_BTREE_OPS_OID), 1016 => Ok(BuiltinOid::INT8ARRAYOID), 6157 => Ok(BuiltinOid::INT8MULTIRANGEARRAYOID), 4536 => Ok(BuiltinOid::INT8MULTIRANGEOID), 20 => Ok(BuiltinOid::INT8OID), 3927 => Ok(BuiltinOid::INT8RANGEARRAYOID), 3926 => Ok(BuiltinOid::INT8RANGEOID), + 3124 => Ok(BuiltinOid::INT8_BTREE_OPS_OID), + 1976 => Ok(BuiltinOid::INTEGER_BTREE_FAM_OID), 2281 => Ok(BuiltinOid::INTERNALOID), 1187 => Ok(BuiltinOid::INTERVALARRAYOID), 1186 => Ok(BuiltinOid::INTERVALOID), @@ -312,8 +356,10 @@ impl BuiltinOid { 790 => Ok(BuiltinOid::MONEYOID), 1003 => Ok(BuiltinOid::NAMEARRAYOID), 19 => Ok(BuiltinOid::NAMEOID), + 1974 => Ok(BuiltinOid::NETWORK_BTREE_FAM_OID), 1231 => Ok(BuiltinOid::NUMERICARRAYOID), 1700 => Ok(BuiltinOid::NUMERICOID), + 3125 => Ok(BuiltinOid::NUMERIC_BTREE_OPS_OID), 6151 => Ok(BuiltinOid::NUMMULTIRANGEARRAYOID), 4532 => Ok(BuiltinOid::NUMMULTIRANGEOID), 3907 => Ok(BuiltinOid::NUMRANGEARRAYOID), @@ -323,6 +369,10 @@ impl BuiltinOid { 26 => Ok(BuiltinOid::OIDOID), 1013 => Ok(BuiltinOid::OIDVECTORARRAYOID), 30 => Ok(BuiltinOid::OIDVECTOROID), + 1989 => Ok(BuiltinOid::OID_BTREE_FAM_OID), + 1981 => Ok(BuiltinOid::OID_BTREE_OPS_OID), + 2616 => Ok(BuiltinOid::OperatorClassRelationId), + 2753 => Ok(BuiltinOid::OperatorFamilyRelationId), 2617 => Ok(BuiltinOid::OperatorRelationId), 1019 => Ok(BuiltinOid::PATHARRAYOID), 602 => Ok(BuiltinOid::PATHOID), @@ -378,6 +428,11 @@ impl BuiltinOid { 269 => Ok(BuiltinOid::TABLE_AM_HANDLEROID), 1009 => Ok(BuiltinOid::TEXTARRAYOID), 25 => Ok(BuiltinOid::TEXTOID), + 1994 => Ok(BuiltinOid::TEXT_BTREE_FAM_OID), + 3126 => Ok(BuiltinOid::TEXT_BTREE_OPS_OID), + 4217 => Ok(BuiltinOid::TEXT_BTREE_PATTERN_OPS_OID), + 2095 => Ok(BuiltinOid::TEXT_PATTERN_BTREE_FAM_OID), + 4017 => Ok(BuiltinOid::TEXT_SPGIST_FAM_OID), 1010 => Ok(BuiltinOid::TIDARRAYOID), 27 => Ok(BuiltinOid::TIDOID), 1183 => Ok(BuiltinOid::TIMEARRAYOID), @@ -386,6 +441,8 @@ impl BuiltinOid { 1114 => Ok(BuiltinOid::TIMESTAMPOID), 1185 => Ok(BuiltinOid::TIMESTAMPTZARRAYOID), 1184 => Ok(BuiltinOid::TIMESTAMPTZOID), + 3127 => Ok(BuiltinOid::TIMESTAMPTZ_BTREE_OPS_OID), + 3128 => Ok(BuiltinOid::TIMESTAMP_BTREE_OPS_OID), 1270 => Ok(BuiltinOid::TIMETZARRAYOID), 1266 => Ok(BuiltinOid::TIMETZOID), 2279 => Ok(BuiltinOid::TRIGGEROID), @@ -415,6 +472,7 @@ impl BuiltinOid { 1562 => Ok(BuiltinOid::VARBITOID), 1015 => Ok(BuiltinOid::VARCHARARRAYOID), 1043 => Ok(BuiltinOid::VARCHAROID), + 4218 => Ok(BuiltinOid::VARCHAR_BTREE_PATTERN_OPS_OID), 2278 => Ok(BuiltinOid::VOIDOID), 271 => Ok(BuiltinOid::XID8ARRAYOID), 5069 => Ok(BuiltinOid::XID8OID), diff --git a/pgrx-pg-sys/src/include/pg15.rs b/pgrx-pg-sys/src/include/pg15.rs index d20e64cde..e47b97115 100644 --- a/pgrx-pg-sys/src/include/pg15.rs +++ b/pgrx-pg-sys/src/include/pg15.rs @@ -2554,6 +2554,22 @@ pub const REINDEX_REL_CHECK_CONSTRAINTS: u32 = 4; pub const REINDEX_REL_FORCE_INDEXES_UNLOGGED: u32 = 8; pub const REINDEX_REL_FORCE_INDEXES_PERMANENT: u32 = 16; pub const MAX_CATALOG_MULTI_INSERT_BYTES: u32 = 65535; +pub const AccessMethodOperatorRelationId: Oid = Oid(2602); +pub const AccessMethodStrategyIndexId: u32 = 2653; +pub const AccessMethodOperatorIndexId: u32 = 2654; +pub const AccessMethodOperatorOidIndexId: u32 = 2756; +pub const Anum_pg_amop_oid: u32 = 1; +pub const Anum_pg_amop_amopfamily: u32 = 2; +pub const Anum_pg_amop_amoplefttype: u32 = 3; +pub const Anum_pg_amop_amoprighttype: u32 = 4; +pub const Anum_pg_amop_amopstrategy: u32 = 5; +pub const Anum_pg_amop_amoppurpose: u32 = 6; +pub const Anum_pg_amop_amopopr: u32 = 7; +pub const Anum_pg_amop_amopmethod: u32 = 8; +pub const Anum_pg_amop_amopsortfamily: u32 = 9; +pub const Natts_pg_amop: u32 = 9; +pub const AMOP_SEARCH: u8 = 115u8; +pub const AMOP_ORDER: u8 = 111u8; pub const AuthIdRelationId: Oid = Oid(1260); pub const AuthIdRelation_Rowtype_Id: u32 = 2842; pub const PgAuthidToastTable: u32 = 4175; @@ -2633,6 +2649,24 @@ pub const Anum_pg_extension_extversion: u32 = 6; pub const Anum_pg_extension_extconfig: u32 = 7; pub const Anum_pg_extension_extcondition: u32 = 8; pub const Natts_pg_extension: u32 = 8; +pub const ForeignServerRelationId: Oid = Oid(1417); +pub const ForeignServerOidIndexId: u32 = 113; +pub const ForeignServerNameIndexId: u32 = 549; +pub const Anum_pg_foreign_server_oid: u32 = 1; +pub const Anum_pg_foreign_server_srvname: u32 = 2; +pub const Anum_pg_foreign_server_srvowner: u32 = 3; +pub const Anum_pg_foreign_server_srvfdw: u32 = 4; +pub const Anum_pg_foreign_server_srvtype: u32 = 5; +pub const Anum_pg_foreign_server_srvversion: u32 = 6; +pub const Anum_pg_foreign_server_srvacl: u32 = 7; +pub const Anum_pg_foreign_server_srvoptions: u32 = 8; +pub const Natts_pg_foreign_server: u32 = 8; +pub const ForeignTableRelationId: Oid = Oid(3118); +pub const ForeignTableRelidIndexId: u32 = 3119; +pub const Anum_pg_foreign_table_ftrelid: u32 = 1; +pub const Anum_pg_foreign_table_ftserver: u32 = 2; +pub const Anum_pg_foreign_table_ftoptions: u32 = 3; +pub const Natts_pg_foreign_table: u32 = 3; pub const OperatorRelationId: Oid = Oid(2617); pub const OperatorOidIndexId: u32 = 2688; pub const OperatorNameNspIndexId: u32 = 2689; @@ -2750,6 +2784,52 @@ pub const OID_MULTIRANGE_LEFT_MULTIRANGE_OP: u32 = 4397; pub const OID_RANGE_RIGHT_MULTIRANGE_OP: u32 = 4398; pub const OID_MULTIRANGE_RIGHT_RANGE_OP: u32 = 4399; pub const OID_MULTIRANGE_RIGHT_MULTIRANGE_OP: u32 = 4400; +pub const OperatorClassRelationId: Oid = Oid(2616); +pub const OpclassAmNameNspIndexId: u32 = 2686; +pub const OpclassOidIndexId: u32 = 2687; +pub const Anum_pg_opclass_oid: u32 = 1; +pub const Anum_pg_opclass_opcmethod: u32 = 2; +pub const Anum_pg_opclass_opcname: u32 = 3; +pub const Anum_pg_opclass_opcnamespace: u32 = 4; +pub const Anum_pg_opclass_opcowner: u32 = 5; +pub const Anum_pg_opclass_opcfamily: u32 = 6; +pub const Anum_pg_opclass_opcintype: u32 = 7; +pub const Anum_pg_opclass_opcdefault: u32 = 8; +pub const Anum_pg_opclass_opckeytype: u32 = 9; +pub const Natts_pg_opclass: u32 = 9; +pub const DATE_BTREE_OPS_OID: Oid = Oid(3122); +pub const FLOAT8_BTREE_OPS_OID: Oid = Oid(3123); +pub const INT2_BTREE_OPS_OID: Oid = Oid(1979); +pub const INT4_BTREE_OPS_OID: Oid = Oid(1978); +pub const INT8_BTREE_OPS_OID: Oid = Oid(3124); +pub const NUMERIC_BTREE_OPS_OID: Oid = Oid(3125); +pub const OID_BTREE_OPS_OID: Oid = Oid(1981); +pub const TEXT_BTREE_OPS_OID: Oid = Oid(3126); +pub const TIMESTAMPTZ_BTREE_OPS_OID: Oid = Oid(3127); +pub const TIMESTAMP_BTREE_OPS_OID: Oid = Oid(3128); +pub const TEXT_BTREE_PATTERN_OPS_OID: Oid = Oid(4217); +pub const VARCHAR_BTREE_PATTERN_OPS_OID: Oid = Oid(4218); +pub const BPCHAR_BTREE_PATTERN_OPS_OID: Oid = Oid(4219); +pub const OperatorFamilyRelationId: Oid = Oid(2753); +pub const OpfamilyAmNameNspIndexId: u32 = 2754; +pub const OpfamilyOidIndexId: u32 = 2755; +pub const Anum_pg_opfamily_oid: u32 = 1; +pub const Anum_pg_opfamily_opfmethod: u32 = 2; +pub const Anum_pg_opfamily_opfname: u32 = 3; +pub const Anum_pg_opfamily_opfnamespace: u32 = 4; +pub const Anum_pg_opfamily_opfowner: u32 = 5; +pub const Natts_pg_opfamily: u32 = 5; +pub const BOOL_BTREE_FAM_OID: Oid = Oid(424); +pub const BPCHAR_BTREE_FAM_OID: Oid = Oid(426); +pub const BYTEA_BTREE_FAM_OID: Oid = Oid(428); +pub const NETWORK_BTREE_FAM_OID: Oid = Oid(1974); +pub const INTEGER_BTREE_FAM_OID: Oid = Oid(1976); +pub const OID_BTREE_FAM_OID: Oid = Oid(1989); +pub const TEXT_BTREE_FAM_OID: Oid = Oid(1994); +pub const TEXT_PATTERN_BTREE_FAM_OID: Oid = Oid(2095); +pub const BPCHAR_PATTERN_BTREE_FAM_OID: Oid = Oid(2097); +pub const BOOL_HASH_FAM_OID: Oid = Oid(2222); +pub const TEXT_SPGIST_FAM_OID: Oid = Oid(4017); pub const ProcedureRelationId: Oid = Oid(1255); pub const ProcedureRelation_Rowtype_Id: u32 = 81; pub const ProcedureOidIndexId: u32 = 2690; @@ -3184,6 +3264,9 @@ pub const PLPGSQL_XCHECK_NONE: u32 = 0; pub const PLPGSQL_XCHECK_SHADOWVAR: u32 = 2; pub const PLPGSQL_XCHECK_TOOMANYROWS: u32 = 4; pub const PLPGSQL_XCHECK_STRICTMULTIASSIGNMENT: u32 = 8; +pub const POSTMASTER_FD_WATCH: u32 = 0; +pub const POSTMASTER_FD_OWN: u32 = 1; +pub const MAX_BACKENDS: u32 = 262143; pub const RBTXN_HAS_CATALOG_CHANGES: u32 = 1; pub const RBTXN_IS_SUBXACT: u32 = 2; pub const RBTXN_IS_SERIALIZED: u32 = 4; @@ -3403,6 +3486,9 @@ pub const DEFAULT_NUM_DISTINCT: u32 = 200; pub const DEFAULT_UNK_SEL: f64 = 0.005; pub const DEFAULT_NOT_UNK_SEL: f64 = 0.995; pub const SELFLAG_USED_DEFAULT: u32 = 1; +pub const CATCACHE_MAXKEYS: u32 = 4; +pub const CT_MAGIC: u32 = 1462113538; +pub const CL_MAGIC: u32 = 1383485699; pub const RANGE_EMPTY_LITERAL: &[u8; 6] = b"empty\0"; pub const RANGE_EMPTY: u32 = 1; pub const RANGE_LB_INC: u32 = 2; @@ -32590,6 +32676,29 @@ extern "C" { } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct FormData_pg_amop { + pub oid: Oid, + pub amopfamily: Oid, + pub amoplefttype: Oid, + pub amoprighttype: Oid, + pub amopstrategy: int16, + pub amoppurpose: ::std::os::raw::c_char, + pub amopopr: Oid, + pub amopmethod: Oid, + pub amopsortfamily: Oid, +} +impl Default for FormData_pg_amop { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_amop = *mut FormData_pg_amop; +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct FormData_pg_authid { pub oid: Oid, pub rolname: NameData, @@ -32722,6 +32831,40 @@ impl Default for FormData_pg_extension { pub type Form_pg_extension = *mut FormData_pg_extension; #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_server { + pub oid: Oid, + pub srvname: NameData, + pub srvowner: Oid, + pub srvfdw: Oid, +} +impl Default for FormData_pg_foreign_server { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_server = *mut FormData_pg_foreign_server; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_foreign_table { + pub ftrelid: Oid, + pub ftserver: Oid, +} +impl Default for FormData_pg_foreign_table { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_foreign_table = *mut FormData_pg_foreign_table; +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct FormData_pg_operator { pub oid: Oid, pub oprname: NameData, @@ -32778,6 +32921,48 @@ extern "C" { pub fn OperatorUpd(baseId: Oid, commId: Oid, negId: Oid, isDelete: bool); } #[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_opclass { + pub oid: Oid, + pub opcmethod: Oid, + pub opcname: NameData, + pub opcnamespace: Oid, + pub opcowner: Oid, + pub opcfamily: Oid, + pub opcintype: Oid, + pub opcdefault: bool, + pub opckeytype: Oid, +} +impl Default for FormData_pg_opclass { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_opclass = *mut FormData_pg_opclass; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FormData_pg_opfamily { + pub oid: Oid, + pub opfmethod: Oid, + pub opfname: NameData, + pub opfnamespace: Oid, + pub opfowner: Oid, +} +impl Default for FormData_pg_opfamily { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type Form_pg_opfamily = *mut FormData_pg_opfamily; +#[repr(C)] #[derive(Debug)] pub struct FormData_pg_proc { pub oid: Oid, @@ -46605,6 +46790,81 @@ extern "C" { extern "C" { pub fn plpgsql_yyparse() -> ::std::os::raw::c_int; } +extern "C" { + pub static mut EnableSSL: bool; +} +extern "C" { + pub static mut ReservedBackends: ::std::os::raw::c_int; +} +extern "C" { + pub static mut PostPortNumber: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Unix_socket_permissions: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Unix_socket_group: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut Unix_socket_directories: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut ListenAddresses: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut ClientAuthInProgress: bool; +} +extern "C" { + pub static mut PreAuthDelay: ::std::os::raw::c_int; +} +extern "C" { + pub static mut AuthenticationTimeout: ::std::os::raw::c_int; +} +extern "C" { + pub static mut Log_connections: bool; +} +extern "C" { + pub static mut log_hostname: bool; +} +extern "C" { + pub static mut enable_bonjour: bool; +} +extern "C" { + pub static mut bonjour_name: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut restart_after_crash: bool; +} +extern "C" { + pub static mut remove_temp_files_after_crash: bool; +} +extern "C" { + pub static mut postmaster_alive_fds: [::std::os::raw::c_int; 2usize]; +} +extern "C" { + pub static mut progname: *const ::std::os::raw::c_char; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PostmasterMain(argc: ::std::os::raw::c_int, argv: *mut *mut ::std::os::raw::c_char) + -> !; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ClosePostmasterPorts(am_syslogger: bool); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitProcessGlobals(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn MaxLivePostmasterChildren() -> ::std::os::raw::c_int; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PostmasterMarkPIDForWorkerNotify(arg1: ::std::os::raw::c_int) -> bool; +} extern "C" { pub static mut logical_decoding_work_mem: ::std::os::raw::c_int; } @@ -64340,6 +64600,213 @@ extern "C" { varRelid: ::std::os::raw::c_int, ) -> Selectivity; } +pub type CCHashFN = ::std::option::Option uint32>; +pub type CCFastEqualFN = ::std::option::Option bool>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catcache { + pub id: ::std::os::raw::c_int, + pub cc_nbuckets: ::std::os::raw::c_int, + pub cc_tupdesc: TupleDesc, + pub cc_bucket: *mut dlist_head, + pub cc_hashfunc: [CCHashFN; 4usize], + pub cc_fastequal: [CCFastEqualFN; 4usize], + pub cc_keyno: [::std::os::raw::c_int; 4usize], + pub cc_lists: dlist_head, + pub cc_ntup: ::std::os::raw::c_int, + pub cc_nkeys: ::std::os::raw::c_int, + pub cc_relname: *const ::std::os::raw::c_char, + pub cc_reloid: Oid, + pub cc_indexoid: Oid, + pub cc_relisshared: bool, + pub cc_next: slist_node, + pub cc_skey: [ScanKeyData; 4usize], +} +impl Default for catcache { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCache = catcache; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catctup { + pub ct_magic: ::std::os::raw::c_int, + pub hash_value: uint32, + pub keys: [Datum; 4usize], + pub cache_elem: dlist_node, + pub refcount: ::std::os::raw::c_int, + pub dead: bool, + pub negative: bool, + pub tuple: HeapTupleData, + pub c_list: *mut catclist, + pub my_cache: *mut CatCache, +} +impl Default for catctup { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCTup = catctup; +#[repr(C)] +#[derive(Debug)] +pub struct catclist { + pub cl_magic: ::std::os::raw::c_int, + pub hash_value: uint32, + pub cache_elem: dlist_node, + pub keys: [Datum; 4usize], + pub refcount: ::std::os::raw::c_int, + pub dead: bool, + pub ordered: bool, + pub nkeys: ::std::os::raw::c_short, + pub n_members: ::std::os::raw::c_int, + pub my_cache: *mut CatCache, + pub members: __IncompleteArrayField<*mut CatCTup>, +} +impl Default for catclist { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCList = catclist; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct catcacheheader { + pub ch_caches: slist_head, + pub ch_ntup: ::std::os::raw::c_int, +} +impl Default for catcacheheader { + fn default() -> Self { + let mut s = ::std::mem::MaybeUninit::::uninit(); + unsafe { + ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); + s.assume_init() + } + } +} +pub type CatCacheHeader = catcacheheader; +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CreateCacheMemoryContext(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitCatCache( + id: ::std::os::raw::c_int, + reloid: Oid, + indexoid: Oid, + nkeys: ::std::os::raw::c_int, + key: *const ::std::os::raw::c_int, + nbuckets: ::std::os::raw::c_int, + ) -> *mut CatCache; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn InitCatCachePhase2(cache: *mut CatCache, touch_index: bool); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache1(cache: *mut CatCache, v1: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache2(cache: *mut CatCache, v1: Datum, v2: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache3(cache: *mut CatCache, v1: Datum, v2: Datum, v3: Datum) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCache4( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> HeapTuple; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ReleaseCatCache(tuple: HeapTuple); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn GetCatCacheHashValue( + cache: *mut CatCache, + v1: Datum, + v2: Datum, + v3: Datum, + v4: Datum, + ) -> uint32; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn SearchCatCacheList( + cache: *mut CatCache, + nkeys: ::std::os::raw::c_int, + v1: Datum, + v2: Datum, + v3: Datum, + ) -> *mut CatCList; +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ReleaseCatCacheList(list: *mut CatCList); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn ResetCatalogCaches(); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CatalogCacheFlushCatalog(catId: Oid); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn CatCacheInvalidate(cache: *mut CatCache, hashValue: uint32); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrepareToInvalidateCacheTuple( + relation: Relation, + tuple: HeapTuple, + newtuple: HeapTuple, + function: ::std::option::Option< + unsafe extern "C" fn(arg1: ::std::os::raw::c_int, arg2: uint32, arg3: Oid), + >, + ); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrintCatCacheLeakWarning(tuple: HeapTuple); +} +#[pgrx_macros::pg_guard] +extern "C" { + pub fn PrintCatCacheListLeakWarning(list: *mut CatCList); +} pub const SysCacheIdentifier_AGGFNOID: SysCacheIdentifier = 0; pub const SysCacheIdentifier_AMNAME: SysCacheIdentifier = 1; pub const SysCacheIdentifier_AMOID: SysCacheIdentifier = 2; @@ -64546,11 +65013,6 @@ extern "C" { key4: Datum, ) -> uint32; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct catclist { - _unused: [u8; 0], -} #[pgrx_macros::pg_guard] extern "C" { pub fn SearchSysCacheList( diff --git a/pgrx-pg-sys/src/include/pg15_oids.rs b/pgrx-pg-sys/src/include/pg15_oids.rs index 1b1412cc4..c1c1e75de 100644 --- a/pgrx-pg-sys/src/include/pg15_oids.rs +++ b/pgrx-pg-sys/src/include/pg15_oids.rs @@ -15,18 +15,25 @@ pub enum BuiltinOid { ANYNONARRAYOID = 2776, ANYOID = 2276, ANYRANGEOID = 3831, + AccessMethodOperatorRelationId = 2602, AttributeRelationId = 1249, AuthIdRelationId = 1260, BITARRAYOID = 1561, BITOID = 1560, BOOLARRAYOID = 1000, BOOLOID = 16, + BOOL_BTREE_FAM_OID = 424, + BOOL_HASH_FAM_OID = 2222, BOXARRAYOID = 1020, BOXOID = 603, BPCHARARRAYOID = 1014, BPCHAROID = 1042, + BPCHAR_BTREE_FAM_OID = 426, + BPCHAR_BTREE_PATTERN_OPS_OID = 4219, + BPCHAR_PATTERN_BTREE_FAM_OID = 2097, BYTEAARRAYOID = 1001, BYTEAOID = 17, + BYTEA_BTREE_FAM_OID = 428, CHARARRAYOID = 1002, CHAROID = 18, CIDARRAYOID = 1012, @@ -43,6 +50,7 @@ pub enum BuiltinOid { DATEOID = 1082, DATERANGEARRAYOID = 3913, DATERANGEOID = 3912, + DATE_BTREE_OPS_OID = 3122, DEFAULTTABLESPACE_OID = 1663, DatabaseRelationId = 1262, EVENT_TRIGGEROID = 3838, @@ -54,6 +62,9 @@ pub enum BuiltinOid { FLOAT4OID = 700, FLOAT8ARRAYOID = 1022, FLOAT8OID = 701, + FLOAT8_BTREE_OPS_OID = 3123, + ForeignServerRelationId = 1417, + ForeignTableRelationId = 3118, GLOBALTABLESPACE_OID = 1664, GTSVECTORARRAYOID = 3644, GTSVECTOROID = 3642, @@ -64,18 +75,22 @@ pub enum BuiltinOid { INT2OID = 21, INT2VECTORARRAYOID = 1006, INT2VECTOROID = 22, + INT2_BTREE_OPS_OID = 1979, INT4ARRAYOID = 1007, INT4MULTIRANGEARRAYOID = 6150, INT4MULTIRANGEOID = 4451, INT4OID = 23, INT4RANGEARRAYOID = 3905, INT4RANGEOID = 3904, + INT4_BTREE_OPS_OID = 1978, INT8ARRAYOID = 1016, INT8MULTIRANGEARRAYOID = 6157, INT8MULTIRANGEOID = 4536, INT8OID = 20, INT8RANGEARRAYOID = 3927, INT8RANGEOID = 3926, + INT8_BTREE_OPS_OID = 3124, + INTEGER_BTREE_FAM_OID = 1976, INTERNALOID = 2281, INTERVALARRAYOID = 1187, INTERVALOID = 1186, @@ -99,8 +114,10 @@ pub enum BuiltinOid { MONEYOID = 790, NAMEARRAYOID = 1003, NAMEOID = 19, + NETWORK_BTREE_FAM_OID = 1974, NUMERICARRAYOID = 1231, NUMERICOID = 1700, + NUMERIC_BTREE_OPS_OID = 3125, NUMMULTIRANGEARRAYOID = 6151, NUMMULTIRANGEOID = 4532, NUMRANGEARRAYOID = 3907, @@ -110,6 +127,10 @@ pub enum BuiltinOid { OIDOID = 26, OIDVECTORARRAYOID = 1013, OIDVECTOROID = 30, + OID_BTREE_FAM_OID = 1989, + OID_BTREE_OPS_OID = 1981, + OperatorClassRelationId = 2616, + OperatorFamilyRelationId = 2753, OperatorRelationId = 2617, PATHARRAYOID = 1019, PATHOID = 602, @@ -165,6 +186,11 @@ pub enum BuiltinOid { TABLE_AM_HANDLEROID = 269, TEXTARRAYOID = 1009, TEXTOID = 25, + TEXT_BTREE_FAM_OID = 1994, + TEXT_BTREE_OPS_OID = 3126, + TEXT_BTREE_PATTERN_OPS_OID = 4217, + TEXT_PATTERN_BTREE_FAM_OID = 2095, + TEXT_SPGIST_FAM_OID = 4017, TIDARRAYOID = 1010, TIDOID = 27, TIMEARRAYOID = 1183, @@ -173,6 +199,8 @@ pub enum BuiltinOid { TIMESTAMPOID = 1114, TIMESTAMPTZARRAYOID = 1185, TIMESTAMPTZOID = 1184, + TIMESTAMPTZ_BTREE_OPS_OID = 3127, + TIMESTAMP_BTREE_OPS_OID = 3128, TIMETZARRAYOID = 1270, TIMETZOID = 1266, TRIGGEROID = 2279, @@ -201,6 +229,7 @@ pub enum BuiltinOid { VARBITOID = 1562, VARCHARARRAYOID = 1015, VARCHAROID = 1043, + VARCHAR_BTREE_PATTERN_OPS_OID = 4218, VOIDOID = 2278, XID8ARRAYOID = 271, XID8OID = 5069, @@ -227,18 +256,25 @@ impl BuiltinOid { 2776 => Ok(BuiltinOid::ANYNONARRAYOID), 2276 => Ok(BuiltinOid::ANYOID), 3831 => Ok(BuiltinOid::ANYRANGEOID), + 2602 => Ok(BuiltinOid::AccessMethodOperatorRelationId), 1249 => Ok(BuiltinOid::AttributeRelationId), 1260 => Ok(BuiltinOid::AuthIdRelationId), 1561 => Ok(BuiltinOid::BITARRAYOID), 1560 => Ok(BuiltinOid::BITOID), 1000 => Ok(BuiltinOid::BOOLARRAYOID), 16 => Ok(BuiltinOid::BOOLOID), + 424 => Ok(BuiltinOid::BOOL_BTREE_FAM_OID), + 2222 => Ok(BuiltinOid::BOOL_HASH_FAM_OID), 1020 => Ok(BuiltinOid::BOXARRAYOID), 603 => Ok(BuiltinOid::BOXOID), 1014 => Ok(BuiltinOid::BPCHARARRAYOID), 1042 => Ok(BuiltinOid::BPCHAROID), + 426 => Ok(BuiltinOid::BPCHAR_BTREE_FAM_OID), + 4219 => Ok(BuiltinOid::BPCHAR_BTREE_PATTERN_OPS_OID), + 2097 => Ok(BuiltinOid::BPCHAR_PATTERN_BTREE_FAM_OID), 1001 => Ok(BuiltinOid::BYTEAARRAYOID), 17 => Ok(BuiltinOid::BYTEAOID), + 428 => Ok(BuiltinOid::BYTEA_BTREE_FAM_OID), 1002 => Ok(BuiltinOid::CHARARRAYOID), 18 => Ok(BuiltinOid::CHAROID), 1012 => Ok(BuiltinOid::CIDARRAYOID), @@ -255,6 +291,7 @@ impl BuiltinOid { 1082 => Ok(BuiltinOid::DATEOID), 3913 => Ok(BuiltinOid::DATERANGEARRAYOID), 3912 => Ok(BuiltinOid::DATERANGEOID), + 3122 => Ok(BuiltinOid::DATE_BTREE_OPS_OID), 1663 => Ok(BuiltinOid::DEFAULTTABLESPACE_OID), 1262 => Ok(BuiltinOid::DatabaseRelationId), 3838 => Ok(BuiltinOid::EVENT_TRIGGEROID), @@ -266,6 +303,9 @@ impl BuiltinOid { 700 => Ok(BuiltinOid::FLOAT4OID), 1022 => Ok(BuiltinOid::FLOAT8ARRAYOID), 701 => Ok(BuiltinOid::FLOAT8OID), + 3123 => Ok(BuiltinOid::FLOAT8_BTREE_OPS_OID), + 1417 => Ok(BuiltinOid::ForeignServerRelationId), + 3118 => Ok(BuiltinOid::ForeignTableRelationId), 1664 => Ok(BuiltinOid::GLOBALTABLESPACE_OID), 3644 => Ok(BuiltinOid::GTSVECTORARRAYOID), 3642 => Ok(BuiltinOid::GTSVECTOROID), @@ -276,18 +316,22 @@ impl BuiltinOid { 21 => Ok(BuiltinOid::INT2OID), 1006 => Ok(BuiltinOid::INT2VECTORARRAYOID), 22 => Ok(BuiltinOid::INT2VECTOROID), + 1979 => Ok(BuiltinOid::INT2_BTREE_OPS_OID), 1007 => Ok(BuiltinOid::INT4ARRAYOID), 6150 => Ok(BuiltinOid::INT4MULTIRANGEARRAYOID), 4451 => Ok(BuiltinOid::INT4MULTIRANGEOID), 23 => Ok(BuiltinOid::INT4OID), 3905 => Ok(BuiltinOid::INT4RANGEARRAYOID), 3904 => Ok(BuiltinOid::INT4RANGEOID), + 1978 => Ok(BuiltinOid::INT4_BTREE_OPS_OID), 1016 => Ok(BuiltinOid::INT8ARRAYOID), 6157 => Ok(BuiltinOid::INT8MULTIRANGEARRAYOID), 4536 => Ok(BuiltinOid::INT8MULTIRANGEOID), 20 => Ok(BuiltinOid::INT8OID), 3927 => Ok(BuiltinOid::INT8RANGEARRAYOID), 3926 => Ok(BuiltinOid::INT8RANGEOID), + 3124 => Ok(BuiltinOid::INT8_BTREE_OPS_OID), + 1976 => Ok(BuiltinOid::INTEGER_BTREE_FAM_OID), 2281 => Ok(BuiltinOid::INTERNALOID), 1187 => Ok(BuiltinOid::INTERVALARRAYOID), 1186 => Ok(BuiltinOid::INTERVALOID), @@ -311,8 +355,10 @@ impl BuiltinOid { 790 => Ok(BuiltinOid::MONEYOID), 1003 => Ok(BuiltinOid::NAMEARRAYOID), 19 => Ok(BuiltinOid::NAMEOID), + 1974 => Ok(BuiltinOid::NETWORK_BTREE_FAM_OID), 1231 => Ok(BuiltinOid::NUMERICARRAYOID), 1700 => Ok(BuiltinOid::NUMERICOID), + 3125 => Ok(BuiltinOid::NUMERIC_BTREE_OPS_OID), 6151 => Ok(BuiltinOid::NUMMULTIRANGEARRAYOID), 4532 => Ok(BuiltinOid::NUMMULTIRANGEOID), 3907 => Ok(BuiltinOid::NUMRANGEARRAYOID), @@ -322,6 +368,10 @@ impl BuiltinOid { 26 => Ok(BuiltinOid::OIDOID), 1013 => Ok(BuiltinOid::OIDVECTORARRAYOID), 30 => Ok(BuiltinOid::OIDVECTOROID), + 1989 => Ok(BuiltinOid::OID_BTREE_FAM_OID), + 1981 => Ok(BuiltinOid::OID_BTREE_OPS_OID), + 2616 => Ok(BuiltinOid::OperatorClassRelationId), + 2753 => Ok(BuiltinOid::OperatorFamilyRelationId), 2617 => Ok(BuiltinOid::OperatorRelationId), 1019 => Ok(BuiltinOid::PATHARRAYOID), 602 => Ok(BuiltinOid::PATHOID), @@ -377,6 +427,11 @@ impl BuiltinOid { 269 => Ok(BuiltinOid::TABLE_AM_HANDLEROID), 1009 => Ok(BuiltinOid::TEXTARRAYOID), 25 => Ok(BuiltinOid::TEXTOID), + 1994 => Ok(BuiltinOid::TEXT_BTREE_FAM_OID), + 3126 => Ok(BuiltinOid::TEXT_BTREE_OPS_OID), + 4217 => Ok(BuiltinOid::TEXT_BTREE_PATTERN_OPS_OID), + 2095 => Ok(BuiltinOid::TEXT_PATTERN_BTREE_FAM_OID), + 4017 => Ok(BuiltinOid::TEXT_SPGIST_FAM_OID), 1010 => Ok(BuiltinOid::TIDARRAYOID), 27 => Ok(BuiltinOid::TIDOID), 1183 => Ok(BuiltinOid::TIMEARRAYOID), @@ -385,6 +440,8 @@ impl BuiltinOid { 1114 => Ok(BuiltinOid::TIMESTAMPOID), 1185 => Ok(BuiltinOid::TIMESTAMPTZARRAYOID), 1184 => Ok(BuiltinOid::TIMESTAMPTZOID), + 3127 => Ok(BuiltinOid::TIMESTAMPTZ_BTREE_OPS_OID), + 3128 => Ok(BuiltinOid::TIMESTAMP_BTREE_OPS_OID), 1270 => Ok(BuiltinOid::TIMETZARRAYOID), 1266 => Ok(BuiltinOid::TIMETZOID), 2279 => Ok(BuiltinOid::TRIGGEROID), @@ -413,6 +470,7 @@ impl BuiltinOid { 1562 => Ok(BuiltinOid::VARBITOID), 1015 => Ok(BuiltinOid::VARCHARARRAYOID), 1043 => Ok(BuiltinOid::VARCHAROID), + 4218 => Ok(BuiltinOid::VARCHAR_BTREE_PATTERN_OPS_OID), 2278 => Ok(BuiltinOid::VOIDOID), 271 => Ok(BuiltinOid::XID8ARRAYOID), 5069 => Ok(BuiltinOid::XID8OID), diff --git a/pgrx-sql-entity-graph/Cargo.toml b/pgrx-sql-entity-graph/Cargo.toml index d8743399c..fabbb0f25 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.10.0-beta.1" +version = "0.10.0-beta.2" authors = ["PgCentral Foundation, Inc. "] license = "MIT" description = "Sql Entity Graph for `pgrx`" @@ -28,12 +28,12 @@ no-schema-generation = [] convert_case = "0.6.0" eyre = "0.6.8" petgraph = "0.6.3" -proc-macro2 = { version = "1.0.64", features = [ "span-locations" ] } -quote = "1.0.29" +proc-macro2 = { version = "1.0.66", features = [ "span-locations" ] } +quote = "1.0.32" syn = { version = "1.0.109", features = [ "extra-traits", "full", "fold", "parsing" ] } unescape = "0.1.0" # colorized sql output atty = { version = "0.2.14", optional = true } owo-colors = { version = "3.5.0", optional = true } -syntect = { version = "5.0.0", default-features = false, features = ["default-fancy"], optional = true } +syntect = { version = "5.1.0", default-features = false, features = ["default-fancy"], optional = true } diff --git a/pgrx-tests/Cargo.toml b/pgrx-tests/Cargo.toml index bfe5d46a9..073ab0979 100644 --- a/pgrx-tests/Cargo.toml +++ b/pgrx-tests/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx-tests" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" authors = ["PgCentral Foundation, Inc. "] license = "MIT" description = "Test framework for 'pgrx'-based Postgres extensions" @@ -48,13 +48,13 @@ clap-cargo = "0.10.0" owo-colors = "3.5.0" once_cell = "1.18.0" libc = "0.2.147" -pgrx-macros = { path = "../pgrx-macros", version = "=0.10.0-beta.1" } -pgrx-pg-config = { path = "../pgrx-pg-config", version = "=0.10.0-beta.1" } +pgrx-macros = { path = "../pgrx-macros", version = "=0.10.0-beta.2" } +pgrx-pg-config = { path = "../pgrx-pg-config", version = "=0.10.0-beta.2" } postgres = "0.19.5" regex = "1.9.1" serde = "1.0" serde_json = "1.0" -sysinfo = "0.29.4" +sysinfo = "0.29.7" eyre = "0.6.8" thiserror = "1.0" rand = "0.8.5" @@ -66,4 +66,4 @@ trybuild = "1" [dependencies.pgrx] path = "../pgrx" default-features = false -version = "=0.10.0-beta.1" +version = "=0.10.0-beta.2" diff --git a/pgrx-version-updater/Cargo.toml b/pgrx-version-updater/Cargo.toml index dc1577ca1..6b660ca37 100644 --- a/pgrx-version-updater/Cargo.toml +++ b/pgrx-version-updater/Cargo.toml @@ -17,7 +17,7 @@ license = "MIT" description = "Standalone tool to update PGRX Cargo.toml versions and dependencies in preparation for a release." [dependencies] -clap = { version = "4.3.11", features = [ "env", "derive" ] } +clap = { version = "4.3.19", features = [ "env", "derive" ] } owo-colors = "3.5.0" -toml_edit = { version = "0.19.13" } +toml_edit = { version = "0.19.14" } walkdir = "2" diff --git a/pgrx/Cargo.toml b/pgrx/Cargo.toml index db9a5da00..e9064c75d 100644 --- a/pgrx/Cargo.toml +++ b/pgrx/Cargo.toml @@ -10,7 +10,7 @@ [package] name = "pgrx" -version = "0.10.0-beta.1" +version = "0.10.0-beta.2" authors = ["PgCentral Foundation, Inc. "] license = "MIT" description = "pgrx: A Rust framework for creating Postgres extensions" @@ -44,15 +44,15 @@ no-default-features = true rustc-args = ["--cfg", "docsrs"] [dependencies] -pgrx-macros = { path = "../pgrx-macros", version = "=0.10.0-beta.1" } -pgrx-pg-sys = { path = "../pgrx-pg-sys", version = "=0.10.0-beta.1" } -pgrx-sql-entity-graph = { path = "../pgrx-sql-entity-graph", version = "=0.10.0-beta.1" } +pgrx-macros = { path = "../pgrx-macros", version = "=0.10.0-beta.2" } +pgrx-pg-sys = { path = "../pgrx-pg-sys", version = "=0.10.0-beta.2" } +pgrx-sql-entity-graph = { path = "../pgrx-sql-entity-graph", version = "=0.10.0-beta.2" } # used to internally impl things once_cell = "1.18.0" # polyfill until std::lazy::OnceCell stabilizes seq-macro = "0.3" # impls loops in macros -uuid = { version = "1.4.0", features = [ "v4" ] } # PgLwLock and shmem -enum-map = "2.6.0" +uuid = { version = "1.4.1", features = [ "v4" ] } # PgLwLock and shmem +enum-map = "2.6.1" # error handling and logging thiserror = "1.0"