Can I use SPI in postgres.c - Mailing list pgsql-general

From Limin Liu
Subject Can I use SPI in postgres.c
Date
Msg-id 3AB95D81.5170285@pumpkinnet.com
Whole thread Raw
List pgsql-general
Helper,

I need to create a temp table for each db connection.  So, I add the
dollowing code into postgres.c
----------------
   SPI_connect();
   SPI_exec("create temp table tbl_tmp (n int);",0);
   SPI_exec("insert into tbl_tmp values (1);",0);
   SPI_finish();
----------------
right after
----------------
    /*
     * POSTGRES main processing loop begins here
     *
     * If an exception is encountered, processing resumes here so we
abort
     * the current transaction and start a new one.
     */
----------------

I checked the return of SPI_exec and both are fine.  Then I run psql and
got two error messages, which contradicts 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=>
-------------------

I checked the SPI document, but cannot find solution.  Can anyone please
tells me which document should I look into?  Or I cannot use SPI like
that at the frist place.  If that's the case, is any workaround?  The
base line is I cannot ask db client program to create that temp table.

Thank you very much

--
LM Liu



pgsql-general by date:

Previous
From: "Creager, Robert S"
Date:
Subject: using NEW in a trigger calling a function in plpgsql...
Next
From: Stephan Szabo
Date:
Subject: Re: using NEW in a trigger calling a function in plpgsql...