You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by kr...@apache.org on 2009/06/15 10:12:32 UTC
svn commit: r784682 -
/db/derby/code/trunk/java/engine/org/apache/derby/impl/services/monitor/StorageFactoryService.java
Author: kristwaa
Date: Mon Jun 15 08:12:32 2009
New Revision: 784682
URL: http://svn.apache.org/viewvc?rev=784682&view=rev
Log:
DERBY-4171: Connections to on-disk db go to in-memory db if in-memory db with same name is booted.
Fixed incorrect handling of colon in paths with the Windows drive letter specification.
Patch file: derby-4171-2a.diff
Modified:
db/derby/code/trunk/java/engine/org/apache/derby/impl/services/monitor/StorageFactoryService.java
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/services/monitor/StorageFactoryService.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/services/monitor/StorageFactoryService.java?rev=784682&r1=784681&r2=784682&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/services/monitor/StorageFactoryService.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/services/monitor/StorageFactoryService.java Mon Jun 15 08:12:32 2009
@@ -757,8 +757,11 @@
String protocolLeadIn = getType() + ":";
int colon = name.indexOf( ':');
// If no subsubprotocol is specified and the storage factory type isn't
- // the default one, abort.
- if (colon == -1 && !getType().equals(PersistentService.DIRECTORY)) {
+ // the default one, abort. We have to deal with Windows drive
+ // specifications here, which contain a colon (i.e. 'C:').
+ // The logic in this method may break in some cases if a colon is used
+ // in the directory or database name.
+ if (colon < 2 && !getType().equals(PersistentService.DIRECTORY)) {
return null;
}
if( colon > 1) // Subsubprotocols must be at least 2 characters long