Re: Function does not exist

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Andreas Wenk <a(dot)wenk(at)netzmeister-st-pauli(dot)de>
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:52:58
Message-ID: 162867790907160452o7748ba4en71b9ebf1ecd0b685@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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

>
> 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

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andreas Wenk 2009-07-16 11:57:10 Re: Function does not exist
Previous Message Roseller A. Romanos 2009-07-16 11:47:57 Please help