Re: Is setQuerySnapshot called for embedded plpgsql function calls?

Поиск
Список
Период
Сортировка
От Burak Seydioglu
Тема Re: Is setQuerySnapshot called for embedded plpgsql function calls?
Дата
Msg-id 1b8a973c0702021401s18c6dad8wa351b69050f6d6a7@mail.gmail.com
обсуждение исходный текст
Ответ на Is setQuerySnapshot called for embedded plpgsql function calls?  ("Burak Seydioglu" <buraks78@gmail.com>)
Список pgsql-novice
Created a pure PHP solution... Still the same result... Isn't this
conflicting with the documentation quoted below... Or INSERTs are not
considered updates? I am lost at this point...

Burak

On 2/1/07, Burak Seydioglu <buraks78@gmail.com> wrote:
> Searched for CommandCounterIncrement and it is apparently a mechanism
> to allow transactions to see their own updates.
> (http://library.n0i.net/programming/database/po-devfaq/)
>
> From http://www.postgresql.org/docs/7.4/interactive/transaction-iso.html
>
> "Read Committed is the default isolation level in PostgreSQL. When a
> transaction runs on this isolation level, a SELECT query sees only
> data committed before the query began; it never sees either
> uncommitted data or changes committed during query execution by
> concurrent transactions. (However, the SELECT does see the effects of
> previous updates executed within its own transaction, even though they
> are not yet committed.) In effect, a SELECT query sees a snapshot of
> the database as of the instant that that query begins to run. Notice
> that two successive SELECT commands can see different data, even
> though they are within a single transaction, if other transactions
> commit changes during execution of the first SELECT. "
>
> So basically, my transactions should be able to see its own updates.
> SInce they can not, I assume CommandCounterIncrement is not called and
> this is related to the plpgsql language implementation. Using PHP, for
> instance, would address this issue, correct? And last of all, is there
> any way to to call CommandCounterIncrement within the plpgsql? - I
> know this sounds retarded but I am desperate at this point...
>
> Production server is 7.4. Localhost is 8.0.8. Unfortunately, I could
> not get this transaction to work properly on both servers.
>
> Thank you for you time. I really appreciate your help.
>
> Burak
>
>
> On 2/1/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > "Burak Seydioglu" <buraks78@gmail.com> writes:
> > > For some reason, the consecutive second_func() calls do not see the
> > > newly inserted data. So the total for the next second_func() call
> > > always remains zero. Please see the code below.
> >
> > > Is this because setQuerySnapshot() is not called for embedded plpgsql
> > > functions but only for the first_function() call?
> >
> > For operations within a single transaction, what counts is
> > CommandCounterIncrement not SetQuerySnapshot.
> >
> > > I am runnging 7.4 btw.
> >
> > I believe we changed the rules for this in 8.0 ... can you upgrade?
> >
> >                         regards, tom lane
> >
>

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

Предыдущее
От: "Burak Seydioglu"
Дата:
Сообщение: Re: Is setQuerySnapshot called for embedded plpgsql function calls?
Следующее
От: Frank Bax
Дата:
Сообщение: connection timeout?