Skip to content

Conversation

mbj
Copy link
Contributor

@mbj mbj commented Aug 20, 2025

  • 3rd party tools can provide a wrapper around this object and can construct the PG options as strict as they want to, while not having to deal with this libraries default behavior at all.

Is this a breaking change?

no.

This is an alternative to the issues I raised in #3832, it would enable me to go abitrarily strict in my wrappers and have full control in how I construct PgConnectOptions.

I admit its a bit of an extreme measure, and not as nice for users who go that option but these users would opt into "higher maintenance" burden explicitly, but I see no reason to not give users more sophisticated options than this library is willing to do.

* 3rd party tools can provide a wrapper around this object and can
  construct the PG options as strict as they want to, while not
  having to deal with this libraries default behavior at all.
mbj added a commit to mbj/mrs that referenced this pull request Aug 20, 2025
* This has to carefully "unset or reject" non bypassable environment
  variable inference done by `sqlx::postgres::PgConnnectOptions` still
  its easier to maintain it that way than to maintain the fork.
* See: launchbadge/sqlx#3832, launchbadge/sqlx#3983
mbj added a commit to mbj/mrs that referenced this pull request Aug 20, 2025
* This has to carefully "unset or reject" non bypassable environment
  variable inference done by `sqlx::postgres::PgConnnectOptions` still
  its easier to maintain it that way than to maintain the fork.
* See: launchbadge/sqlx#3832, launchbadge/sqlx#3983
@abonander
Copy link
Collaborator

This is a non-starter unfortunately, because it's a huge backwards-compatibility hazard. It locks us in to this exact representation for all these fields (e.g. preventing changes to Cow<'static, str> for fewer allocations or consolidating related fields into sub-structures) and doesn't even admit the addition of new fields because it doesn't use #[non_exhaustive].

I was mostly fine with the changes in #3832, I just disagree that TLS should be required by default.

@mbj mbj closed this Aug 22, 2025
@mbj mbj deleted the add/public-pg-connect-options branch August 25, 2025 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants