You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Rick Hillegas (JIRA)" <ji...@apache.org> on 2007/01/18 16:37:30 UTC

[jira] Created: (DERBY-2252) Add Jar IDs to the EXTERNAL names in routine declarations

Add Jar IDs to the EXTERNAL names in routine declarations
---------------------------------------------------------

                 Key: DERBY-2252
                 URL: https://issues.apache.org/jira/browse/DERBY-2252
             Project: Derby
          Issue Type: New Feature
          Components: Security, SQL
            Reporter: Rick Hillegas
             Fix For: 10.3.0.0


This is phase (2) of the work described in the master JIRA DERBY-2206, motivated by the wiki page http://wiki.apache.org/db-derby/JavaRoutineSecurity

This task involves adding Jar IDs to the external names in CREATE PROCEDURE and CREATE FUNCTION statements. This task also involves providing support for the pseudo-jars SYS.CLASSPATH and SYS.JRE.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (DERBY-2252) Add Jar IDs to the EXTERNAL names in routine declarations

Posted by "Daniel John Debrunner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-2252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12469544 ] 

Daniel John Debrunner commented on DERBY-2252:
----------------------------------------------

Thanks for putting up with all my comments Rick.

> 3) The System Tables section now explains my reasons for tracking jar IDs in a new SYSALIASES.FILEID column. The issue here was not dependency tracking but rather the construction of the jar-specific classpath.

I look forward to seeing that, I don't see how the definition of an entry point is related to the jar specific class path, but I haven't thought a lot about how to implement it.

> Add Jar IDs to the EXTERNAL names in routine declarations
> ---------------------------------------------------------
>
>                 Key: DERBY-2252
>                 URL: https://issues.apache.org/jira/browse/DERBY-2252
>             Project: Derby
>          Issue Type: New Feature
>          Components: Security, SQL
>            Reporter: Rick Hillegas
>         Attachments: jarIDs.html
>
>
> This is phase (2) of the work described in the master JIRA DERBY-2206, motivated by the wiki page http://wiki.apache.org/db-derby/JavaRoutineSecurity
> This task involves adding Jar IDs to the external names in CREATE PROCEDURE and CREATE FUNCTION statements.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DERBY-2252) Add Jar IDs to the EXTERNAL names in routine declarations

Posted by "Rick Hillegas (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-2252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12469517 ] 

Rick Hillegas commented on DERBY-2252:
--------------------------------------

Thanks for the feedback, Dan. I have incorporated your improvements in the next revs of this spec and the companion spec for phase 3 (DERBY-2253). I will wait a bit to collect more feedback before posting the new revs.

1) I added signatures to the syntax of the EXTERNAL NAMEs as you suggested.

2) I clarified class/method resolution rules.

3) The System Tables section now explains my reasons for tracking jar IDs in a new SYSALIASES.FILEID column. The issue here was not dependency tracking but rather the construction of the jar-specific classpath. That is addressed in the phase 3 spec but I can see that some explanation is needed in this spec too. I agree that we could reconstruct this information from the dependency system. But I think that modelling the jar ID in SYSALIASES will make it more straightforward to construct the jar-specific classpath and it will make it easier for tech support to figure out that classpath from the catalogs.

4) I have improved the REVOKE USAGE explanation as you suggested.




> Add Jar IDs to the EXTERNAL names in routine declarations
> ---------------------------------------------------------
>
>                 Key: DERBY-2252
>                 URL: https://issues.apache.org/jira/browse/DERBY-2252
>             Project: Derby
>          Issue Type: New Feature
>          Components: Security, SQL
>            Reporter: Rick Hillegas
>         Attachments: jarIDs.html
>
>
> This is phase (2) of the work described in the master JIRA DERBY-2206, motivated by the wiki page http://wiki.apache.org/db-derby/JavaRoutineSecurity
> This task involves adding Jar IDs to the external names in CREATE PROCEDURE and CREATE FUNCTION statements.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-2252) Add Jar IDs to the EXTERNAL names in routine declarations

Posted by "Rick Hillegas (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-2252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rick Hillegas updated DERBY-2252:
---------------------------------

    Description: 
This is phase (2) of the work described in the master JIRA DERBY-2206, motivated by the wiki page http://wiki.apache.org/db-derby/JavaRoutineSecurity

This task involves adding Jar IDs to the external names in CREATE PROCEDURE and CREATE FUNCTION statements.

  was:
This is phase (2) of the work described in the master JIRA DERBY-2206, motivated by the wiki page http://wiki.apache.org/db-derby/JavaRoutineSecurity

This task involves adding Jar IDs to the external names in CREATE PROCEDURE and CREATE FUNCTION statements. This task also involves providing support for the pseudo-jars SYS.CLASSPATH and SYS.JRE.


Removed sentence on SYS.CLASSPATH and SYS.JRE from the JIRA description.

> Add Jar IDs to the EXTERNAL names in routine declarations
> ---------------------------------------------------------
>
>                 Key: DERBY-2252
>                 URL: https://issues.apache.org/jira/browse/DERBY-2252
>             Project: Derby
>          Issue Type: New Feature
>          Components: Security, SQL
>            Reporter: Rick Hillegas
>
> This is phase (2) of the work described in the master JIRA DERBY-2206, motivated by the wiki page http://wiki.apache.org/db-derby/JavaRoutineSecurity
> This task involves adding Jar IDs to the external names in CREATE PROCEDURE and CREATE FUNCTION statements.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DERBY-2252) Add Jar IDs to the EXTERNAL names in routine declarations

Posted by "Daniel John Debrunner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-2252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12469257 ] 

Daniel John Debrunner commented on DERBY-2252:
----------------------------------------------

Spec looks good, fairly clean, some minor clarifications/comments:

- FYI - The MethodName in a EXTERNAL NAME clause can contain a signature, DERBY-2271 was opened to document this.

- "Derby checks to make sure that a class by the given name lives in the jar file and that the class (or one of its superclasses) has a method by the given name. "
   Are they any specifics on the checking here, if the class is not public, if the method is not public and/or not static then what happens? If it's a procedure must the method be void? I think you said the signature checking is implementation defined but it would be good to clarify the behaviour for other situations.

- I couldn't see the need to add a FILEID column to SYS.SYSALIASES. The routine should be able to create a dependency on the jar file, thus hooking into the existing mechanism to control removing the jar file or revoking permissions.

- "An error is raised if you try to strip jar file USAGE privilege"
   Maybe picky, but by "strip" I assume you mean "REVOKE". I wonder if use of non-standard terms will cause confusion for non-native English speakers. Seems simpler & clearer to use consistent technical terms.
    


> Add Jar IDs to the EXTERNAL names in routine declarations
> ---------------------------------------------------------
>
>                 Key: DERBY-2252
>                 URL: https://issues.apache.org/jira/browse/DERBY-2252
>             Project: Derby
>          Issue Type: New Feature
>          Components: Security, SQL
>            Reporter: Rick Hillegas
>         Attachments: jarIDs.html
>
>
> This is phase (2) of the work described in the master JIRA DERBY-2206, motivated by the wiki page http://wiki.apache.org/db-derby/JavaRoutineSecurity
> This task involves adding Jar IDs to the external names in CREATE PROCEDURE and CREATE FUNCTION statements.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-2252) Add Jar IDs to the EXTERNAL names in routine declarations

Posted by "Rick Hillegas (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-2252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rick Hillegas updated DERBY-2252:
---------------------------------

    Attachment: jarIDs.html

Attaching first rev of functional spec for this subtask. Your feedback is appreciated.

> Add Jar IDs to the EXTERNAL names in routine declarations
> ---------------------------------------------------------
>
>                 Key: DERBY-2252
>                 URL: https://issues.apache.org/jira/browse/DERBY-2252
>             Project: Derby
>          Issue Type: New Feature
>          Components: Security, SQL
>            Reporter: Rick Hillegas
>         Attachments: jarIDs.html
>
>
> This is phase (2) of the work described in the master JIRA DERBY-2206, motivated by the wiki page http://wiki.apache.org/db-derby/JavaRoutineSecurity
> This task involves adding Jar IDs to the external names in CREATE PROCEDURE and CREATE FUNCTION statements.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.