[ 
https://issues.apache.org/jira/browse/DERBY-6022?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rick Hillegas updated DERBY-6022:
---------------------------------

    Attachment: derby-6022-02-aa-dbmdWrapper.diff

Attaching derby-6022-02-aa-dbmdWrapper.diff. This patch adds the database 
metadata wrapper routines to derbytools.jar and makes it possible to register 
them via syscs_util.syscs_register_tool(). I am running regression tests now.

To register the database metadata wrapper routines, issue the following command:

    call syscs_util.syscs_register_tool( 'dbmd', true );

To unregister the wrapper routines, issue the following command:

    call syscs_util.syscs_register_tool( 'dbmd', false );



Touches the following files:

------------------

A       java/tools/org/apache/derby/impl/tools/optional
A       java/tools/org/apache/derby/impl/tools/optional/DBMDWrapper.java
M       java/engine/org/apache/derby/catalog/Java5SystemProcedures.java

Adds DBMDWrapper as an OptionalTool.

------------------

M       java/build/org/apache/derbyBuild/classlister.java
M       java/tools/org/apache/derby/impl/tools/build.xml
M       tools/jar/tools.properties

Adds logic to build DBMDWrapper and put it into
derbytools.jar. Adds logic to NOT pull OptionalTool into
derbytools.jar. It should live in only one jar file, viz., derby.jar.

------------------

M       java/engine/org/apache/derby/impl/sql/compile/StaticMethodCallNode.java
M       java/engine/org/apache/derby/impl/services/reflect/JarLoader.java

Adds logic to make it possible to run DBMDWrapper methods even though they live 
in the Derby namespace.

------------------

M       
java/testing/org/apache/derbyTesting/functionTests/tests/lang/_Suite.java
A       
java/testing/org/apache/derbyTesting/functionTests/tests/lang/OptionalToolsTest.java

Adds a simple test to verify that the wrapper methods can be registered, run, 
and unregistered.

                
> Add a system procedure for (un)registering optional packages of Derby tools.
> ----------------------------------------------------------------------------
>
>                 Key: DERBY-6022
>                 URL: https://issues.apache.org/jira/browse/DERBY-6022
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL, Tools
>    Affects Versions: 10.10.0.0
>            Reporter: Rick Hillegas
>         Attachments: derby-6022-01-aa-registerToolProc.diff, 
> derby-6022-02-aa-dbmdWrapper.diff
>
>
> 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

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to