[
https://issues.apache.org/jira/browse/DERBY-6912?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16672592#comment-16672592
]
Trejkaz commented on DERBY-6912:
--------------------------------
Is there a way to start up a Derby database programmatically which could be
used to avoid using Derby's DataSource classes?
> 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)