db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mamta A. Satoor (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4295) SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE cannot be executed after granting permission for execute.
Date Mon, 06 Jul 2009 13:54:14 GMT

    [ https://issues.apache.org/jira/browse/DERBY-4295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12727530#action_12727530
] 

Mamta A. Satoor commented on DERBY-4295:
----------------------------------------

Dag, the current behavior of 10.5 is surely different than the one in 10.3. Depending on what
we decide to do, the behavior may end up being same again (ie if we decide to require just
the execute privilege and not individual table level privileges).

> SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE cannot be executed after granting permission
for execute. 
> --------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4295
>                 URL: https://issues.apache.org/jira/browse/DERBY-4295
>             Project: Derby
>          Issue Type: Bug
>          Components: Documentation
>    Affects Versions: 10.5.1.1
>         Environment: Windows Vista
>            Reporter: Lily Wei
>            Assignee: Mamta A. Satoor
>            Priority: Minor
>         Attachments: derby4295.diff
>
>
> When using derby.properties file from mailjdbc tests, call SYSCS_UTIL.SYCS_INPLACE_COMPRESs_TABLE
is fine user 'BACKUP' with the following operation. Please see below:
> ij version 10.3
> ij> connect 'jdbc:derby:tpri;user=BACKUP;password=Backup';
> ij> create table a (col1 int, col2 clob);
> 0 rows inserted/updated/deleted
> ij> insert into a values (1, '1');
> 1 row inserted/updated/deleted
> ij> insert into a values (2, '2');
> 1 row inserted/updated/deleted
> ij> grant execute on procedure SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE to BACKUP;
> 0 rows inserted/updated/deleted
> ij version 10.3
> ij> connect 'jdbc:derby:tpri;user=BACKUP;password=Backup';
> ij> call SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE('REFRESH','A',1,1,1);
> 0 rows inserted/updated/deleted              <<<====Operation successful=====
>  
> However, on 10.5, the same operation result ERROR 38000
> ij> connect 'jdbc:derby:tpri;create=true;user=REFRESH;password=Refresh';
> ij> create table a (col1 int, col2 clob);
> 0 rows inserted/updated/deleted
> ij> insert into a values (1, '1');
> 1 row inserted/updated/deleted
> ij> insert into a values (1, '2');
> 1 row inserted/updated/deleted
> ij> grant execute on procedure SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE to BACKUP;
> 0 rows inserted/updated/deleted
> ij> exit;
>  
> ij version 10.5
> ij> connect 'jdbc:derby:tpri;user=BACKUP;password=Backup';
> ij> call SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE('REFRESH','A',1,1,1);
> ERROR 38000: The exception 'java.sql.SQLException: User 'BACKUP' can not perform
>  the operation in schema 'REFRESH'.' was thrown while evaluating an expression.
> ERROR 42507: User 'BACKUP' can not perform the operation in schema 'REFRESH'.  <<<====Operation
result with ERROR 38000
> ERROR 42507: User 'BACKUP' can not perform the operation in schema 'REFRESH'.^M
>         at org.apache.derby.iapi.error.StandardException.newException(StandardEx
> ception.java:303)^M
>         at org.apache.derby.iapi.sql.dictionary.StatementSchemaPermission.check(
> StatementSchemaPermission.java:83)^M
>         at org.apache.derby.impl.sql.conn.GenericAuthorizer.authorize(GenericAut
> horizer.java:186)^M
>         at org.apache.derby.impl.sql.execute.GenericResultSetFactory.getDDLResul
> tSet(GenericResultSetFactory.java:1073)^M
>         at org.apache.derby.impl.sql.execute.ConstantActionActivation.execute(Co
> nstantActionActivation.java:61)^M
>         at org.apache.derby.impl.sql.GenericActivationHolder.execute(GenericActi
> vationHolder.java:352)^M
>         at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Generi
> cPreparedStatement.java:414)^M
>         at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPre
> paredStatement.java:297)^M
>         at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedState
> ment.java:1235)^M
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Em
> bedPreparedStatement.java:1648)^M
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Embed
> PreparedStatement.java:294)^M
>         at org.apache.derby.catalog.SystemProcedures.SYSCS_INPLACE_COMPRESS_TABL
> E(SystemProcedures.java:1145)^M
>         at org.apache.derby.exe.ac83ba410fx0122x159fx9a84x0000004261f80.g0(Unkno
> wn Source)^M
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)^M
>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)^M
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)^M
>         at java.lang.reflect.Method.invoke(Unknown Source)^M
>         at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(ReflectMe
> thod.java:46)
>         at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(CallSta
> tementResultSet.java:76)^M
>         at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Generi
> cPreparedStatement.java:416)^M
>         at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPre
> paredStatement.java:297)^M
>         at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedState
> ment.java:1235)^M
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Em
> bedPreparedStatement.java:1648)^M
>         at org.apache.derby.impl.jdbc.EmbedCallableStatement.executeStatement(Em
> bedCallableStatement.java:117)^M
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPrepar
> edStatement.java:1303)^M
>         at org.apache.derbyTesting.system.mailjdbc.utils.DbTasks.compressTable(D
> bTasks.java:618)^M
>         at org.apache.derbyTesting.system.mailjdbc.tasks.Backup.DoCompress(Backu
> p.java:79)^M
>         at org.apache.derbyTesting.system.mailjdbc.tasks.Backup.doWork(Backup.ja
> va:68)^M
>         at org.apache.derbyTesting.system.mailjdbc.tasks.Backup.run(Backup.java:
> 46)^M
> Cleanup action completed^M
>        I will add the test to test/langGrantRevokeDDLTest.java.

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


Mime
View raw message