Re: Strange Behavior when calling a C function by a plpgsql stored prcedure

From: "Tom Pfau" <T(dot)Pfau(at)emCrit(dot)com>
To: "plpgsql" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: Strange Behavior when calling a C function by a plpgsql stored prcedure
Date: 2002-05-03 15:56:00
Message-ID: 5C47691674725C47B02996F02C0D362107B679@exchange.rane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Default parameters are filled in by the C++ compiler. You must provide
them when calling from a non-C++ program.

-----Original Message-----
From: Alban Médici [mailto:amedici(at)fr(dot)netcentrex(dot)net]
Sent: Friday, May 03, 2002 10:57 AM
To: plpgsql
Subject: [BUGS] Strange Behavior when calling a C function by a plpgsql
stored prcedure

In some plpgsql method, I call some C function with a optional
parameters.

This is the signature of my function :

extern "C" My_Mem_Macro_Parser_Integer myMethod( int nbFields, int toto
= -1)
{
blablabla .....
return integer;
}

When I call this function with the second parameters, there's no
problems.

But if I call without toto :
plpgsql:

CREATE FUNCTION CallMymethodWithoutToto ( INTEGER -- [IN] nb
Field
)
RETURNS INTEGER AS '
'path2MyLib/MyLib.so', 'myMethod'
LANGUAGE 'C';

Appear a strange Behavior :
I'm explain,
in myC function, I switch the value of toto, try to find "-1".
But I NEVER have "-1".

I this case I always have "8" in toto integer !!!!!!

--
Alban Médici
R&D Software Engineer
tel: +33 (0)2 31 46 35 80 (+005)
--------------------------------
http://www.netcentrex.net
amedici(at)fr(dot)netcentrex(dot)net

Browse pgsql-bugs by date

  From Date Subject
Next Message Stephen Amadei 2002-05-04 03:03:56 7.2.1 segfaults.
Previous Message Tom Lane 2002-05-03 15:29:55 Re: Strange Behavior when calling a C function by a plpgsql stored prcedure