Re: Any form of connection-level "session variable" ?

Поиск
Список
Период
Сортировка
От John McCawley
Тема Re: Any form of connection-level "session variable" ?
Дата
Msg-id 459D6105.9090003@hardgeus.com
обсуждение исходный текст
Ответ на Re: Any form of connection-level "session variable" ?  (Erik Jones <erik@myemma.com>)
Ответы Re: Any form of connection-level "session variable" ?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
I tried stable, and that didn't help at all.  How long does PostgreSQL
maintain the "state" of the function when using immutable?  Until a
restart?  Until the end of a session?  Until the function is dropped and
re-added?

While this value isn't 100% absolutely positively guaranteed to never
change, it is pretty dang close.  I have a strict correlation between
the username that someone uses to login and the ID returned.  Changing
someone's username would break a whole lot more than this one app on the
project...



Erik Jones wrote:

> Tom Lane wrote:
>
>> John McCawley <nospam@hardgeus.com> writes:
>>
>>
>>> I think I got it:
>>> CREATE FUNCTION new_get_emp_id() RETURNS INTEGER AS $$ select emp_id
>>> from secureview.tbl_employee where username = (SELECT current_user)
>>> $$ LANGUAGE SQL IMMUTABLE;
>>> I made the function immutable so it only calls it once, therefore no
>>> longer requiring a call per-row.
>>>
>>
>>
>> Since it's obviously *not* immutable, this will come back to bite you
>> sooner or later (probably sooner).  Labeling it STABLE would be
>> reasonable, although I'm not certain how much that helps you.  Do you
>> have indexes on the columns it's being compared to?
>>
>
> Besides, a temp table is pretty much a session variable.
>

В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Any form of connection-level "session variable" ?
Следующее
От: Scott Ribe
Дата:
Сообщение: Bug in 8.2 (&8.1) dump & restore