Re: Creating a session variable in Postgres

Поиск
Список
Период
Сортировка
От Mike Mascari
Тема Re: Creating a session variable in Postgres
Дата
Msg-id 40BF3BD6.5050206@mascari.com
обсуждение исходный текст
Ответ на Re: Creating a session variable in Postgres  (Manfred Koizar <mkoi-pg@aon.at>)
Список pgsql-general
Manfred Koizar wrote:
> On Thu, 3 Jun 2004 09:04:43 +0200, "Nagib Abi Fadel"
> <nagib.abi-fadel@usj.edu.lb> wrote:
>
>>Let's say for example the variable is called "X". The view is called
>>"t_view" and the temporary table is called "t_temp".
>>Each time a user connects to the web, the application will initialize the
>>variable X and it will be inserted into the temporary table t_temp.
>
> Sequence values are session-specific which is exactly the property
> you're looking for.
>
>     CREATE TABLE session (
>         id SERIAL PRIMARY KEY,
>         x text
>     );
>
>     CREATE VIEW mysession (x) AS
>     SELECT x FROM session WHERE id=currval('session_id_seq');
>
>     CREATE VIEW t_view AS
>     SELECT *
>       FROM SomeTable st INNER JOIN mysession s
>         ON st.id = s.x;
>
> At the start of a session you just
>
>     INSERT INTO session (x) VALUES ('whatever');

Couldn't one also do (this is untested - may include syntax errors):

-- Create a wrapper function for View usage

CREATE FUNCTION getValue() RETURNS text AS '

DECLARE

result text;

BEGIN

SELECT INTO result session_value
FROM session_data;

RETURN result;

END;

LANGUAGE 'plpgsql';

-- Create our View using our function

CREATE VIEW t_view AS
SELECT *
FROM foo
WHERE foo.key = getValue();

-- Now, upon connecting, the app does:

CREATE TEMPORARY TABLE session_data (value text);
INSERT INTO session_data VALUES ('Hello');

In this way, the table needn't exist until the first invocation of
getValue() upon the first access of the view, since the code will be
recompiled during the first access, correct?

Mike Mascari











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

Предыдущее
От: Dennis Gearon
Дата:
Сообщение: Re: Running Totals and stuff...
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Running Totals and stuff...