[ https://issues.apache.org/jira/browse/DERBY-6912?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16673750#comment-16673750 ]
Trejkaz commented on DERBY-6912: -------------------------------- DriverManager doesn't let me pass non-string properties either, sadly. > Allow loading a database from a Path instead of a String file path > ------------------------------------------------------------------ > > Key: DERBY-6912 > URL: https://issues.apache.org/jira/browse/DERBY-6912 > Project: Derby > Issue Type: Improvement > Reporter: Trejkaz > Priority: Major > > Java 7 added the new filesystem abstraction (Path) API. > Our data is made up of a collection of multiple other databases. Other > components of our data, such as Lucene, already use the new Path API in the > current released versions, so it's now only Derby holding us up. > I can make an alternative DirStorageFactory7, DirFile7, DirRandomAccessFile7 > which all use Path to do their work, instead of File. This turns out to be > fairly easy, in fact. > The blocker is currently that Derby currently forces us to provide the path > to the database as a string. This comes down to EmbeddedDataSourceInterface > forcing me to pass a string for pretty much everything. For instance, the > database "name" usually becomes the file path, but that's a string. > {code} > void setDatabaseName(String name); > String getDatabaseName(); > {code} > Even if I wanted to work around it by making a custom protocol, ignoring the > name and then using the connection attributes, the connection attributes were > done as a string as well: > {code} > void setConnectionAttributes(String attributes); > String getConnectionAttributes(); > {code} > It would have been nice if this were a Map so that I could put other objects > inside it. > As far as other workarounds go, I can't extend EmbedPooledConnection, so I > can't usefully extend InternalDriver, so I can't usefully extend > EmbeddedConnectionPoolDataSource myself. If there is any other possibility > which I have missed, I'd be interested to know. > Really what I would like is a way to pass the Path directly to > EmbeddedConnectionPoolDataSource. -- This message was sent by Atlassian JIRA (v7.6.3#76005)