Re: SPI example does not work for 7.1beta4 - Mailing list pgsql-hackers

From Limin Liu
Subject Re: SPI example does not work for 7.1beta4
Date
Msg-id 3ABAAE2A.FF926716@pumpkinnet.com
Whole thread Raw
In response to SPI example does not work for 7.1beta4  (Limin Liu <limin@pumpkinnet.com>)
Responses Re: SPI example does not work for 7.1beta4
List pgsql-hackers
Thanks Tom,

By the way, did you change the whole archetecture of SPI invocation?

I put
---
   SPI_connect();
   SPI_exec("create temp table tbl_tmp (n int);",0);
   SPI_exec("insert into tbl_tmp values (1);",0);
   SPI_finish();
---
after InitPostgres and before setsigjmp().
This works perfectly in my 7.03 and earlier version.  That means, after authentication, we
will have a temp table per each db connection.  User can use the client program to "select"
or "insert" upon this temp table.

However, the same code does not work in 7.1.  Actually, I got some messages contradicting to
each other:
---
db1=> select * from tbl_tmp;
ERROR:  Relation 'tbl_tmp' does not exist
db1=> create temp table tbl_tmp (n int);
ERROR:  Relation 'tbl_tmp' already exists
db1=>
---

Can you please give us some hints on what's going on here?

Thanks

Tom Lane wrote:

> Limin Liu <limin@pumpkinnet.com> writes:
> > I am learning and using SPI. In PostgreSQL documentation chapter "Server
> > Programming Interface," there is a small example name "execq(text,
> > int)".
> > This example works as the document says on 7.0.3 and earlier version,
> > but this example DOES NOT work on my 7.1 beta4.
>
> Hm.  textout() can't be called that way anymore --- as indeed your compiler
> should have told you, if it's any good at all.  I get
>
> execq.c: In function `execq':
> execq.c:13: warning: passing arg 1 of `textout' from incompatible pointer type
> execq.c:13: warning: passing arg 1 of `SPI_exec' makes pointer from integer without a cast
>
> Looks like the example is in need of update.  Thanks for the report.
>
>                         regards, tom lane

--
LM Liu

pgsql-hackers by date:

Previous
From: Vince Vielhaber
Date:
Subject: Re: Call for platforms
Next
From: Tom Lane
Date:
Subject: Re: SPI example does not work for 7.1beta4