Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-6022

Add a system procedure for (un)registering optional packages of Derby tools.

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments


    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • SQL, Tools
    • None
    • Normal


      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.



        1. derby-6022-01-aa-registerToolProc.diff
          17 kB
          Richard N. Hillegas
        2. derby-6022-02-aa-dbmdWrapper.diff
          50 kB
          Richard N. Hillegas
        3. derby-6022-03-aa-foreignDBviews.diff
          49 kB
          Richard N. Hillegas
        4. derby-6022-04-aa-customTool.diff
          19 kB
          Richard N. Hillegas
        5. derby-6022-05-aa-schemaNotCreatedYet.diff
          2 kB
          Richard N. Hillegas
        6. derby-6022-06-aa-optimizerTracing.diff
          4 kB
          Richard N. Hillegas
        7. derby-6022-07-aa-optimizerTracingWithLogFile.diff
          3 kB
          Richard N. Hillegas

        Issue Links


          This comment will be Viewable by All Users Viewable by All Users


            Unassigned Unassigned
            rhillegas Richard N. Hillegas
            0 Vote for this issue
            5 Start watching this issue




                Issue deployment