Tzahi Fadida <tzahi.ml@gmail.com> writes:
> I am using CTID for the concept of a tuple set.
> For example, the set of t1 from relation1, t1 from relation2, t10 from
> relation3 will be represented in my function as a list
> of (TableID:CTID) pairs.
> For example {(1:1),(2:1),(3:10))
> I then save these in bytea arrays in a tuplestore.
> This is essential for the full disjunction algorithm because
> you do not want to recompute joins for every such set using the actual
> attribute.
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