Thread: custom_variable_classes in 9.1
Hi list,
pozdrowienia
mk
I'm using some global variables through custom_variable_classes facility. I've recently switched from 8.1 to 9.1
and somewhere along the line the behavior of custom_variable_classes has changed - if the variable has not been set
for a given session invoking it (SELECT current_setting('name.variable')) throws and error whereas it used to return 'unset' value.
Is there a way to control this behavior or maybe call it in a different way without an error ?
If not I'll have to think of setting this at each session start, which in turn has me asking: is there a way to call an SQL script
at each user login ?
pozdrowienia
mk
Ok' ve got it, I've found some comment from Tom Lane on that:
"The whole custom-variable thing is being abused far beyond what the
facility was intended for, anyway. Rather than allowing variables tospring into existence like magic, what we should have is some facility
for letting session-local variables be *declared*, complete with type
(int/real/string) and other info as needed. See the archives --- this
was discussed not too long ago."
Does anyone know if that has been accomplished in any way ?
As to login script, I can just do ALTER ROLE xxx SET name.value = 'unset' which is all I've been asking for.
pozdrowienia
mk
2012/2/29 Marcin Krawczyk <jankes.mk@gmail.com>
Hi list,I'm using some global variables through custom_variable_classes facility. I've recently switched from 8.1 to 9.1and somewhere along the line the behavior of custom_variable_classes has changed - if the variable has not been setfor a given session invoking it (SELECT current_setting('name.variable')) throws and error whereas it used to return 'unset' value.Is there a way to control this behavior or maybe call it in a different way without an error ?If not I'll have to think of setting this at each session start, which in turn has me asking: is there a way to call an SQL scriptat each user login ?
pozdrowienia
mk