db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4171) Connections to on-disk db go to in-memory db if in-memory db with same name is booted
Date Tue, 21 Apr 2009 09:58:47 GMT

    [ https://issues.apache.org/jira/browse/DERBY-4171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12701123#action_12701123
] 

Knut Anders Hatlen commented on DERBY-4171:
-------------------------------------------

Thanks for the fix Kristian. I've verified that it works.

Should we also set colon = name.indexOf(':') in the body of the new if statement? The if statement
right below it is supposed to return immediately if the subsubprotocol doesn't match, but
since colon is still -1, that code is not executed. Not that it appears to cause any problems.

Alternatively, and perhaps clearer, I think we could change the if statement like this:

        if (colon == -1 && !getType().equals(PersistentService.DIRECTORY)) {
            // no subsubprotocol specified, and this is not the default service
            return null;
        }

> Connections to on-disk db go to in-memory db if in-memory db with same name is booted
> -------------------------------------------------------------------------------------
>
>                 Key: DERBY-4171
>                 URL: https://issues.apache.org/jira/browse/DERBY-4171
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.5.1.1
>            Reporter: Knut Anders Hatlen
>         Attachments: derby-4171-1a-fix.diff
>
>
> When an in-memory database has been booted, subsequent attempts to connect to an ordinary
(on-disk) database with the same name as the in-memory database will connect to the in-memory
db.
> ij version 10.5
> ij> connect 'jdbc:derby:memory:MyDB;create=true'; -- with subprotocol memory
> ij> create table t (x varchar(30));
> 0 rows inserted/updated/deleted
> ij> insert into t values 'This is the in-memory backend';
> 1 row inserted/updated/deleted
> ij> connect 'jdbc:derby:MyDB;create=true'; --without subprotocol memory, should create
disk db
> WARNING 01J01: Database 'MyDB' not created, connection made to existing database instead.
> ij(CONNECTION1)> select * from t;
> X                             
> ------------------------------
> This is the in-memory backend 
> 1 row selected

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message