From: | Gregory Stark <stark(at)enterprisedb(dot)com> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>, "PostgreSQL-development" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: currtid_byreloid and currtid_byrelname |
Date: | 2007-06-15 23:17:23 |
Message-ID: | 87ejkcq03g.fsf@oxford.xeocode.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> Heikki Linnakangas <heikki(at)enterprisedb(dot)com> writes:
>> In utils/adt/tid.c, there's two mysterious functions with no comments,
>> and no-one calling them inside backend code AFAICT: currtid_byreloid and
>> currtid_byrelname. What do they do/did?
>
> IIRC, the ODBC driver uses them, or once did, to deal with
> concurrent-update situations --- it wants to be able to find the
> currently committed version of a row it saw as valid earlier in the
> transaction. I think it's sort of a client-side version of the
> EvalPlanQual stuff. Hiroshi probably remembers more.
It could be using currtid_byreloid:
List of functions
Schema | Name | Result data type | Argument data types | Owner | Language | Source code | Description
------------+---------+------------------+---------------------+-------+----------+------------------+-----------------------
pg_catalog | currtid | tid | oid, tid | stark | internal | currtid_byreloid | latest tid of a tuple
(1 row)
But how would it use currtid_byrelname?
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2007-06-16 00:16:57 | CSVlog vs tabs |
Previous Message | Tom Lane | 2007-06-15 23:07:59 | Re: currtid_byreloid and currtid_byrelname |