Search Postgresql Archives

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxx> 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.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux