-
-
Notifications
You must be signed in to change notification settings - Fork 299
force using extern "C-unwind" for functions marked with #[pg_guard] #2014
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
What's the down-stream impact to users with this change? I'm hesitant to merge because it's not clear to me if extensions out in the wild will need to be updated because of this. |
The downstream must manually switch the ABI of functions marked with If we don't emit an error and a downstream function marked with Even if we don't emit an error, downstream cannot simply do nothing, because the ABI of the callback function types generated by bindgen has changed from |
I think this forces us to move to pgrx v0.14.0. Not that that's a problem, but it seems like a big enough change to warrant that. What do you think, @usamoi? |
|
I also think the next version must be |
|
Okay. I'll do that this weekend. I appreciate your time and input! And I'll just go ahead and merge this now... |
…gcentralfoundation#2014) `pgrx` is switched from "C" to "C-unwind" in pgcentralfoundation#1934 so it's fine to emit an error here Without this error, someone who updates dependencies without reading changelog, would break extensions silently, if their only usage of `#[pg_guard]` is `_PG_init`. It's bad.
PostgreSQL 12 has been unsupported for over half a year, and pgrx v0.14.0 officially dropped support for it. The other reason I propose this version bumping is that pgrx v0.12.9 failed to install pg 12 on my mac. This patch removes PG12 support from the wrappers by upgrading pgrx to v0.14.3. Some code adjustments were required due to changes introduced in the newer pgrx versions. For reference, see the following updates in pgrx: - [force using extern "C-unwind" for functions marked with `#[pg_guard]`][1] - [Made SPI query arguments type safe][2] - [Added connect_mut for data changing SPI operations][3] - [Renamed Oid::as_u32 to to_u32][4] [1] pgcentralfoundation/pgrx#2014 [2] pgcentralfoundation/pgrx#1858 [3] pgcentralfoundation/pgrx#1913 [4] pgcentralfoundation/pgrx#2011 Signed-off-by: Junwang Zhao <zhjwpku@gmail.com>
PostgreSQL 12 has been unsupported for over half a year, and pgrx v0.14.0 officially dropped support for it. The other reason I propose this version bumping is that pgrx v0.12.9 failed to install pg 12 on my mac. This patch removes PG12 support from the wrappers by upgrading pgrx to v0.14.3. Some code adjustments were required due to changes introduced in the newer pgrx versions. For reference, see the following updates in pgrx: - [force using extern "C-unwind" for functions marked with `#[pg_guard]`][1] - [Made SPI query arguments type safe][2] - [Added connect_mut for data changing SPI operations][3] - [Renamed Oid::as_u32 to to_u32][4] [1] pgcentralfoundation/pgrx#2014 [2] pgcentralfoundation/pgrx#1858 [3] pgcentralfoundation/pgrx#1913 [4] pgcentralfoundation/pgrx#2011 Signed-off-by: Junwang Zhao <zhjwpku@gmail.com>
* chore: bump pgrx to v0.14.3 PostgreSQL 12 has been unsupported for over half a year, and pgrx v0.14.0 officially dropped support for it. The other reason I propose this version bumping is that pgrx v0.12.9 failed to install pg 12 on my mac. This patch removes PG12 support from the wrappers by upgrading pgrx to v0.14.3. Some code adjustments were required due to changes introduced in the newer pgrx versions. For reference, see the following updates in pgrx: - [force using extern "C-unwind" for functions marked with `#[pg_guard]`][1] - [Made SPI query arguments type safe][2] - [Added connect_mut for data changing SPI operations][3] - [Renamed Oid::as_u32 to to_u32][4] [1] pgcentralfoundation/pgrx#2014 [2] pgcentralfoundation/pgrx#1858 [3] pgcentralfoundation/pgrx#1913 [4] pgcentralfoundation/pgrx#2011 Signed-off-by: Junwang Zhao <zhjwpku@gmail.com> * run cargo fmt Signed-off-by: Junwang Zhao <zhjwpku@gmail.com> * bump ci cargp-pgrx version Signed-off-by: Junwang Zhao <zhjwpku@gmail.com> --------- Signed-off-by: Junwang Zhao <zhjwpku@gmail.com>
…gcentralfoundation#2014) `pgrx` is switched from "C" to "C-unwind" in pgcentralfoundation#1934 so it's fine to emit an error here Without this error, someone who updates dependencies without reading changelog, would break extensions silently, if their only usage of `#[pg_guard]` is `_PG_init`. It's bad.
pgrxis switched from "C" to "C-unwind" in #1934 so it's fine to emit an error hereWithout this error, someone who updates dependencies without reading changelog, would break extensions silently, if their only usage of
#[pg_guard]is_PG_init. It's bad.