Details
Description
Now that vararg routines have been added to Derby (see DERBY-3069), I would like to add a new vararg system procedure for registering and unregistering optional packages of Derby tools. For starters, these would be tools which aren't checked into the Derby codeline but are just attached to various JIRAs. These tools are:
o DBMDWrapper (DERBY-3973 and DERBY-5967) - This tool creates functions and table functions for all of the DatabaseMetaData methods so that you can write complicated queries which join and filter JDBC metadata.
o ForeignTableVTI (DERBY-4962) - This tool creates views against foreign databases so that you can bulk-import foreign data into Derby without indirecting through csv files.
It also may be possible to use this approach to expose the log and data file reading tools attached to DERBY-5195 and DERBY-5201.
The new system procedure would look like this:
create procedure syscs_util.syscs_register_tool
(
toolName varchar( 32672 ),
boolean register,
optionalArgs varchar( 32672 ) ...
)
language java parameter style derby modifies sql data
external name 'willFigureOutWhereToPutThis';
The arguments would have these meanings:
o toolName - A name specific to the tool.
o register - True means "register the tool" and false means "unregister the tool".
o optionalArgs - Each tool could have its own variable set of additional configuration parameters.
By default, only the DBO could run this procedure. The DBO could grant execute permission to other users.
The known tool names and their optional parameters would be documented in the Derby Reference Manual in the section on syscs_util.syscs_register_tool.
I am thinking that we should put the optional tools themselves in derbytools.jar. We might want to document all of the optional tools in the Tools Guide, although I can see arguments for documenting some tools in the Admin Guide.
I would appreciate other people's thoughts about this proposal.
Thanks,
-Rick
Attachments
Attachments
Issue Links
- is related to
-
DERBY-6040 Incorrect row order returned for an ORDER BY on a join of two table functions
- Closed
-
DERBY-837 Enable optimizer trace in Derby
- Open
-
DERBY-6219 Provide additional support for importing data via the optional foreignViews tool
- Open
-
DERBY-4945 Productize the DatabaseMetaData wrapper functions.
- Closed
-
DERBY-6042 Document the syscs_util.syscs_register_tool procedure added by DERBY-6022.
- Closed
-
DERBY-4415 Make it easy to plug custom AST printers into the compiler
- Closed
- relates to
-
DERBY-3069 Derby does not resolve functions bound to methods with varargs.
- Closed
-
DERBY-3973 Create function wrappers for DatabaseMetaData so that you can join metadata results in queries.
- Closed
-
DERBY-4962 Create a table function which efficiently migrates data out of foreign databases and which can be used for ongoing data integration
- Closed
-
DERBY-5967 Create some type mapping functions for use in turning JDBC type information into human-readable strings.
- Closed
-
DERBY-6211 Make Optimizer trace logic pluggable.
- Closed
-
DERBY-5195 Create tools for browsing the files in the database log directory.
- Open
-
DERBY-5201 Create tools for reading the contents of the seg0 directory
- Open