Re: Isolation and Concurrency in PG functions?
От | Tom Lane |
---|---|
Тема | Re: Isolation and Concurrency in PG functions? |
Дата | |
Msg-id | 14263.968688094@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Isolation and Concurrency in PG functions? (Roberto Mello <rmello@cc.usu.edu>) |
Список | pgsql-sql |
Roberto Mello <rmello@cc.usu.edu> writes: > I am porting some VERY big functions to PG for a data warehousing system > (that is GPL'd BTW) and it seems that the results of one portion of the > function (e.g. a create table or a series of inserts) are invisible to > the other parts which obviously causes the function (and following > functions) to fail and is completely driving me nuts because I see the > results when I do the queries interactively. ?? How are you defining these functions, exactly? In SQL or PLPGSQL functions, successive queries certainly do see each others' results, for example regression=# create table foot (f1 int); CREATE regression=# create function foo(int) returns int as regression-# 'insert into foot values($1); regression'# select count(*) from foot' language 'sql'; CREATE regression=# select foo(1);foo ----- 1 (1 row) regression=# select foo(1);foo ----- 2 (1 row) If you are coding at the C level you may need to call CommandCounterIncrement() between queries. regards, tom lane
В списке pgsql-sql по дате отправления: