cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: Cayenne with Postgress : how to get data from cursor
Date Mon, 09 Sep 2013 18:35:04 GMT
Also, Cayenne already has a few PostgreSQL functions included in the test suite:

http://svn.apache.org/repos/asf/cayenne/main/trunk/framework/cayenne-core-unpublished/src/test/resources/ddl/postgresql/

If you can build a test case based on the existing Cayenne test entities demonstrating the
problem, maybe we can do something about it.

Andrus

On Sep 9, 2013, at 9:22 PM, Andrus Adamchik <andrus@objectstyle.org> wrote:
> While I don't have much recent production experience with PostgreSQL, I recently did
some research for a stackoverflow answer [1] (maybe that was your question?). My overall experience
was that Cayenne (and PostgreSQL JDBC driver) would support pretty much any kind of PG function.
Although coding those functions is somewhat arcane (to me at least), I never had to resort
to any Oracle-like hacks. 
> 
> Sorry if this is not very specific. Maybe you can post the example of your PostgreSQL
function, and someone will have a better idea.
> 
> Andrus
> 
> [1] http://stackoverflow.com/questions/16921942/porting-apache-cayenne-from-oracle-to-postgresql
> 
> On Sep 9, 2013, at 4:03 PM, mr.abanjo <mr.abanjo@gmail.com> wrote:
> 
>> Hi all,
>> we need to switch the database from Oracle to Postgres.
>> Our implementation use Cayenne to map a store procedure that return single
>> type data and a cursor.
>> With single type data ( number, varchar  .... ) there's no problem. All
>> works fine.
>> The problem happens when we try to get data from a cursor. We mapped it in
>> data-map xml file as "OTHER". When we execute it the cursor is empty ( but
>> it must have a list of elements ).
>> 
>> We suppose that the "missing" part for Postgress is this one :
>> 
>> Procedure proc = getProcedure();
>> Iterator it = proc.getCallOutParameters().iterator();
>> while (it.hasNext()) {
>>        ProcedureParameter param = (ProcedureParameter) it.next();
>>         if (param.getType() == Types.OTHER) {
>>                 param.setType(OracleAdapter.getOracleCursorType());
>>          }
>> }
>> 
>> With Oracle we set the OTHER parameter type as "OracleCursorType". There is
>> a corresponding type for Postgress?
>> Maybe this is the problem, maybe no ... someone have any idea?
>> 
>> Thanks!
> 
> 


Mime
View raw message