2010/9/15 Tomáš Kovářík <kovarik.tomas@gmail.com>:
> I am trying to create a simple c-language function for "PostgreSQL
> 8.4.4, compiled by Visual C++ build 1400, 32-bit" running on Windows 7
> (32-bit). It works, until I use a SPI.
>
> 1) CRASH: I successfully execute a simple query using SPI_exec(), but
> when getting the result, it crashes:
> SPI_getvalue(SPI_tuptable->vals[0], SPI_tuptable->tupdesc, 1);
> I tried to look wherever I could, but I have no idea what could go wrong.
>
> 2) NOT COMPILE: When I want to read value of global SPI_result, I
> cannot compile - unresolved external symbol "_SPI_result". I am
> currently linking with 'postgres.lib" and I haven't found anything
> else what to link with additionally. Compiling using Visual Studio
> 2008, C/C++ project set to compile for "C".
>
> Can anybody point out, what I am doing wrong?
> The complete code and project are below.
I tried your example on MacOS X and it worked OK, so it's probably
some bit of Windows-specific weirdness, but unfortunately my
Windows-fu is pretty poor, so I can't speculate...
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company