Driver.acceptsURL(String) not working correctly

Поиск
Список
Период
Сортировка
От Garrick Dasbach
Тема Driver.acceptsURL(String) not working correctly
Дата
Msg-id 3F4671A4.4020508@musicrebellion.com
обсуждение исходный текст
Ответы Re: Driver.acceptsURL(String) not working correctly
Список pgsql-jdbc
I'm currently writing an application which allows a user to enter a JDBC
connection string, and I make a connection using that string and the
drivers available to me.  While working with the Postgresql driver, our
primary database, I noticed that the acceptsURL() function of the JDBC
driver does not function correctly.

This is my test code:

Driver driver = // Driver Initialization
if(driver.acceptsURL("blah")){
    // report good news
} else {
    // fail to user
}

I should recieve a failure, resulting in a dialog popup to the user.
However acceptsURL returns true in this case.

I briefly looked at the source code for the JDBC driver, we are
currently using the 7.3 driver, and found the following in the
parseURL() function

boolean found = (count == 0) ? true : false;
for (int tmp = 0;tmp < protocols.length;tmp++)
{
    if (token.equals(protocols[tmp]))
    {
        // PM June 29 1997 Added this property to enable the driver
        // to handle multiple backend protocols.
        if (count == 2 && tmp > 0)
        {
            urlProps.put("Protocol", token);
            found = true;
        }
    }
}

if (found == false)
    return null;

Which in the case of my test code returns true.  Since there is only one
token "blah", thus making count == 0, and the token is not in the
protocol list, and thus never allows found to be false.

Just thought I'd bring that to your attention.

Garrick Dasbach
Software Development
Digonex Technologies, Inc.
garrick@digonex.com


В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Barry Lind
Дата:
Сообщение: Re: Error messaages
Следующее
От: Rob Prowel
Дата:
Сообщение: connection/statement becomes unstable following SQLException