From: | Tzahi Fadida <tzahi(dot)ml(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: CTID issues and a soc student in need of help |
Date: | 2006-06-01 15:57:53 |
Message-ID: | 1149177474.4871.37.camel@llord |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I am not sure about the definition of a context of a single SQL command.
Example of a run:
A <- SELECT getfdr('Relation1,Relation2,Relation3');
to get the result schema (takes a few milliseconds).
SELECT * FROM FullDisjunctions('Relation1,Relation2,Relation3') AS
RECORD A;
Can take a long time.
Inside C-language FullDisjunctions() function i repeatedly call, using
SPI:
SELECT * FROM Relation1;
SELECT * FROM Relation2;
SELECT * FROM Relation1 WHERE...;
SELECT * FROM Relation3;
....
So i call using one SQL to FullDisjunction and subsequent SQL calls in
it. I wish that the context of the overall SELECT FullDisjunctions
will be perfectly unchanged for all subsequent SQL calls inside it
and especially the CTID.
p.s.: In a different version of the function i create a temporary
relation and insert tuples in it, but it is exclusively used and
destroyed by the specific instance of that function. I hope it does not
affect anything in the general sense of a read only transaction.
10x!
Regards,
tzahi.
On Thu, 2006-06-01 at 11:28 -0400, Tom Lane wrote:
>
> I think this is OK within the context of a single SQL command, since
> tuple visibility should not change for that command. If you were trying
> to use the CTID info across multiple statements then it'd get worrisome.
>
> regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-06-01 16:45:26 | Re: CTID issues and a soc student in need of help |
Previous Message | Tom Lane | 2006-06-01 15:28:09 | Re: CTID issues and a soc student in need of help |