Re: [SQL] HeapTuple->t_tableOid==0 after SPI_exec

2003-10-03 Thread achill
On Fri, 3 Oct 2003, Tom Lane wrote: > > I think in 7.4 there may be an optimization that skips the tuple > projection step in this particular case, but if you can in fact see > t_tableOid in 7.4, it'd be an implementation artifact rather than > something we will promise to support in future. The

Re: [SQL] HeapTuple->t_tableOid==0 after SPI_exec

2003-10-03 Thread Tom Lane
[EMAIL PROTECTED] writes: > are there gonna be changes in SPI or internal structs in 7.4? No more than usual ;-). You will need to recompile shared libraries, but (in theory) source code changes shouldn't be needed. You might want to think about upgrading elog() calls to ereport() though.

Re: [SQL] HeapTuple->t_tableOid==0 after SPI_exec

2003-10-03 Thread Tom Lane
[EMAIL PROTECTED] writes: > When HeapTuple is populated by > SPI_exec("select * from foobar when id=667"); > tuple = SPI_tuptable->tvals[0] (id is PK and row with 667 exists) > then tuple->t_tableOid is always 0. The result of a SELECT is never a raw table tuple, not even when it's a straight "se

[SQL] HeapTuple->t_tableOid==0 after SPI_exec

2003-10-03 Thread achill
Hi, i notice that when HeapTuple data are populated by a trigger then the table oid can be retrieved from HeapTuple->t_tableOid. When HeapTuple is populated by SPI_exec("select * from foobar when id=667"); tuple = SPI_tuptable->tvals[0] (id is PK and row with 667 exists) then tuple->t_tableOid