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:[EMAIL PROTECTED]]
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
[EMAIL PROTECTED]

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to