Обсуждение: IBATIS support for postgres cursors
Hi,
Can cursors be returned to IBATIS. If so how. This is what I have written.
<parameterMap id=" getUsersParam" class="Map">
<parameter property="results" jdbcType="REF" javaType="java.sql.ResultSet" mode="OUT" resultMap="allUsersResult"/>
<parameter property="errors" jdbcType="VARCHAR" javaType="java.lang.String" mode="OUT"/>
</parameterMap>
This does not work. Please help.
Regards,
Atul Goel
SENIOR DEVELOPER
Global DataPoint
Middlesex House, 34-42 Cleveland Street
London W1T 4LB, UK
T: +44 (0)20 7079 4827
M: +44 (0)7846765098
On 08/24/2010 12:11 AM, Atul.Goel@globaldatapoint.com wrote: > Hi, > > Can cursors be returned to IBATIS. If so how. This is what I have written. > > <parameterMap id=/"/ /getUsersParam"/ class=/"Map"/> > > <parameter property=/"results"/ jdbcType=/"REF"/ > javaType=/"java.sql.ResultSet"/ mode=/"OUT"/ resultMap=/"allUsersResult"//> > > <parameter property=/"errors"/ jdbcType=/"VARCHAR"/ > javaType=/"java.lang.String"/ mode=/"OUT"//> > > </parameterMap> > > This does not work. Please help. http://wiki.postgresql.org/wiki/Guide_to_reporting_problems -- Craig Ringer
On 8/23/2010 12:11 PM, Atul.Goel@globaldatapoint.com wrote: > Hi, > > Can cursors be returned to IBATIS. If so how. This is what I have written. > > <parameterMap id=/"/ /getUsersParam"/ class=/"Map"/> > > <parameter property=/"results"/ jdbcType=/"REF"/ > javaType=/"java.sql.ResultSet"/ mode=/"OUT"/ resultMap=/"allUsersResult"//> > > <parameter property=/"errors"/ jdbcType=/"VARCHAR"/ > javaType=/"java.lang.String"/ mode=/"OUT"//> > > </parameterMap> > > This does not work. Please help. There is a dedicated mailing list for MyBatis (renamed from iBATIS) over at http://www.mybatis.org. This question would probably be better addressed there. I use both PG and MyBatis so I saw your question. REF is not an acceptable MyBatis jdbcType. I'm trying with type OTHER as documented here: http://jdbc.postgresql.org/documentation/83/callproc.html#callproc-resultset-setof But I'm running into an issue which I'll pursue on the MyBatis mailing list. Note that with the current refcursor implementation, there is no advantage over returning SETOF from your function. Both materialize the entire result set before returning to the caller. So, if you can't get refcursor to work, I'd suggest switching to SETOF. I'll get back to you when I find out why OTHER is not working. Or else you can join the MyBatis mailing list. -- Guy Rouillier
Hi Guy, Thanks for your reply. We were able to work out with type OTHER. Many thanks for support. Regards, Atul Goel -----Original Message----- From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Guy Rouillier Sent: 25 August 2010 08:03 To: pgsql-general@postgresql.org Subject: Re: [GENERAL] IBATIS support for postgres cursors On 8/23/2010 12:11 PM, Atul.Goel@globaldatapoint.com wrote: > Hi, > > Can cursors be returned to IBATIS. If so how. This is what I have written. > > <parameterMap id=/"/ /getUsersParam"/ class=/"Map"/> > > <parameter property=/"results"/ jdbcType=/"REF"/ > javaType=/"java.sql.ResultSet"/ mode=/"OUT"/ resultMap=/"allUsersResult"//> > > <parameter property=/"errors"/ jdbcType=/"VARCHAR"/ > javaType=/"java.lang.String"/ mode=/"OUT"//> > > </parameterMap> > > This does not work. Please help. There is a dedicated mailing list for MyBatis (renamed from iBATIS) over at http://www.mybatis.org. This question would probably be better addressed there. I use both PG and MyBatis so I saw your question. REF is not an acceptable MyBatis jdbcType. I'm trying with type OTHER as documented here: http://jdbc.postgresql.org/documentation/83/callproc.html#callproc-resultset-setof But I'm running into an issue which I'll pursue on the MyBatis mailing list. Note that with the current refcursor implementation, there is no advantage over returning SETOF from your function. Both materialize the entire result set before returning to the caller. So, if you can't get refcursor to work, I'd suggest switching to SETOF. I'll get back to you when I find out why OTHER is not working. Or else you can join the MyBatis mailing list. -- Guy Rouillier -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general This e-mail is confidential and should not be used by anyone who is not the original intended recipient. Global DataPointLimited does not accept liability for any statements made which are clearly the sender's own and not expressly madeon behalf of Global DataPoint Limited. No contracts may be concluded on behalf of Global DataPoint Limited by means ofe-mail communication. Global DataPoint Limited Registered in England and Wales with registered number 3739752 RegisteredOffice Middlesex House, 34-42 Cleveland Street, London W1T 4LB
On 8/26/2010 5:27 AM, Atul.Goel@globaldatapoint.com wrote: > Hi Guy, > > Thanks for your reply. We were able to work out with type OTHER. How did you get OTHER to work? Did you define your own TypeHandler? -- Guy Rouillier
> -----Original Message----- > From: pgsql-general-owner@postgresql.org [mailto:pgsql-general- > > How did you get OTHER to work? Did you define your own TypeHandler? That's the only change we had to make. The Java code works as is. We only changed the jdbcType from "ORACLECURSOR" TO "OTHER" <parameterMap id="getUsersParam" class="Map"> <parameter property="results" jdbcType="OTHER" javaType="java.sql.ResultSet" mode="OUT" resultMap="allUsersResult"/> <parameter property="errors" jdbcType="VARCHAR" javaType="java.lang.String" mode="OUT"/> </parameterMap> Thanks, Zeeshan This e-mail is confidential and should not be used by anyone who is not the original intended recipient. Global DataPointLimited does not accept liability for any statements made which are clearly the sender's own and not expressly madeon behalf of Global DataPoint Limited. No contracts may be concluded on behalf of Global DataPoint Limited by means ofe-mail communication. Global DataPoint Limited Registered in England and Wales with registered number 3739752 RegisteredOffice Middlesex House, 34-42 Cleveland Street, London W1T 4LB