Re: Server crash during simple c-language function

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tomáš Kovářík <kovarik(dot)tomas(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Server crash during simple c-language function
Date: 2010-09-15 17:45:50
Message-ID: AANLkTinfsBxB-Ev03VsTi2w5maN1W=FqA4_U4fjDwMxy@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

2010/9/15 Tomáš Kovářík <kovarik(dot)tomas(at)gmail(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kevin Grittner 2010-09-15 17:58:26 git diff --patience
Previous Message Robert Haas 2010-09-15 17:30:10 Re: TODO note