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:31:23
Message-ID: 4A5F0F8B.6070105@netzmeister-st-pauli.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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

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 Roseller A. Romanos 2009-07-16 11:47:57 Please help
Previous Message Pavel Stehule 2009-07-16 11:12:15 Re: Getting list of tables used within a query