Re: Function does not exist

From: Andreas Wenk <a(dot)wenk(at)netzmeister-st-pauli(dot)de>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: "dipesh mistry (Imap)" <dipesh(dot)mistry(at)mobilefundas(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Function does not exist
Date: 2009-07-16 11:57:10
Message-ID: 4A5F1596.9000709@netzmeister-st-pauli.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Pavel Stehule schrieb:
> 2009/7/16 Andreas Wenk <a(dot)wenk(at)netzmeister-st-pauli(dot)de>:
>> Pavel Stehule schrieb:
>>> 2009/7/16 dipesh mistry (Imap) <dipesh(dot)mistry(at)mobilefundas(dot)com>:
>>>> Hello,
>>>>
>>>> In my function i had defined addnewuser(integer,character,......), and i
>>>> call this function by Java code.
>>>>
>>>> I had created function with integer datatype but database always gives me
>>>> error,
>>>> org.postgresql.util.PSQLException: ERROR: function
>>>> addnewuser(bigint,character varying,....) does not exist
>>>>
>>>> Why database gives me bigint error instead i had declare integer in
>>>> function.
>>>>
>>>> Next i create one more function named adduser(bigint,character,....).
>>>> but then it gives me same error.
>>> are all others parameters really varchar? You can use explicit cast to
>>> varchar like
>>>
>>> SELECT addnewuser(19, 'bbbb'::varchar, 'aaaaa'::varchar, ....
>> Pavel,
>>
>> just a question. Why should it be necessary to add explicit typcasting here?
>> I can't see the problem in more depth. I still think that the function is
>> called with the wrong parameter. Would be cool to hear your points to
>> understand the problem better ;-)
>
> ofcourse - explicit casting is hard method, and it's better don't use
> it. But some times java environments are too smart. Explicit cast
> should help with searching an problematic param.
>
> Pavel

Thanks Pavel, then I suggest to first get the function running in psql and then check it
in the Java environment ... if this has not be done allready ;-)

Cheers

Andy
>
>> Another idea to be sure that the function is working correctly is to call
>> the function in psql and see if an error is thrown ... if yes its a paramter
>> problem. If no its an external problem (I think this is called by a Java app
>> ... isn't it?).
>>
>> Cheers
>>
>> Andy
>>
>>
>>> regards
>>> Pavel Stehule
>>>
>>>> --
>>>> Thanks,
>>>> Dipesh
>>>> If you are not confident, you are doing a trial run.
>>>>
>>>>
>>>> Pavel Stehule wrote:
>>>>> Hello
>>>>>
>>>>> it's look like problem with casting. You defined function
>>>>> name(integer,...) but you call it with bigint param. Bigint cannot be
>>>>> casted to int - so you have to redefine your func - name(bigint, ...
>>>>>
>>>>> regards
>>>>> Pavel Stehule
>>>>>
>>>>> 2009/7/15 dipesh mistry (Imap) <dipesh(dot)mistry(at)mobilefundas(dot)com>:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> I have create my own function name "addnewuser(integer,varchar.....)",
>>>>>> and when I call this function it gives me below error,
>>>>>>
>>>>>> org.postgresql.util.PSQLException: ERROR: function addnewuser(bigint,
>>>>>> character varying, character varying, character varying, character
>>>>>> varying,
>>>>>> character varying, character varying, unknown, character varying,
>>>>>> character
>>>>>> varying, character varying, character varying, character varying,
>>>>>> character
>>>>>> varying, character varying, character varying, character varying,
>>>>>> character
>>>>>> varying, character varying, character varying, integer) does not exist
>>>>>>
>>>>>> Even though function exist why it gives me this error, we use
>>>>>> postgres-8.3.7
>>>>>> latest.
>>>>>> We install postgres by .tar,gz file.
>>>>>>
>>>>>> --
>>>>>> Thanks,
>>>>>> Dipesh
>>>>>> If you can't make a mistake, you can't make anything.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Marko Kreen 2009-07-16 12:07:19 Re: Problems with 8.4, FLOAT8PASSBYVAL and x86_64 GNU/Linux
Previous Message Pavel Stehule 2009-07-16 11:52:58 Re: Function does not exist