|PostgreSQL 7.4.30 Documentation|
|Prev||Fast Backward||Chapter 41. Server Programming Interface||Fast Forward||Next|
The following two rules govern the visibility of data changes in functions that use SPI (or any other C function):
During the execution of an SQL command, any data changes made by the command (or by function called by the command, including trigger functions) are invisible to the command. For example, in command
INSERT INTO a SELECT * FROM a;
the inserted rows are invisible to the SELECT part.
Changes made by a command C are visible to all commands that are started after C, no matter whether they are started inside C (during the execution of C) or after C is done.
The next section contains an example that illustrates the application of these rules.