cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bryan Lewis <br...@maine.rr.com>
Subject Re: can't find procedure without a parameter on Postgres
Date Thu, 08 Feb 2007 18:01:08 GMT
Thanks!


Andrus Adamchik wrote:
> Bryan,
>
> this is a bug, I can confirm that:
>
> https://issues.apache.org/cayenne/browse/CAY-750
>
> I fixed it on trunk (Cayenne 3.0). Will apply it to 2.0 and 1.2
> branches shortly.
>
> Andrus
>
>
> On Feb 6, 2007, at 1:35 PM, Bryan Lewis wrote:
>
>> I had this code working on an Oracle8 database:
>>
>>         ProcedureQuery procQuery = new
>> ProcedureQuery("proc_eu_update_begin");
>>         dc.performQuery(procQuery);
>>
>> The procedure is only a few sql statements to create a temporary table
>> and takes no parameters.  When I ported to Postgres 8.2, Cayenne says it
>> can't find the procedure.  The log shows:
>>
>>     {call proc_eu_update_begin}
>>     org.postgresql.util.PSQLException: ERROR:  relation
>> "proc_eu_update_begin" does not exist
>>
>> I could execute the procedure manually with "select
>> proc_eu_update_begin()".  Note that the empty parentheses were required.
>>
>> I had other working procedures so I suspected it was the absence of
>> parameters causing the problem.  Adding a dummy parameter made things
>> work:
>>
>>     {call proc_eu_update_begin(?)} [bind: 'xx']
>>
>> So I have a work-around, but... maybe Cayenne could generate a call that
>> Postgres would handle better, something like the empty parentheses in
>> the manual command.
>>
>>
>> P.S.  The definition of the procedure (now a function in Postgres) looks
>> like:
>>
>>     CREATE OR REPLACE function  proc_eu_update_begin()
>>       RETURNS void AS ...
>>
>>
>


Mime
View raw message