On 09.Jan.2002 -- 10:18 AM, Durrant, Peter wrote:
> Hi
> 
> I've made some changes to ESQL to handle calls to stored procedures. At the

A more and more common request :-)

> moment it is limited to calling stored procedures that generate
> java.sql.resultSet output - i.e. SELECT. More work needs to be done to
> handle stored procedures that return other types of data. However, might
> this be beyond the scope of what was originally envisaged for ESQL?

Currently, we don't even do CallableStatements. (I have some patches
to that respect but haven tested them, yet. First, I'll need to create
some SPs to test against...)

> The reason I've made this change is because Oracle wasn't returning a
> resultSet as part of a normal query call to a stored procedure. 
> 
> If this code is useful to extend ESQL then I'll happily submit it. So
>       (1) are other people interested in the functionality?

definitely

>       (2) who do I need to talk to about syntax etc. of the ESQL stored
> procedure functionality?

this group

>       (3) how do I go about submitting my changes? I guess someone should
> look at the changes I've made...
> This is my first contribution to open source and I'm not sure if there's an
> ethical code submission process. :-)

post a diff -u against HEAD (cvs version) to this group

> The (brief) details of the changes are:
>       (1) addition of CallableStatement to the EsqlQuery class and
> corresponding import

The problem I see here is that you'd need to cater for SPs that don't
have "out" parameters. So perhaps <call/> instead of <query/> could be
used to distinguish.

>       (2) an <esql:stored-proc> added to the spec -- this was added to
> distinguish between prepared statements and stored procedure calls. This
> could perhaps be improved - comments would be welcome on this. Maybe add
> this as an attribute of <esql:query>?

see above. I'd rather not use a tag after spec'ing the query / call to
do the right thing(tm).

>       (3) a direction attribute was added for stored procedure parameters

yes.

>       (4) addition of code to handle stored procedure statement
> construction

yes.

>       (5) if the query was of an "Oracle"-type, then the getting of the
> resultSet was changed to a statement.getObject call. This assumes that the
> output type is derived from resultSet.

need to see this to understand it.

> I've now implemented a call to stored procedures to look like:
>  - (the function is called get_titles and returns an Oracle cursor and takes
> an integer parameter)

>  - (you can see the "hack" of the <esql:stored-proc/> tag. Could this be
> made an attribute of <esql:query>? At the moment it is used to distinguish
> between a prepared statement and stored procedure call)

see above.


        Chris.

-- 
C h r i s t i a n       H a u l
[EMAIL PROTECTED]
    fingerprint: 99B0 1D9D 7919 644A 4837  7D73 FEF9 6856 335A 9E08

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to