Motivation: | Complete the schema management API with a remove schema call | ||
|---|---|---|---|
Contact: | |||
Tracker: | |||
Tagline: |
|
| Table of Contents |
|---|
Description
The current DataAccess/DataStore API provides means to create and update a schema, but not a way to remove it.
The DataAccess interface will be modified as follows:
| Code Block |
|---|
interface DataAccess {
...
/**
* Used to permanently remove a schema from the underlying storage
* <p>
* This functionality is similar to an "drop table" statement in SQL. Implementation
* is optional; it may not be supported by all servers or files.
* @param typeName
* @throws IOException if the operation failed
* @throws UnsupportedOperation if functionality is not available
*/
void removeSchema(Name typeName) throws IOException;
...
}
|
Whilst the DataStore interface will see the following new method:
| Code Block |
|---|
interface DataStore {
...
/**
* Used to permanently remove a schema from the underlying storage
* <p>
* This functionality is similar to an "drop table" statement in SQL. Implementation
* is optional; it may not be supported by all servers or files.
* @param typeName
* @throws IOException if the operation failed
* @throws UnsupportedOperation if functionality is not available
*/
void removeSchema(String typeName) throws IOException;
...
}
|
The code base will be modified, on trunk only, so that the new methods are implemented by throwing an UnsupportedOperationException in the common base classes, and making sure all the code base keeps on building.
Moreover, the support to actually drop the schemas will be implemented in the JDBC data stores.
Status
Voting has not started yet:
- Andrea Aime +1
- Ben Caradoc-Davies +1
- Christian Mueller +1
- Ian Turton +1
- Justin Deoliveira
- Jody Garnett (current OSGeo representative) +1
- Michael Bedward +1
- Simone Giannecchini +1
Tasks
This section is used to make sure your proposal is complete (did you remember documentation?) and has enough paid or volunteer time lined up to be a success
| no progress | | done | | impeded | | lack mandate/funds/time | | volunteer needed |
|---|
- API changed based on BEFORE / AFTER
- Update default implementation
- Update wiki (both module matrix and upgrade to to 2.5 pages) |
- Remove deprecated code from GeoTools project
- Update the user guide
- Update or provided sample code in demo
- review user documentation
Documentation Changes
We may want to show the new API support in some example.