Danilo Tommasina <dtommasina <at> risksys.com> writes:
> When using the Oracle9i platform storing Blobs/Clobs does not work when using
> the DBCP connection factory
> (org.apache.ojb.broker.accesslayer.ConnectionFactoryDBCPImpl)

Hi Danilo,
 thank you for your patch and suggestions.

Unfortunately this is true not only for DBCP, but all types of wrapped
connections (eg in managed environments like BEA WebLogic).

And as you so carefully spotted, using P6Spy will render the same problem.

BLOB/CLOB is only one out of two known issues with wrapped connections. The
other one is batching and the 2k/4k BLOB/CLOB length limits with the 
oracle:thin driver.

If you select batch-mode=true these annoying limits will reappear,
even if using PlatformOracle9iImpl. (Another item on the TODO-list.)


Previously there has been a special platform added to circument the
wrapped connection problem (PlatformWLOracle9iImpl for WebLogic),
but this solution is IMHO also not satisfactory due to code duplication 
and too many platforms.

I reviewed your suggested DBCP-fix and this will not make it into
the default Oracle9i platform, as the imports would add a DBCP run-time 
dependency when using OJB and Oracle9i platform (which is not currently 
the case and would apply even for users that don't want DBCP).

I will try to make a more flexible support for all types of wrapped 
conenctions using reflection calls. If this is not possible your code could 
always extend the default platform and make a new "PlatformDbcpOracle9iImp",
but this would be my personal last choice...

> And one more side notice: why the Oracle and Sybase (and maybe other) 
> platforms are not configured to use SQL92 syntax?

Often this is simply because one developer adds a new platform method 
and do not have access to all RDBMS that OJB support, and therefore have 
to make a "qualified guess" for good defaults. If no-one using a specific 
platform yells this can go unnoticed for some time...

> At least in Sybase there are less limitations on outer joins 
> when using this syntax and it should be granted that you get same results on 
> all platform when using the SQL92.

Agreed. Since Oracle9i passes all regression tests regardless of ORACLE/SQL92 
join syntax I added your suggestion to CVS (for both 1.0.x branch and HEAD).

The upcoming OJB 1.0.2 release will use SQL92 join syntax for 
the Oracle9i platform.

(Sybase is unknown territory for me.)

Regards,
 Martin


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

Reply via email to