Currently I am using 7.1beta4, but I just learned that these SPI code works
fine in 7.02.
We can issue "select * from tbl_tmp" and psql will return the correct
information in the temp table!
> 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
>