Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/syscat.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/syscat.out?rev=356133&r1=356132&r2=356133&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/syscat.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/syscat.out Sun Dec 11 19:57:33 2005
@@ -51,6 +51,7 @@
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SYSALIASES |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
SYSCHECKS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
+SYSCOLPERMS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
SYSCOLUMNS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
SYSCONGLOMERATES |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
SYSCONSTRAINTS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
@@ -59,9 +60,12 @@
SYSFILES |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
SYSFOREIGNKEYS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
SYSKEYS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
+SYSREQUIREDPERM |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
+SYSROUTINEPERMS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
SYSSCHEMAS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
SYSSTATEMENTS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
SYSSTATISTICS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
+SYSTABLEPERMS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
SYSTABLES |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
SYSTRIGGERS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
SYSVIEWS |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=12, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=false }
@@ -76,6 +80,7 @@
SYSALIASES_INDEX2 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSALIASES_INDEX3 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSCHECKS_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
+SYSCOLPERMS_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSCOLUMNS_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSCOLUMNS_INDEX2 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSCONGLOMERATES_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
@@ -91,11 +96,14 @@
SYSFOREIGNKEYS_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSFOREIGNKEYS_INDEX2 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSKEYS_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
+SYSREQUIREDPERM_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
+SYSROUTINEPERMS_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSSCHEMAS_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSSCHEMAS_INDEX2 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSSTATEMENTS_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSSTATEMENTS_INDEX2 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSSTATISTICS_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
+SYSTABLEPERMS_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSTABLES_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSTABLES_INDEX2 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
SYSTRIGGERS_INDEX1 |{ derby.storage.initialPages=1, derby.storage.minimumRecordSize=1, derby.storage.pageReservedSpace=0, derby.storage.pageSize=4096, derby.storage.reusableRecordId=true }
@@ -121,6 +129,10 @@
SYSTRIGGERS |S
SYSSTATISTICS |S
SYSDUMMY1 |S
+SYSTABLEPERMS |S
+SYSCOLPERMS |S
+SYSROUTINEPERMS |S
+SYSREQUIREDPERM |S
ij> select TABLENAME,
COLUMNNAME, COLUMNNUMBER,
columndatatype
@@ -141,6 +153,11 @@
SYSCHECKS |CHECKDEFINITION |2 |LONG VARCHAR N&
SYSCHECKS |CONSTRAINTID |1 |CHAR(36) NOT N&
SYSCHECKS |REFERENCEDCOLUMNS |3 |org.apache.der&
+SYSCOLPERMS |COLUMNS |5 |org.apache.der&
+SYSCOLPERMS |GRANTEE |1 |VARCHAR(30) NO&
+SYSCOLPERMS |GRANTOR |2 |VARCHAR(30) NO&
+SYSCOLPERMS |TABLEID |3 |CHAR(36) NOT N&
+SYSCOLPERMS |TYPE |4 |CHAR(1) NOT NU&
SYSCOLUMNS |AUTOINCREMENTINC |9 |BIGINT
SYSCOLUMNS |AUTOINCREMENTSTART |8 |BIGINT
SYSCOLUMNS |AUTOINCREMENTVALUE |7 |BIGINT
@@ -181,6 +198,15 @@
SYSFOREIGNKEYS |UPDATERULE |5 |CHAR(1) NOT NU&
SYSKEYS |CONGLOMERATEID |2 |CHAR(36) NOT N&
SYSKEYS |CONSTRAINTID |1 |CHAR(36) NOT N&
+SYSREQUIREDPERM |COLUMNS |5 |org.apache.der&
+SYSREQUIREDPERM |OBJECT |4 |CHAR(36) NOT N&
+SYSREQUIREDPERM |OPERATOR |1 |CHAR(36) NOT N&
+SYSREQUIREDPERM |OPERATORTYPE |2 |CHAR(1) NOT NU&
+SYSREQUIREDPERM |PERMTYPE |3 |CHAR(1) NOT NU&
+SYSROUTINEPERMS |ALIASID |3 |CHAR(36) NOT N&
+SYSROUTINEPERMS |GRANTEE |1 |VARCHAR(30) NO&
+SYSROUTINEPERMS |GRANTOPTION |4 |CHAR(1) NOT NU&
+SYSROUTINEPERMS |GRANTOR |2 |VARCHAR(30) NO&
SYSSCHEMAS |AUTHORIZATIONID |3 |VARCHAR(128) N&
SYSSCHEMAS |SCHEMAID |1 |CHAR(36) NOT N&
SYSSCHEMAS |SCHEMANAME |2 |VARCHAR(128) N&
@@ -201,6 +227,15 @@
SYSSTATISTICS |TABLEID |3 |CHAR(36) NOT N&
SYSSTATISTICS |TYPE |5 |CHAR(1) NOT NU&
SYSSTATISTICS |VALID |6 |BOOLEAN NOT NU&
+SYSTABLEPERMS |DELETEPRIV |5 |CHAR(1) NOT NU&
+SYSTABLEPERMS |GRANTEE |1 |VARCHAR(30) NO&
+SYSTABLEPERMS |GRANTOR |2 |VARCHAR(30) NO&
+SYSTABLEPERMS |INSERTPRIV |6 |CHAR(1) NOT NU&
+SYSTABLEPERMS |REFERENCESPRIV |8 |CHAR(1) NOT NU&
+SYSTABLEPERMS |SELECTPRIV |4 |CHAR(1) NOT NU&
+SYSTABLEPERMS |TABLEID |3 |CHAR(36) NOT N&
+SYSTABLEPERMS |TRIGGERPRIV |9 |CHAR(1) NOT NU&
+SYSTABLEPERMS |UPDATEPRIV |7 |CHAR(1) NOT NU&
SYSTABLES |LOCKGRANULARITY |5 |CHAR(1) NOT NU&
SYSTABLES |SCHEMAID |4 |CHAR(36) NOT N&
SYSTABLES |TABLEID |1 |CHAR(36) NOT N&
@@ -239,6 +274,8 @@
SYSALIASES |true
SYSCHECKS |false
SYSCHECKS |true
+SYSCOLPERMS |false
+SYSCOLPERMS |true
SYSCOLUMNS |false
SYSCOLUMNS |true
SYSCOLUMNS |true
@@ -262,6 +299,10 @@
SYSFOREIGNKEYS |true
SYSKEYS |false
SYSKEYS |true
+SYSREQUIREDPERM |false
+SYSREQUIREDPERM |true
+SYSROUTINEPERMS |false
+SYSROUTINEPERMS |true
SYSSCHEMAS |false
SYSSCHEMAS |true
SYSSCHEMAS |true
@@ -270,6 +311,8 @@
SYSSTATEMENTS |true
SYSSTATISTICS |false
SYSSTATISTICS |true
+SYSTABLEPERMS |false
+SYSTABLEPERMS |true
SYSTABLES |false
SYSTABLES |true
SYSTABLES |true
@@ -300,6 +343,10 @@
SYSTRIGGERS |S
SYSSTATISTICS |S
SYSDUMMY1 |S
+SYSTABLEPERMS |S
+SYSCOLPERMS |S
+SYSROUTINEPERMS |S
+SYSREQUIREDPERM |S
T |T
ij> select TABLENAME,
COLUMNNAME, COLUMNNUMBER,
@@ -321,6 +368,11 @@
SYSCHECKS |CHECKDEFINITION |2 |LONG VARCHAR N&
SYSCHECKS |CONSTRAINTID |1 |CHAR(36) NOT N&
SYSCHECKS |REFERENCEDCOLUMNS |3 |org.apache.der&
+SYSCOLPERMS |COLUMNS |5 |org.apache.der&
+SYSCOLPERMS |GRANTEE |1 |VARCHAR(30) NO&
+SYSCOLPERMS |GRANTOR |2 |VARCHAR(30) NO&
+SYSCOLPERMS |TABLEID |3 |CHAR(36) NOT N&
+SYSCOLPERMS |TYPE |4 |CHAR(1) NOT NU&
SYSCOLUMNS |AUTOINCREMENTINC |9 |BIGINT
SYSCOLUMNS |AUTOINCREMENTSTART |8 |BIGINT
SYSCOLUMNS |AUTOINCREMENTVALUE |7 |BIGINT
@@ -361,6 +413,15 @@
SYSFOREIGNKEYS |UPDATERULE |5 |CHAR(1) NOT NU&
SYSKEYS |CONGLOMERATEID |2 |CHAR(36) NOT N&
SYSKEYS |CONSTRAINTID |1 |CHAR(36) NOT N&
+SYSREQUIREDPERM |COLUMNS |5 |org.apache.der&
+SYSREQUIREDPERM |OBJECT |4 |CHAR(36) NOT N&
+SYSREQUIREDPERM |OPERATOR |1 |CHAR(36) NOT N&
+SYSREQUIREDPERM |OPERATORTYPE |2 |CHAR(1) NOT NU&
+SYSREQUIREDPERM |PERMTYPE |3 |CHAR(1) NOT NU&
+SYSROUTINEPERMS |ALIASID |3 |CHAR(36) NOT N&
+SYSROUTINEPERMS |GRANTEE |1 |VARCHAR(30) NO&
+SYSROUTINEPERMS |GRANTOPTION |4 |CHAR(1) NOT NU&
+SYSROUTINEPERMS |GRANTOR |2 |VARCHAR(30) NO&
SYSSCHEMAS |AUTHORIZATIONID |3 |VARCHAR(128) N&
SYSSCHEMAS |SCHEMAID |1 |CHAR(36) NOT N&
SYSSCHEMAS |SCHEMANAME |2 |VARCHAR(128) N&
@@ -381,6 +442,15 @@
SYSSTATISTICS |TABLEID |3 |CHAR(36) NOT N&
SYSSTATISTICS |TYPE |5 |CHAR(1) NOT NU&
SYSSTATISTICS |VALID |6 |BOOLEAN NOT NU&
+SYSTABLEPERMS |DELETEPRIV |5 |CHAR(1) NOT NU&
+SYSTABLEPERMS |GRANTEE |1 |VARCHAR(30) NO&
+SYSTABLEPERMS |GRANTOR |2 |VARCHAR(30) NO&
+SYSTABLEPERMS |INSERTPRIV |6 |CHAR(1) NOT NU&
+SYSTABLEPERMS |REFERENCESPRIV |8 |CHAR(1) NOT NU&
+SYSTABLEPERMS |SELECTPRIV |4 |CHAR(1) NOT NU&
+SYSTABLEPERMS |TABLEID |3 |CHAR(36) NOT N&
+SYSTABLEPERMS |TRIGGERPRIV |9 |CHAR(1) NOT NU&
+SYSTABLEPERMS |UPDATEPRIV |7 |CHAR(1) NOT NU&
SYSTABLES |LOCKGRANULARITY |5 |CHAR(1) NOT NU&
SYSTABLES |SCHEMAID |4 |CHAR(36) NOT N&
SYSTABLES |TABLEID |1 |CHAR(36) NOT N&
@@ -421,6 +491,8 @@
SYSALIASES |true
SYSCHECKS |false
SYSCHECKS |true
+SYSCOLPERMS |false
+SYSCOLPERMS |true
SYSCOLUMNS |false
SYSCOLUMNS |true
SYSCOLUMNS |true
@@ -444,6 +516,10 @@
SYSFOREIGNKEYS |true
SYSKEYS |false
SYSKEYS |true
+SYSREQUIREDPERM |false
+SYSREQUIREDPERM |true
+SYSROUTINEPERMS |false
+SYSROUTINEPERMS |true
SYSSCHEMAS |false
SYSSCHEMAS |true
SYSSCHEMAS |true
@@ -452,6 +528,8 @@
SYSSTATEMENTS |true
SYSSTATISTICS |false
SYSSTATISTICS |true
+SYSTABLEPERMS |false
+SYSTABLEPERMS |true
SYSTABLES |false
SYSTABLES |true
SYSTABLES |true
@@ -553,6 +631,10 @@
SYSFILES |1
SYSTRIGGERS |1
SYSSTATISTICS |1
+SYSTABLEPERMS |1
+SYSCOLPERMS |1
+SYSROUTINEPERMS |1
+SYSREQUIREDPERM |1
ij> -- drop views
drop view dummyview;
0 rows inserted/updated/deleted
@@ -632,4 +714,8 @@
SYSFILES |1
SYSTRIGGERS |1
SYSSTATISTICS |1
+SYSTABLEPERMS |1
+SYSCOLPERMS |1
+SYSROUTINEPERMS |1
+SYSREQUIREDPERM |1
ij>
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/views.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/views.out?rev=356133&r1=356132&r2=356133&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/views.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/views.out Sun Dec 11 19:57:33 2005
@@ -252,6 +252,10 @@
SYSFILES |1
SYSTRIGGERS |1
SYSSTATISTICS |1
+SYSTABLEPERMS |1
+SYSCOLPERMS |1
+SYSROUTINEPERMS |1
+SYSREQUIREDPERM |1
ij> -- test inserts from a view
insert into insert_test select * from sv5;
3 rows inserted/updated/deleted
@@ -315,6 +319,10 @@
SYSFILES |1
SYSTRIGGERS |1
SYSSTATISTICS |1
+SYSTABLEPERMS |1
+SYSCOLPERMS |1
+SYSROUTINEPERMS |1
+SYSREQUIREDPERM |1
ij> -- bug 2745
CREATE TABLE orgtable (
name VARCHAR(255),
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/copyfiles.ant
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/copyfiles.ant?rev=356133&r1=356132&r2=356133&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/copyfiles.ant (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/copyfiles.ant Sun Dec 11 19:57:33 2005
@@ -247,3 +247,5 @@
xml_general.sql
xmlBinding_app.properties
xmlTestFiles/*
+grantRevoke.sql
+grantRevoke_app.properties
Added: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/grantRevoke.sql
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/grantRevoke.sql?rev=356133&view=auto
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/grantRevoke.sql (added)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/grantRevoke.sql Sun Dec 11 19:57:33 2005
@@ -0,0 +1,93 @@
+connect 'grantRevoke;create=true' user 'satheesh' as satConnection;
+
+-- Test table privileges
+create table satheesh.tsat(i int, j int);
+grant select on satheesh.tsat to public;
+grant insert on satheesh.tsat to foo;
+grant delete on satheesh.tsat to foo;
+grant update on satheesh.tsat to foo;
+grant update(i) on satheesh.tsat to bar;
+
+select * from sys.systableperms;
+
+connect 'grantRevoke' user 'bar' as barConnection;
+
+-- Following revokes should fail. Only owner can revoke permissions
+revoke select on satheesh.tsat from public;
+revoke insert on satheesh.tsat from foo;
+revoke update(i) on satheesh.tsat from foo;
+revoke update on satheesh.tsat from foo;
+revoke delete on satheesh.tsat from foo;
+
+set connection satConnection;
+
+-- Revoke permissions not granted already
+revoke trigger on satheesh.tsat from foo;
+revoke references on satheesh.tsat from foo;
+
+-- Following revokes should revoke permissions
+revoke update on satheesh.tsat from foo;
+revoke delete on satheesh.tsat from foo;
+
+-- Check success by looking at systableperms directly for now
+select * from sys.systableperms;
+
+revoke insert on satheesh.tsat from foo;
+revoke select on satheesh.tsat from public;
+
+-- Check success by looking at systableperms directly for now
+select * from sys.systableperms;
+
+-- Test routine permissions
+
+CREATE FUNCTION F_ABS(P1 INT)
+RETURNS INT
+NO SQL
+RETURNS NULL ON NULL INPUT
+EXTERNAL NAME 'java.lang.Math.abs'
+LANGUAGE JAVA PARAMETER STYLE JAVA;
+
+grant execute on function F_ABS to foo;
+grant execute on function F_ABS(int) to bar;
+
+revoke execute on function F_ABS(int) from bar RESTRICT;
+
+drop function f_abs;
+
+-- Tests with views
+create view v1 as select * from tsat;
+
+grant select on v1 to bar;
+grant insert on v1 to foo;
+grant update on v1 to public;
+
+-- Tests for synonym. Not supported currently.
+create synonym mySym for satheesh.tsat;
+
+-- Expected to fail
+grant select on mySym to bar;
+grant insert on mySym to foo;
+
+-- Test for external security clause
+-- Expected to fail
+CREATE FUNCTION F_ABS(P1 INT)
+RETURNS INT NO SQL
+RETURNS NULL ON NULL INPUT
+EXTERNAL NAME 'java.lang.Math.abs'
+EXTERNAL SECURITY DEFINOR
+LANGUAGE JAVA PARAMETER STYLE JAVA;
+
+CREATE PROCEDURE AUTH_TEST.addUserUtility(IN userName VARCHAR(50), IN permission VARCHAR(22))
+LANGUAGE JAVA PARAMETER STYLE JAVA
+EXTERNAL SECURITY INVOKER
+EXTERNAL NAME 'org.apache.derby.database.UserUtility.add';
+
+CREATE FUNCTION F_ABS(P1 INT)
+RETURNS INT NO SQL
+RETURNS NULL ON NULL INPUT
+EXTERNAL NAME 'java.lang.Math.abs'
+EXTERNAL SECURITY DEFINER
+LANGUAGE JAVA PARAMETER STYLE JAVA;
+
+values f_abs(-5);
+
Propchange: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/grantRevoke.sql
------------------------------------------------------------------------------
svn:eol-style = native
Added: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/grantRevoke_app.properties
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/grantRevoke_app.properties?rev=356133&view=auto
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/grantRevoke_app.properties (added)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/grantRevoke_app.properties Sun Dec 11 19:57:33 2005
@@ -0,0 +1,4 @@
+ij.protocol=jdbc:derby:
+ij.showNoConnectionsAtStart=true
+
+derby.database.defaultConnectionMode=sqlStandard
Propchange: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/grantRevoke_app.properties
------------------------------------------------------------------------------
svn:eol-style = native