> On Sept. 15, 2014, 7:24 a.m., Thejas Nair wrote: > > itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHiveAuthorizerCheckInvocation.java, > > line 272 > > <https://reviews.apache.org/r/25616/diff/1/?file=688987#file688987line272> > > > > Wouldn't select permissions for using column j in where clause be > > needed ? > > In most databases, you get to know the number of rows getting updated. > > Using that information, with the query in the test, you could find number > > of columns where "j = 3". > > I haven't verified what SQL spec says about this (privileges needed for > > including columns in where clause in update statement.) Postgres says it is > > needed : > > http://www.postgresql.org/docs/9.2/static/sql-update.html > > "You must have the UPDATE privilege on the table, or at least on the > > column(s) that are listed to be updated. You must also have the SELECT > > privilege on any column whose values are read in the expressions or > > condition."
I looked through the SQL spec and couldn't figure it out one way or another. I chose this route because it seemed odd to require SELECT privileges for UPDATE and DELETE. I see what you're saying about being able to tease out information such as how many rows match a where clause. If we want to require SELECT privileges for these operations that's ok. I'll just need to rework a few pieces of the patch and some of the tests. - Alan ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/25616/#review53316 ----------------------------------------------------------- On Sept. 14, 2014, 4:30 a.m., Alan Gates wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/25616/ > ----------------------------------------------------------- > > (Updated Sept. 14, 2014, 4:30 a.m.) > > > Review request for hive and Thejas Nair. > > > Bugs: HIVE-7790 > https://issues.apache.org/jira/browse/HIVE-7790 > > > Repository: hive-git > > > Description > ------- > > Adds update and delete as action and adds checks for authorization during > update and delete. Also adds passing of updated columns in case authorizer > wishes to check them. > > > Diffs > ----- > > > itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHiveAuthorizerCheckInvocation.java > 53d88b0 > ql/src/java/org/apache/hadoop/hive/ql/Driver.java 298f429 > ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java > b2f66e0 > > ql/src/java/org/apache/hadoop/hive/ql/parse/UpdateDeleteSemanticAnalyzer.java > 3aaa09c > > ql/src/java/org/apache/hadoop/hive/ql/security/authorization/AuthorizationUtils.java > 93df9f4 > > ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HivePrivilegeObject.java > 093b4fd > > ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/Operation2Privilege.java > 3236341 > ql/src/test/queries/clientnegative/authorization_delete_nodeletepriv.q > PRE-CREATION > ql/src/test/queries/clientnegative/authorization_update_noupdatepriv.q > PRE-CREATION > ql/src/test/queries/clientpositive/authorization_delete.q PRE-CREATION > ql/src/test/queries/clientpositive/authorization_delete_own_table.q > PRE-CREATION > ql/src/test/queries/clientpositive/authorization_update.q PRE-CREATION > ql/src/test/queries/clientpositive/authorization_update_own_table.q > PRE-CREATION > ql/src/test/results/clientnegative/authorization_delete_nodeletepriv.q.out > PRE-CREATION > ql/src/test/results/clientnegative/authorization_update_noupdatepriv.q.out > PRE-CREATION > ql/src/test/results/clientpositive/authorization_delete.q.out PRE-CREATION > ql/src/test/results/clientpositive/authorization_delete_own_table.q.out > PRE-CREATION > ql/src/test/results/clientpositive/authorization_update.q.out PRE-CREATION > ql/src/test/results/clientpositive/authorization_update_own_table.q.out > PRE-CREATION > > Diff: https://reviews.apache.org/r/25616/diff/ > > > Testing > ------- > > Added tests, both positive and negative, for update and delete, including > ability to update and delete tables created by user. Also added tests for > passing correct update columns. > > > Thanks, > > Alan Gates > >