Tom Lane 4489044239 contrib/isn: Make weak mode a GUC setting, and fix related functions.
isn's weak mode used to be a simple static variable, settable only
via the isn_weak(boolean) function.  This wasn't optimal, as this
means it doesn't respect transactions nor respond to RESET ALL.

This patch makes isn.weak a GUC parameter instead, so that
it acts like any other user-settable parameter.

The isn_weak() functions are retained for backwards compatibility.
But we must fix their volatility markings: they were marked IMMUTABLE
which is surely incorrect, and PARALLEL RESTRICTED which isn't right
for GUC-related functions either.  Mark isn_weak(boolean) as
VOLATILE and PARALLEL UNSAFE, matching set_config().  Mark isn_weak()
as STABLE and PARALLEL SAFE, matching current_setting().

Reported-by: Viktor Holmberg <v@viktorh.net>
Diagnosed-by: Daniel Gustafsson <daniel@yesql.se>
Author: Viktor Holmberg <v@viktorh.net>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/790bc1f9-74dc-4b50-94d2-8147315b1556@Spark
2025-03-16 13:45:48 -04:00
..
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-02-18 11:04:55 +07:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-03-13 12:41:44 +13:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2025-01-01 11:21:55 -05:00
2024-10-14 17:22:02 -07:00
2025-01-01 11:21:55 -05:00

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "make all" and "make
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.