How to debugging a an external C function(IMMUTABLE STRICT )

From: Dave Potts <dave(dot)potts(at)pinan(dot)co(dot)uk>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: How to debugging a an external C function(IMMUTABLE STRICT )
Date: 2012-02-26 09:17:53
Message-ID: 4F49F8C1.9070208@pinan.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi

I have written an external C function to be called by postgres called
using the LANGUAGE 'C' IMMUNTABLE STRICT interface

Most of the time when call it, I get the expected results. Some times I
get random rubbish in the result set.
Postgres always gets the type of the arguments correct, ie it knowns the
column x is a integer, column y is a float8

I called elog(NOTICE from within my code, the results always look
correct, so I am assuming that I am sometimes returning a random
pointer, or have got the arguments to BlessTupleDesc,
MemoryContextSwitchTo wrong!

If there any debug support in Postgres to catch this type of thing?
Are there any useful functions have can be compiled in when building
postgres???

I do not have access to things like Purify

Dave

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jayashankar K B 2012-02-26 12:16:05 Re: Re: [PERFORM] Disable-spinlocks while compiling postgres 9.1 for ARM Cortex A8
Previous Message Scott Marlowe 2012-02-26 03:02:12 Re: Four issues why "old elephants" lack performance: Explanation sought Four issues why "old elephants" lack performance: Explanation sought