From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | postgresql(at)thewickedtribe(dot)net |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #6316: function search_path causes set_config() is_local = true to have no effect |
Date: | 2011-12-02 06:27:14 |
Message-ID: | 7517.1322807234@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
postgresql(at)thewickedtribe(dot)net writes:
> So, found this in 8.3 but tested and it effects everything up to 9.1.1. If
> search_path on a function is set to anything, calls to set_config() with
> is_local = true inside that function have no effect.
Isn't that exactly what the CREATE FUNCTION reference page says?
The SET clause causes the specified configuration parameter to
be set to the specified value when the function is entered, and
then restored to its prior value when the function exits. SET
FROM CURRENT saves the session's current value of the parameter
as the value to be applied when the function is entered.
If a SET clause is attached to a function, then the effects of a
SET LOCAL command executed inside the function for the same
variable are restricted to the function: the configuration
parameter's prior value is still restored at function
exit. However, an ordinary SET command (without LOCAL) overrides
the SET clause, much as it would do for a previous SET LOCAL
command: the effects of such a command will persist after
function exit, unless the current transaction is rolled back.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Jon Erdman | 2011-12-02 06:48:08 | Re: BUG #6316: function search_path causes set_config() is_local = true to have no effect |
Previous Message | postgresql | 2011-12-02 06:21:27 | BUG #6316: function search_path causes set_config() is_local = true to have no effect |