This is the third time I'm posting this.  Can someone PLEASE tell me how to
go about getting this patch into the JBoss source?  I'm happy to do it if I
can find out:

1- How to isolate the Oracle-specific code.
2- How to get commit rights.

Really, any response at all, including "go kiss a goat" would be appreciated.  At 
least I'd know then that I'm being heard.


++Jeff


-------- Original Message --------
Subject: [jBoss-Dev] JAWS Oracle BLOB PreparedStatement.setNull() fix ...
Date: Fri, 26 Jan 2001 18:58:12 -0800
From: Jeffrey Wescott <[EMAIL PROTECTED] 
<mailto:[EMAIL PROTECTED]?subject=Re:%20[JBossCMP]%20[Fwd:%20[jBoss-Dev]%20JAWS%20Oracle%20BLOB%20PreparedStatement.setNull()%20fix%20...]&amp;[EMAIL PROTECTED]>>
Reply-To: "jBoss Developer" <[EMAIL PROTECTED] 
<mailto:[EMAIL PROTECTED]?subject=Re:%20[JBossCMP]%20[Fwd:%20[jBoss-Dev]%20JAWS%20Oracle%20BLOB%20PreparedStatement.setNull()%20fix%20...]&amp;[EMAIL PROTECTED]>>
To: [EMAIL PROTECTED] 
<mailto:[EMAIL PROTECTED]?subject=Re:%20[JBossCMP]%20[Fwd:%20[jBoss-Dev]%20JAWS%20Oracle%20BLOB%20PreparedStatement.setNull()%20fix%20...]&amp;[EMAIL PROTECTED]>





I believe that this message was cross-posted to this list, but so far I 
have not heard a response.  Marc Fleury replied to a related message of 
mine on jboss-user that there was a way to isolate Oracle-specific code 
within JBossCMP.  I'm not exactly sure what he meant.  I'd really like 
to proceed with this change, so if someone can shed some light I'd be 
very appreciative.

Outstanding questions:

1- Is my patch viable?
2- If so, should / can it be isolated in an Oracle-specific section 
somehow, and if so, how?
3- If and when 1 and 2 above are resolved, how do I get commit rights?  :-)

++Jeff


-------- Original Message --------
Subject: [jBoss-Dev] JAWS Oracle BLOB PreparedStatement.setNull() fix ...
Date: Fri, 26 Jan 2001 18:58:12 -0800
From: Jeffrey Wescott <[EMAIL PROTECTED] 
<mailto:[EMAIL PROTECTED]?subject=Re:%20[JBossCMP]%20[Fwd:%20[jBoss-Dev]%20JAWS%20Oracle%20BLOB%20PreparedStatement.setNull()%20fix%20...]&amp;[EMAIL PROTECTED]>>
Reply-To: "jBoss Developer" <[EMAIL PROTECTED] 
<mailto:[EMAIL PROTECTED]?subject=Re:%20[JBossCMP]%20[Fwd:%20[jBoss-Dev]%20JAWS%20Oracle%20BLOB%20PreparedStatement.setNull()%20fix%20...]&amp;[EMAIL PROTECTED]>>
To: [EMAIL PROTECTED] 
<mailto:[EMAIL PROTECTED]?subject=Re:%20[JBossCMP]%20[Fwd:%20[jBoss-Dev]%20JAWS%20Oracle%20BLOB%20PreparedStatement.setNull()%20fix%20...]&amp;[EMAIL PROTECTED]>



Greetings all:

First of all, I'm new to the jboss-dev mailing list, so go easy on
me.  This is my first message to the list and today was my first day
with the jBoss source, so I apologize in advance if my ignorance
shines through ...

There is a limitation in the standard Oracle 8i jdbc type IV driver
(classes12.zip) that makes it such that you cannot issue the setNull()
method on a PreparedStatement for certain "unsupported" types from the
java.sql.Types class.  One of these types happens to be BLOB.

Our project is using JAWS extensively, including functionality such as
nesting entity beans, nesting collections of entity beans, etc.
Because of the aforementioned limitation, it's exceedingly difficult
(near impossible) to ejbCreate() entity beans without first
initializing all of the fields which happen to be nested entity beans
or collections.  The reason is that we map java objects to BLOBs in
the standardjaws.xml file.

After decompiling the Oracle driver code and looking at the source, I
was unable to patch it successfully -- the decompiler rendered some of
Oracle's source uncompilable.  :-(  However, with a one-line
configuration file (standardjaws.xml) change and a one-line change to
org/jboss/ejb/plugins/jaws/jdbc/JDBCCommand.java, I *WAS* able to work
around the problem.  The diff of JDBCCommand.java is below.  The
standardjaws.xml file change is just a matter of changing JAVA_OBJECT
to BLOB for the Oracle8 configuration.

This has been tested and works to solve the aforementioned problem on
JBoss-2.0-FINAL (I'm not using pre-2.1.)

Here are the issues:

1- Will you accept the patch so that when my company upgrades to 2.1
when it is released, I don't have to re-patch it?

2- Is the patch dangerous for non-Oracle databases?  Personally, I
don't see much harm.

---------------------- FILENAME ----------------------
org/jboss/ejb/plugins/jaws/jdbc/JDBCCommand.java:
--------------------- BEGIN DIFF ---------------------
290c290
<           if (jdbcType == Types.JAVA_OBJECT) {
---
 >           if (jdbcType == Types.JAVA_OBJECT || jdbcType == Types.BLOB) {
---------------------- END DIFF ----------------------

Thanks.

++Jeff
[EMAIL PROTECTED] 
<mailto:[EMAIL PROTECTED]?subject=Re:%20[JBossCMP]%20[Fwd:%20[jBoss-Dev]%20JAWS%20Oracle%20BLOB%20PreparedStatement.setNull()%20fix%20...]&amp;[EMAIL PROTECTED]>






Reply via email to