Thomas Kellerer <spam_ea...@gmx.net> writes:
> Jinhua Luo schrieb am 18.04.2016 um 16:47:
>> For trigger, e.g. written in pl/pgsql, each sql command within the
>> function may see more new data beyond the (entry) snapshot of outer
>> command.

> No it will not see "more data")

> It runs in the same _transaction_ as the "firing" command and thus sees 
> **exactly** the same data as the triggering statement

No, that's not true: a trigger is a function and what it can see is
determined by the rules of the PL it's written in.  Typically a
function that's marked STABLE or IMMUTABLE will see the same snapshot
as the calling query, but a function that's VOLATILE will take a new
snapshot for each query it contains.

                        regards, tom lane


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to