db-derby-dev mailing list archives

[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.