[
http://issues.apache.org/jira/browse/DERBY-1057?page=comments#action_12427097 ]
Mamta A. Satoor commented on DERBY-1057:
----------------------------------------
Laura, I have some feedback on the doc changes. Also, Deepa recently added a
warning as part of DERBY-1582. We probably should document it wherever we
document other warnings.
Comments on Reference Guide
SYSCOLPERMS
1)The 2nd line should say "All of the permissions for one(GRANTEE, TABLEID,
TYPE, GRANTOR)"
2)TABLEID description says "The name of the table...". It's not the name, it is
the "unique identifier for the table..."
SYSTABLEPERMS
1)The 2nd line should say "All of the permissions for one (GRANTEE, TABLEID,
GRANTOR)"
2)TABLEID description says "The name of the table...". It's not the name, it is
the "unique identifier for the table..."
GRANT statement page
1)Under "Syntax for tables", the "TABLE" keyword should be optional. The syntax
should be
GRANT privilege-type ON [TABLE] { table-Name | view-Name } TO grantees
2)Also, the syntax for grantees is shown as
grantees
{
authorization ID | PUBLIC
}
With this syntax, one can only specify one id at a time. That is not correct.
The syntax should look like following
grantees
{authorization ID | PUBLIC} [,{authorization ID | PUBLIC}]*
3)For the syntax for privilege-type, ALL PRIVILEGES is missing. This has been
correctly included in the REVOKE statement page.
REVOKE statement page
1)Under "Syntax for tables", the "TABLE" keyword should be optional. The syntax
should be
REVOKE privilege-type ON [TABLE] { table-Name | view-Name } FROM
grantees
2)Also, the syntax for grantees is shown as
grantees
{
authorization ID | PUBLIC
}
With this syntax, one can only specify one id at a time. That is not correct.
The syntax should look like following
grantees
{authorization ID | PUBLIC} [,{authorization ID | PUBLIC}]*
3)Following paragraph sounds confusing and incorrect to me
"You must use the RESTRICT clause on REVOKE statements for routines. The
RESTRICT clause specifies that the EXECUTE privilege cannot be revoked if the
specified routine is used in a view, trigger, or constraint, or if the loss of
the EXECUTE privilege would cause the definer of the view, trigger, or
constraint to no longer be able to execute the specified routine."
The correct information is in the functional spec attached to DERBY-464 and it
is as follows
"RESTRICT is mandatory with routine revoke statements. That means that
execute permission on a function may not be revoked if that function is used in
a view, trigger, or constraint, and permission is being revoked from the owner
of the view, trigger, or constraint. "
4)In the paragaraph for explanation of REFERENCES, we currently have following
"If a column list is specified with the REFERENCES privilege, the permission
is valid on only the foreign key reference to the specified columns."
It should be something like following (feel free to reword it)
"If a column list is specified with the REFERENCES privilege, the permission
is revoked on only the foreign key reference to the specified columns."
Same thing applies to the explanation of SELECT and UPDATE.
5)On both grant and revoke pages, when we talk about a specific authorization
ID, we should use the same case for all the references to that user. We talk
about authorization ID harry as "harry" and "Harry". I see this on "Grant and
revoke user authorizations" page also in Developers Guide.
Comments on Developers Guide
User authorizations
1)In the 2nd paragraph, we start with connection authorization and grant
authorization. But on the 2nd line, I think we are referencing grant
authorization as SQL authorization. Might be confusing to the users.
2)Typo on line "Tip: It is possible to configure a database so that the
database cannot be accesses "
accessess should be accessed
Also, that sentence sounds little confusing to me. I think it needs little
rephrasing. My suggestion (feel free to change it)
"Tip: It is possible to configure a database so that the database cannot be
accessed or changed. This can be done using the
derby.database.defaultConnectionMode property. If you set this property to
noAccess or readOnlyAccess, be sure to allow at least one user read-write
access."
3)2nd bullet item under "How user authorization properties work together" says
that "No one but the owner of an object can drop the object. " Actually, it is
the owner and the dbe that can drop a object. I think Dan had suggested some
other name for dba, I can't remember right now what his suggestion was.
4)3rd bullet item "The access mode specified for the
derby.database.sqlAuthorization property " should read as "The access mode
specified for the derby.database.defaultConnectionMode property "
Setting the SQL standard authorization mode
1)Minor suggestion. This page has following sentence
"When you set the derby.database.sqlAuthorization property to TRUE, you
cannot set the property back to FALSE."
The sentence might be little more clearer if we said
"Once you set the derby.database.sqlAuthorization property to TRUE, you
cannot set the property back to FALSE."
Grant and revoke user authorizations
1)This page has following paragraph
"Only the object owner has full privileges on the object. No other user has
any privileges on the object until the object owner grants privileges to them. "
Actually, the object owner and the dba has full privileges on the object.
2)The following paragraph does not portray the entire picture of privilege
dependency at object creation time
"Exception: If you create a view, trigger, or constraint when only the PUBLIC
privilege is active, the object that you create is dependent on the PUBLIC
privilege. If you are subsequently granted the same user privileges as you have
with PUBLIC, the objects that you created remain dependent on the PUBLIC
privilege. If the PUBLIC privilege is later revoked, the objects that you
created when only the PUBLIC privilege was active are dropped. Ensure that you
have user level privileges before you create database objects to avoid this
privilege dependency."
Laura, can you please go through my last comment in DERBY-1330 and if it is
still unclear, please let me know.
Comments on Tuning Guide
1)derby.database.sqlAuthorization
Minor suggestion. This page has following sentence
"When this property is set to TRUE, the property cannot be set back to FALSE."
The sentence might be little more clearer if we said
"Once this property is set to TRUE, the property cannot be set back to FALSE."
Thanks for working on this.
> documentation to address Grant/Revoke (Derby-464)
> -------------------------------------------------
>
> Key: DERBY-1057
> URL: http://issues.apache.org/jira/browse/DERBY-1057
> Project: Derby
> Issue Type: Sub-task
> Components: Documentation
> Affects Versions: 10.0.2.0
> Reporter: Eric Radzinski
> Assigned To: Laura Stewart
> Fix For: 10.2.0.0
>
> Attachments: derby1057_devguide.diff, derby1057_devguide3.diff,
> derby1057_devguide_html.zip, derby1057_devguide_html3.zip,
> derby1057_ref.diff, derby1057_ref3.diff, derby1057_ref_html.zip,
> derby1057_tuning3.diff, derby1057_tuning_html.zip, derby1058_ref_html3.zip,
> devguide_html2.zip, ref_html2.zip
>
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira