-
-
Notifications
You must be signed in to change notification settings - Fork 256
Comparing changes
Open a pull request
base repository: pgcentralfoundation/pgrx
base: v0.12.6
head repository: pgcentralfoundation/pgrx
compare: develop
Commits on Oct 20, 2024
-
Configuration menu - View commit details
-
Copy full SHA for aa23f56 - Browse repository at this point
Copy the full SHA aa23f56View commit details
Commits on Oct 23, 2024
-
Explicitly enable object Cargo features (#1926)
cargo-pgrx only works if we enable a minimal set of Cargo features for for the object crate, that we implicitly enable despite having set object to be `default-features = false`! The Cargo feature resolver has unified our "std" feature for object with the requested object features of our other dependencies that also depend on the object crate. However, these dependencies do so conditionally, based on the platform that they are compiling on. This means that if other dependencies stop using the object crate, or with less features, our enabled Cargo features for object will no longer be the correct set to build our own binary! This also implies some platforms are simply unable to build cargo-pgrx. Even if we don't support these platforms explicitly, we have generally taken a "smoke 'em if you got 'em" approach for unsupported platforms. Thus, enable enough of object's Cargo features to prevent weird problems from surfacing in the future through unrelated dependency changes, and make the cargo-pgrx build effectively platform-invariant. Whether it actually works on those platforms is a "them" problem, but now they should be able to actually get to debugging it a bit.
Configuration menu - View commit details
-
Copy full SHA for 6a93f88 - Browse repository at this point
Copy the full SHA 6a93f88View commit details -
add
commands/progress.h
(#1924)https://github.com/postgres/postgres/blob/master/src/include/commands/progress.h It contains constants used with the progress reporting facilities.
Configuration menu - View commit details
-
Copy full SHA for 80338f3 - Browse repository at this point
Copy the full SHA 80338f3View commit details
Commits on Oct 24, 2024
-
Imply
NOT_IN_SAMPLE
forGucFlags::NO_SHOW_ALL
(#1925)Hi all, firstly, thanks for giving pgrx to the world! We use pgrx at Lantern[^0] and when configuring GUCs noticed a small issue with GUC flags. Postgres requires `GUC_NOT_IN_SAMPLE` GUC flag to be set whenever `NO_SHOW_ALL` is set[^1]. Make applying `GucFlags::NO_SHOW_ALL` also apply `NOT_IN_SAMPLE`, as `NOT_IN_SAMPLE` cannot be set. After applying this diff, we no longer have a direct name matching between pgrx GUC names and postgres ones. An alternative might be to deprecate `NO_SHOW_ALL` and introduce something like `NO_SHOW_ALL_AND_NO_SAMPLE`, but not sure if it is worth it. [^0]: https://github.com/lanterndata/lantern [^1]: https://github.com/postgres/postgres/blob/dbedc461b4e7a9cb4d6f5777174bdf180edb95fd/src/backend/utils/misc/guc.c#L1506-L1519
Configuration menu - View commit details
-
Copy full SHA for 0193fd0 - Browse repository at this point
Copy the full SHA 0193fd0View commit details
Commits on Oct 27, 2024
-
fix: crash from drop impls that panic via
leak_and_drop_on_delete()
(……#1929) If `PgMemoryContexts::leak_and_drop_on_delete()` leaks a type that is `impl Drop`, and that implementation happens to panic, then Postgres will segfault because the callback function was not properly guarded. As a drive-by, slightly cleanup error reporting in the test framework.
Configuration menu - View commit details
-
Copy full SHA for e82264c - Browse repository at this point
Copy the full SHA e82264cView commit details -
Teach
#[pg_cast]
how to pass down arguments useful to#[pg_extern]
(#1930) The `#[pg_cast]` macro does two things. It creates a regular UDF and it then generates the appropriate `CREATE CAST` sql. Ultimately, the cast is just a function so we should support all the attibutes that `#[pg_extern]` supports.
Configuration menu - View commit details
-
Copy full SHA for a1e45c7 - Browse repository at this point
Copy the full SHA a1e45c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a4ff45 - Browse repository at this point
Copy the full SHA 5a4ff45View commit details -
Configuration menu - View commit details
-
Copy full SHA for 77c6961 - Browse repository at this point
Copy the full SHA 77c6961View commit details -
use
allowlist_file
for bindgen (#1922)Some platform definitions make bindgen unhappy (#1882, rust-lang/rust-bindgen#2803 when compiling for x86_64-windows-msvc, `serialization error at builtin definitions: Cannot serialize type kind Opaque` when compiling for x86_64-windows-gnu on my machine), and `allowlist_file` could ensure that it does not happen.
Configuration menu - View commit details
-
Copy full SHA for 039c24f - Browse repository at this point
Copy the full SHA 039c24fView commit details
Commits on Oct 28, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ae0335b - Browse repository at this point
Copy the full SHA ae0335bView commit details
Commits on Oct 29, 2024
-
add
pg_config --libdir
to linker search path (#1932)On Windows, the linker needs `postgres.lib` to link against. So add `pg_config --libdir` to linker search path.
Configuration menu - View commit details
-
Copy full SHA for 7969a47 - Browse repository at this point
Copy the full SHA 7969a47View commit details
Commits on Nov 2, 2024
-
fix a deadlock in
cargo pgrx install
duringget_git_hash()
(#1935)I can't quite explain why, but this function was deadlocking with this backtrace: ``` * thread #1, name = 'cargo-pgrx', stop reason = signal SIGSTOP * frame #0: 0x00007fbe1eeb288d libc.so.6`syscall at syscall.S:38 frame #1: 0x000055aee526c5d3 cargo-pgrx`std::sys::sync::mutex::futex::Mutex::lock_contended::h6389e2305b0b005c [inlined] std::sys::pal::unix::futex::futex_wait::h30abf43e2d55aa33 at futex.rs:67:21 frame #2: 0x000055aee526c590 cargo-pgrx`std::sys::sync::mutex::futex::Mutex::lock_contended::h6389e2305b0b005c at futex.rs:57:13 frame #3: 0x000055aee4157835 cargo-pgrx`std::sync::mutex::Mutex$LT$T$GT$::lock::h4d2bb65800cc6fd3 at futex.rs:29:13 frame #4: 0x000055aee41577ed cargo-pgrx`std::sync::mutex::Mutex$LT$T$GT$::lock::h4d2bb65800cc6fd3(self=0x000055aee6926c20) at mutex.rs:317:24 frame #5: 0x000055aee406c779 cargo-pgrx`cargo_pgrx::command::install::get_git_hash::ha84d504db9d1bba8(manifest_path=0x00007ffdc43b83b0) at install.rs:507:9 frame #6: 0x000055aee406d6e9 cargo-pgrx`cargo_pgrx::command::install::filter_contents::h8c710847129ba6be(manifest_path=0x00007ffdc43b8d10, input=String @ 0x00007ffdc43b8940) at install.rs:541:46 ```
Configuration menu - View commit details
-
Copy full SHA for 7de7210 - Browse repository at this point
Copy the full SHA 7de7210View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2409ce2 - Browse repository at this point
Copy the full SHA 2409ce2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8048ab3 - Browse repository at this point
Copy the full SHA 8048ab3View commit details
Commits on Nov 9, 2024
-
lock patch version of pgrx-bindgen (#1939)
The typo makes my extension using v0.12.7 pulling pgrx-bindgen v0.12.8.
Configuration menu - View commit details
-
Copy full SHA for 7b68a18 - Browse repository at this point
Copy the full SHA 7b68a18View commit details
Commits on Nov 13, 2024
-
Allow creating Oid from a u32 in a const context (#1943)
This adds a `const fn` to create an `Oid` from a `u32`. `Oid::from_u32_unchecked` is the only way to do that currently, but it's deprecated and its successor `From::from` is non-const.
Configuration menu - View commit details
-
Copy full SHA for 6c9a85f - Browse repository at this point
Copy the full SHA 6c9a85fView commit details
Commits on Nov 15, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 68c4970 - Browse repository at this point
Copy the full SHA 68c4970View commit details
Commits on Nov 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 6129d66 - Browse repository at this point
Copy the full SHA 6129d66View commit details
Commits on Nov 20, 2024
-
1. `unexpected_cfgs` warnings are emitted for extension crates by latest nightly rustc, and it's annoying (`pgrx_embed` in `pgrx_embed`, and `Pg_magic_func` if extension does not support all postgres major versions) 2. `PanicInfo` warnings are emitted by latest stable rustc while using local pgrx as a patch 3. `static_mut_refs` warnings are emitted by latest nightly rustc while using local pgrx as a patch
Configuration menu - View commit details
-
Copy full SHA for 49227e7 - Browse repository at this point
Copy the full SHA 49227e7View commit details -
Useful functions for catalog naming conventions and other hard-wired knowledge
Configuration menu - View commit details
-
Copy full SHA for 1efdfee - Browse repository at this point
Copy the full SHA 1efdfeeView commit details -
Check wakeup_flags from
wait_latch
function to exit on `WL_POSTMAST……ER_DEATH` (#1938) There are some cases when the `wait_latch` loop in background worker is not being interrupted after the postmaster was exited. It can be reproduced by running postgres directly using `/opt/homebrew/opt/postgresql@17/bin/postgres -D /opt/homebrew/var/postgresql@17` and after the background worker will be started you will need to send `SIGKILL` to the postmaster process. (the issue is not reproducible when managing postgres via `pg_ctl`, I have encountered this issue during local development as homebrew service runs postgres directly using `postgres` binary) Then you can see that the postgres will be exited, but background worker process will remain active. > Make sure the WL_POSTMASTER_DEATH flag is set when calling that function, and verify the return code for a prompt exit in the emergency case that postgres itself has terminated. (see #1938 for an example)
Configuration menu - View commit details
-
Copy full SHA for 7ca80af - Browse repository at this point
Copy the full SHA 7ca80afView commit details -
Changed args of prepare methods to be slices (#1933)
Since there's an opportunity to break more things for `0.13` I decided to improve the `prepare` and `prepare_mut` methods as well. The motivation for that is the same as for #1858, `&[]` requires no heap allocations on the heap if there's a fixed set of arguments.
Configuration menu - View commit details
-
Copy full SHA for c1e5dd9 - Browse repository at this point
Copy the full SHA c1e5dd9View commit details
Commits on Nov 21, 2024
-
Updating readme for financial donations as well as encouraging people to join the Discord server
Configuration menu - View commit details
-
Copy full SHA for f1da6d9 - Browse repository at this point
Copy the full SHA f1da6d9View commit details
Commits on Nov 22, 2024
-
Introduce a blocklist of "yanked" Postgres versions (#1950)
Due to the out-of-band release set described here: https://www.postgresql.org/about/news/postgresql-172-166-1510-1415-1318-and-1222-released-2965/, we should refuse to compile on the prior point releases mentioned in this press release.
Configuration menu - View commit details
-
Copy full SHA for a0ecc8f - Browse repository at this point
Copy the full SHA a0ecc8fView commit details
Commits on Nov 25, 2024
-
That's an improvement for SPI making it less cumbersome. Just to feel the difference look at the tests. Who would really want to write something like `PgBuiltInOids::INT4OID.oid()` instead of just telling a Rust type?
Configuration menu - View commit details
-
Copy full SHA for eda7549 - Browse repository at this point
Copy the full SHA eda7549View commit details
Commits on Dec 28, 2024
-
Configuration menu - View commit details
-
Copy full SHA for e169887 - Browse repository at this point
Copy the full SHA e169887View commit details -
docs: fix pgx info in cargo-pgrx README (#1953)
Hi there. I'm not sure if `pgx` is an old style name? Just fix it to `pgrx`.
Configuration menu - View commit details
-
Copy full SHA for c944bde - Browse repository at this point
Copy the full SHA c944bdeView commit details
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.