Bug 118632 - PooledConnectionSource.test() does not work for SQL Server
Summary: PooledConnectionSource.test() does not work for SQL Server
Status: NEW
Alias: None
Product: Red Hat Web Application Framework
Classification: Retired
Component: other
Version: nightly
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: ccm-bugs-list
QA Contact: Jon Orris
Depends On:
TreeView+ depends on / blocked
Reported: 2004-03-18 14:54 UTC by Brett Prucha
Modified: 2008-05-01 15:39 UTC (History)
0 users

Clone Of:
Last Closed:

Attachments (Terms of Use)

Description Brett Prucha 2004-03-18 14:54:14 UTC
Description of problem:

The comment says:

    // This should guarantee a db roundtrip on any normal JDBC
    // implementation.

Well I guess SQL Server is not a "normal" JDBC implementation because 
the test does not work.  When the db goes down, no exception is 
thrown when the current test is run.  I changed the test to the 

    PreparedStatement ps;
    ps = conn.prepareStatement("select 1 from dual");

This can throw a "Connection reset by peer: socket write error" 
exception where as the previous implementation would not.

BTW the current PooledConnectionSource is much better than previous 
implementations.  Thanks!

Comment 1 Rafael H. Schloming 2004-03-18 15:41:11 UTC
The reason I didn't use that test is that postgres doesn't have a dual
table so we'd actually have to use a different SQL string depending on
the database. I was hoping the getTables() call would be a clever way
to avoid doing that, but I guess not.

Comment 2 Brett Prucha 2004-03-18 15:48:33 UTC
SQL Server doesn't have a dual table either.

In the oracle-compatibility.sql file I added this line:

-- The equivalent of oracle's dual table.
create view dual as select 1 as dummy;

It works great.  I think I even got that idea from an old nightly 
build where postgresql's oracle-compatibility.sql had that line in 
it.  I'm not sure what happened to it.  Yep I just checked.
ccm-core-5.3.0.AUTO.08.11.2003 as that line in it.

Comment 3 Brett Prucha 2004-03-18 15:53:57 UTC
That dual view is still there in postgresql.  You should be able to 
use that test no problem.

Note You need to log in before you can comment on or make changes to this bug.