db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d..@apache.org
Subject svn commit: r420306 [2/6] - in /db/derby/code/trunk/java: engine/org/apache/derby/catalog/ engine/org/apache/derby/iapi/services/io/ engine/org/apache/derby/iapi/sql/dictionary/ engine/org/apache/derby/impl/sql/catalog/ engine/org/apache/derby/impl/sql...
Date Sun, 09 Jul 2006 16:17:57 GMT
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/CreateViewConstantAction.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/CreateViewConstantAction.java?rev=420306&r1=420305&r2=420306&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/CreateViewConstantAction.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/CreateViewConstantAction.java Sun Jul  9 09:17:53 2006
@@ -216,6 +216,8 @@
 				throw StandardException.plainWrapException(te);
 			}
 		}
+		//store view's dependency on various privileges in the dependeny system
+		storeViewTriggerDependenciesOnPrivileges(activation, vd);
 
 		dd.addDescriptor(vd, sd, DataDictionary.SYSVIEWS_CATALOG_NUM, true, tc);
 	}

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/DDLConstantAction.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/DDLConstantAction.java?rev=420306&r1=420305&r2=420306&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/DDLConstantAction.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/execute/DDLConstantAction.java Sun Jul  9 09:17:53 2006
@@ -20,6 +20,9 @@
 
 package org.apache.derby.impl.sql.execute;
 
+import java.util.Iterator;
+import java.util.List;
+
 import org.apache.derby.iapi.services.monitor.Monitor;
 
 import org.apache.derby.iapi.services.sanity.SanityManager;
@@ -30,12 +33,20 @@
 
 import org.apache.derby.iapi.error.StandardException;
 
+import org.apache.derby.iapi.sql.conn.Authorizer;
 import org.apache.derby.iapi.sql.conn.LanguageConnectionContext;
 
-import org.apache.derby.iapi.sql.dictionary.DataDescriptorGenerator;
+import org.apache.derby.iapi.sql.dictionary.ColPermsDescriptor;
 import org.apache.derby.iapi.sql.dictionary.DataDictionary;
 import org.apache.derby.iapi.sql.dictionary.DataDictionaryContext;
+import org.apache.derby.iapi.sql.dictionary.PermissionsDescriptor;
+import org.apache.derby.iapi.sql.dictionary.ReferencedKeyConstraintDescriptor;
 import org.apache.derby.iapi.sql.dictionary.SchemaDescriptor;
+import org.apache.derby.iapi.sql.dictionary.StatementColumnPermission;
+import org.apache.derby.iapi.sql.dictionary.StatementPermission;
+import org.apache.derby.iapi.sql.dictionary.StatementRoutinePermission;
+import org.apache.derby.iapi.sql.dictionary.StatementSchemaPermission;
+import org.apache.derby.iapi.sql.dictionary.StatementTablePermission;
 
 import org.apache.derby.iapi.sql.depend.Dependency;
 import org.apache.derby.iapi.sql.depend.Dependent;
@@ -210,6 +221,256 @@
 		// error reporting.
 
 		return statementType + objectName;
+	}
+	
+	
+	/**
+	 *	This method saves dependencies of constraints on privileges in the  
+	 *  dependency system. It gets called by CreateConstraintConstantAction.
+	 *  Views and triggers and constraints run with definer's privileges. If 
+	 *  one of the required privileges is revoked from the definer, the 
+	 *  dependent view/trigger/constraint on that privilege will be dropped 
+	 *  automatically. In order to implement this behavior, we need to save 
+	 *  view/trigger/constraint dependencies on required privileges in the 
+	 *  dependency system. Following method accomplishes that part of the 
+	 *  equation for constraints only. The dependency collection for 
+	 *  constraints is not same as for views and triggers and hence 
+	 *  constraints are handled by this special method.
+	 * 	Views and triggers can depend on many different kind of privileges
+	 *  where as constraints only depend on REFERENCES privilege on a table.
+	 *  Another difference is only one view or trigger can be defined by a
+	 *  sql statement and hence all the dependencies collected for the sql
+	 *  statement apply to the view or trigger in question. As for constraints,
+	 *  one sql statement can defined multiple constraints and hence the 
+	 *  all the privileges required by the statement are not necessarily
+	 *  required by all the constraints defined by that sql statement. We need
+	 *  to identify right privileges for right constraints for a given sql
+	 *  statement. Because of these differences between constraints and views
+	 *  (and triggers), there are 2 different methods in this class to save
+	 *  their privileges in the dependency system.
+	 *   
+	 *  @param activation The execution environment for this constant action.
+	 *  @param dependent Make this object depend on required privileges
+	 *  @param refTableUUID Make sure we are looking for REFERENCES privilege 
+	 * 		for right table
+	 *
+	 * @exception StandardException		Thrown on failure
+	 */
+	protected void storeConstraintDependenciesOnPrivileges(
+			Activation activation, Dependent dependent, UUID refTableUUID)
+	throws StandardException
+	{
+		LanguageConnectionContext lcc = activation.getLanguageConnectionContext();
+		DataDictionary dd = lcc.getDataDictionary();
+		DependencyManager dm = dd.getDependencyManager();
+		
+		//If a dba is creating this constraint, then no need to collect any 
+		//privilege dependencies because a dba can access any objects without 
+		//any restrictions
+		if (!(lcc.getAuthorizationId().equals(dd.getAuthorizationDBA())))
+		{
+			PermissionsDescriptor permDesc;
+			//Now, it is time to add into dependency system, constraint's 
+			//dependency on REFERENCES privilege. If the REFERENCES privilege is 
+			//revoked from the constraint owner, the constraint will get 
+			//dropped automatically.
+			List requiredPermissionsList = activation.getPreparedStatement().getRequiredPermissionsList();
+			if (requiredPermissionsList != null && ! requiredPermissionsList.isEmpty())
+			{
+				for(Iterator iter = requiredPermissionsList.iterator();iter.hasNext();)
+				{
+					StatementPermission statPerm = (StatementPermission) iter.next();
+					//First check if we are dealing with a Table or 
+					//Column level privilege. All the other privileges
+					//are not required for a foreign key constraint.
+					if (statPerm instanceof StatementTablePermission)
+					{//It is a table/column level privilege
+						StatementTablePermission statementTablePermission = 
+							(StatementTablePermission) statPerm;
+						//Check if we are dealing with REFERENCES privilege.
+						//If not, move on to the next privilege in the
+						//required privileges list
+						if (statementTablePermission.getPrivType() != Authorizer.REFERENCES_PRIV)
+							continue;
+						//Next check is this REFERENCES privilege is 
+						//on the same table as referenced by the foreign
+						//key constraint? If not, move on to the next
+						//privilege in the required privileges list
+						if (!statementTablePermission.getTableUUID().equals(refTableUUID))
+							continue;
+					} else if (statPerm instanceof StatementSchemaPermission 
+							|| statPerm instanceof StatementRoutinePermission)
+						continue;
+
+					//We know that we are working with a REFERENCES 
+					//privilege. Find all the PermissionDescriptors for
+					//this privilege and make constraint depend on it
+					//through dependency manager.
+					//The REFERENCES privilege could be defined at the
+					//table level or it could be defined at individual
+					//column levels. In addition, individual column
+					//REFERENCES privilege could be available at the
+					//user level or PUBLIC level.
+					permDesc = statPerm.getPermissionDescriptor(lcc.getAuthorizationId(), dd);				
+					if (permDesc == null) 
+					{
+						//No REFERENCES privilege exists for given 
+						//authorizer at table or column level.
+						//REFERENCES privilege has to exist at at PUBLIC level
+						permDesc = statPerm.getPermissionDescriptor(Authorizer.PUBLIC_AUTHORIZATION_ID, dd);
+						if (!(permDesc.checkOwner(lcc.getAuthorizationId())))
+							dm.addDependency(dependent, permDesc, lcc.getContextManager());
+					} else 
+						//if the object on which permission is required is owned by the
+						//same user as the current user, then no need to keep that
+						//object's privilege dependency in the dependency system
+					if (!(permDesc.checkOwner(lcc.getAuthorizationId())))
+					{
+						dm.addDependency(dependent, permDesc, lcc.getContextManager());
+						if (permDesc instanceof ColPermsDescriptor)
+						{
+							//The if statement above means we found a
+							//REFERENCES privilege at column level for
+							//the given authorizer. If this privilege
+							//doesn't cover all the column , then there 
+							//has to exisit REFERENCES for the remaining
+							//columns at PUBLIC level. Get that permission
+							//descriptor and save it in dependency system
+							StatementColumnPermission statementColumnPermission = (StatementColumnPermission) statPerm;
+							permDesc = statementColumnPermission.getPUBLIClevelColPermsDescriptor(lcc.getAuthorizationId(), dd);
+							//Following if checks if some column level privileges
+							//exist only at public level. If so, then the public
+							//level column privilege dependency is added
+							//into the dependency system
+							if (permDesc != null)
+								dm.addDependency(dependent, permDesc, lcc.getContextManager());	           																
+						}
+					}
+					//We have found the REFERENCES privilege for all the
+					//columns in foreign key constraint and we don't 
+					//need to go through the rest of the privileges
+					//for this sql statement.
+					break;																										
+				}
+			}
+		}
+		
+	}	
+	
+	/**
+	 *	This method saves dependencies of views and triggers on privileges in  
+	 *  the dependency system. It gets called by CreateViewConstantAction
+	 *  and CreateTriggerConstantAction. Views and triggers and constraints
+	 *  run with definer's privileges. If one of the required privileges is
+	 *  revoked from the definer, the dependent view/trigger/constraint on
+	 *  that privilege will be dropped automatically. In order to implement 
+	 *  this behavior, we need to save view/trigger/constraint dependencies 
+	 *  on required privileges in the dependency system. Following method 
+	 *  accomplishes that part of the equation for views and triggers. The
+	 *  dependency collection for constraints is not same as for views and
+	 *  triggers and hence constraints are not covered by this method.
+	 *  Views and triggers can depend on many different kind of privileges
+	 *  where as constraints only depend on REFERENCES privilege on a table.
+	 *  Another difference is only one view or trigger can be defined by a
+	 *  sql statement and hence all the dependencies collected for the sql
+	 *  statement apply to the view or trigger in question. As for constraints,
+	 *  one sql statement can defined multiple constraints and hence the 
+	 *  all the privileges required by the statement are not necessarily
+	 *  required by all the constraints defined by that sql statement. We need
+	 *  to identify right privileges for right constraints for a given sql
+	 *  statement. Because of these differences between constraints and views
+	 *  (and triggers), there are 2 different methods in this class to save
+	 *  their privileges in the dependency system.  
+	 *
+	 *  @param activation The execution environment for this constant action.
+	 *  @param dependent Make this object depend on required privileges
+	 *
+	 * @exception StandardException		Thrown on failure
+	 */
+	protected void storeViewTriggerDependenciesOnPrivileges(
+			Activation activation, Dependent dependent)
+	throws StandardException
+	{
+		LanguageConnectionContext lcc = activation.getLanguageConnectionContext();
+		DataDictionary dd = lcc.getDataDictionary();
+		DependencyManager dm = dd.getDependencyManager();
+		
+		//If a dba is creating this view/triiger, then no need to collect any 
+		//privilege dependencies because a dba can access any objects without 
+		//any restrictions
+		if (!(lcc.getAuthorizationId().equals(dd.getAuthorizationDBA())))
+		{
+			PermissionsDescriptor permDesc;
+			List requiredPermissionsList = activation.getPreparedStatement().getRequiredPermissionsList();
+			if (requiredPermissionsList != null && ! requiredPermissionsList.isEmpty())
+			{
+				for(Iterator iter = requiredPermissionsList.iterator();iter.hasNext();)
+				{
+					StatementPermission statPerm = (StatementPermission) iter.next();
+					//The schema ownership permission just needs to be checked 
+					//at object creation time, to see if the object creator has 
+					//permissions to create the object in the specified schema. 
+					//But we don't need to add schema permission to list of 
+					//permissions that the object is dependent on once it is 
+					//created.
+					if (statPerm instanceof StatementSchemaPermission)
+						continue;
+					//See if we can find the required privilege for given authorizer?
+					permDesc = statPerm.getPermissionDescriptor(lcc.getAuthorizationId(), dd);				
+					if (permDesc == null)//privilege not found for given authorizer 
+					{
+						//The if condition above means that required privilege does 
+						//not exist at the user level. The privilege has to exist at 
+						//PUBLIC level.
+						permDesc = statPerm.getPermissionDescriptor(Authorizer.PUBLIC_AUTHORIZATION_ID, dd);
+						//If the user accessing the object is the owner of that 
+						//object, then no privilege tracking is needed for the
+						//owner.
+						if (!(permDesc.checkOwner(lcc.getAuthorizationId())))
+							dm.addDependency(dependent, permDesc, lcc.getContextManager());
+						continue;
+					}
+					//if the object on which permission is required is owned by the
+					//same user as the current user, then no need to keep that
+					//object's privilege dependency in the dependency system
+					if (!(permDesc.checkOwner(lcc.getAuthorizationId())))
+					{
+						dm.addDependency(dependent, permDesc, lcc.getContextManager());	           							
+						if (permDesc instanceof ColPermsDescriptor)
+						{
+							//For a given table, the table owner can give privileges
+							//on some columns at individual user level and privileges
+							//on some columns at PUBLIC level. Hence, when looking for
+							//column level privileges, we need to look both at user
+							//level as well as PUBLIC level(only if user level column
+							//privileges do not cover all the columns accessed by this
+							//object). We have finished adding dependency for user level 
+							//columns, now we are checking if some required column 
+							//level privileges are at PUBLIC level.
+							//A specific eg of a view
+							//user1
+							//create table t11(c11 int, c12 int);
+							//grant select(c11) on t1 to user2;
+							//grant select(c12) on t1 to PUBLIC;
+							//user2
+							//create view v1 as select c11 from user1.t11 where c12=2;
+							//For the view above, there are 2 column level privilege 
+							//depencies, one for column c11 which exists directly
+							//for user2 and one for column c12 which exists at PUBLIC level.
+							StatementColumnPermission statementColumnPermission = (StatementColumnPermission) statPerm;
+							permDesc = statementColumnPermission.getPUBLIClevelColPermsDescriptor(lcc.getAuthorizationId(), dd);
+							//Following if checks if some column level privileges
+							//exist only at public level. If so, then the public
+							//level column privilege dependency of view is added
+							//into dependency system.
+							if (permDesc != null)
+								dm.addDependency(dependent, permDesc, lcc.getContextManager());	           							
+						}
+					}
+				}
+			}
+			
+		}
 	}
 }
 

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/syscat.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/syscat.out?rev=420306&r1=420305&r2=420306&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/syscat.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/syscat.out Sun Jul  9 09:17:53 2006
@@ -153,11 +153,12 @@
 SYSCHECKS |CHECKDEFINITION |2 |LONG VARCHAR NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 SYSCHECKS |CONSTRAINTID |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 SYSCHECKS |REFERENCEDCOLUMNS |3 |org.apache.derby.catalog.ReferencedColumns NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
-SYSCOLPERMS |COLUMNS |5 |org.apache.derby.iapi.services.io.FormatableBitSet NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                         
-SYSCOLPERMS |GRANTEE |1 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
-SYSCOLPERMS |GRANTOR |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
-SYSCOLPERMS |TABLEID |3 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
-SYSCOLPERMS |TYPE |4 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSCOLPERMS |COLPERMSID |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+SYSCOLPERMS |COLUMNS |6 |org.apache.derby.iapi.services.io.FormatableBitSet NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                         
+SYSCOLPERMS |GRANTEE |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSCOLPERMS |GRANTOR |3 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSCOLPERMS |TABLEID |4 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+SYSCOLPERMS |TYPE |5 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 SYSCOLUMNS |AUTOINCREMENTINC |9 |BIGINT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
 SYSCOLUMNS |AUTOINCREMENTSTART |8 |BIGINT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
 SYSCOLUMNS |AUTOINCREMENTVALUE |7 |BIGINT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
@@ -203,10 +204,11 @@
 SYSREQUIREDPERM |OPERATOR |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 SYSREQUIREDPERM |OPERATORTYPE |2 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 SYSREQUIREDPERM |PERMTYPE |3 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSROUTINEPERMS |ALIASID |3 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
-SYSROUTINEPERMS |GRANTEE |1 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
-SYSROUTINEPERMS |GRANTOPTION |4 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSROUTINEPERMS |GRANTOR |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSROUTINEPERMS |ALIASID |4 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+SYSROUTINEPERMS |GRANTEE |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSROUTINEPERMS |GRANTOPTION |5 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSROUTINEPERMS |GRANTOR |3 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSROUTINEPERMS |ROUTINEPERMSID |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 SYSSCHEMAS |AUTHORIZATIONID |3 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 SYSSCHEMAS |SCHEMAID |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 SYSSCHEMAS |SCHEMANAME |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
@@ -227,15 +229,16 @@
 SYSSTATISTICS |TABLEID |3 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 SYSSTATISTICS |TYPE |5 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 SYSSTATISTICS |VALID |6 |BOOLEAN NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSTABLEPERMS |DELETEPRIV |5 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSTABLEPERMS |GRANTEE |1 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
-SYSTABLEPERMS |GRANTOR |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
-SYSTABLEPERMS |INSERTPRIV |6 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSTABLEPERMS |REFERENCESPRIV |8 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSTABLEPERMS |SELECTPRIV |4 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSTABLEPERMS |TABLEID |3 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
-SYSTABLEPERMS |TRIGGERPRIV |9 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSTABLEPERMS |UPDATEPRIV |7 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSTABLEPERMS |DELETEPRIV |6 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSTABLEPERMS |GRANTEE |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSTABLEPERMS |GRANTOR |3 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSTABLEPERMS |INSERTPRIV |7 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSTABLEPERMS |REFERENCESPRIV |9 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSTABLEPERMS |SELECTPRIV |5 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSTABLEPERMS |TABLEID |4 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+SYSTABLEPERMS |TABLEPERMSID |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+SYSTABLEPERMS |TRIGGERPRIV |10 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSTABLEPERMS |UPDATEPRIV |8 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 SYSTABLES |LOCKGRANULARITY |5 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 SYSTABLES |SCHEMAID |4 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 SYSTABLES |TABLEID |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
@@ -368,11 +371,12 @@
 SYSCHECKS |CHECKDEFINITION |2 |LONG VARCHAR NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 SYSCHECKS |CONSTRAINTID |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 SYSCHECKS |REFERENCEDCOLUMNS |3 |org.apache.derby.catalog.ReferencedColumns NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
-SYSCOLPERMS |COLUMNS |5 |org.apache.derby.iapi.services.io.FormatableBitSet NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                         
-SYSCOLPERMS |GRANTEE |1 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
-SYSCOLPERMS |GRANTOR |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
-SYSCOLPERMS |TABLEID |3 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
-SYSCOLPERMS |TYPE |4 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSCOLPERMS |COLPERMSID |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+SYSCOLPERMS |COLUMNS |6 |org.apache.derby.iapi.services.io.FormatableBitSet NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                         
+SYSCOLPERMS |GRANTEE |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSCOLPERMS |GRANTOR |3 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSCOLPERMS |TABLEID |4 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+SYSCOLPERMS |TYPE |5 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 SYSCOLUMNS |AUTOINCREMENTINC |9 |BIGINT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
 SYSCOLUMNS |AUTOINCREMENTSTART |8 |BIGINT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
 SYSCOLUMNS |AUTOINCREMENTVALUE |7 |BIGINT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
@@ -418,10 +422,11 @@
 SYSREQUIREDPERM |OPERATOR |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 SYSREQUIREDPERM |OPERATORTYPE |2 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 SYSREQUIREDPERM |PERMTYPE |3 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSROUTINEPERMS |ALIASID |3 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
-SYSROUTINEPERMS |GRANTEE |1 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
-SYSROUTINEPERMS |GRANTOPTION |4 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSROUTINEPERMS |GRANTOR |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSROUTINEPERMS |ALIASID |4 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+SYSROUTINEPERMS |GRANTEE |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSROUTINEPERMS |GRANTOPTION |5 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSROUTINEPERMS |GRANTOR |3 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSROUTINEPERMS |ROUTINEPERMSID |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 SYSSCHEMAS |AUTHORIZATIONID |3 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 SYSSCHEMAS |SCHEMAID |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 SYSSCHEMAS |SCHEMANAME |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
@@ -442,15 +447,16 @@
 SYSSTATISTICS |TABLEID |3 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 SYSSTATISTICS |TYPE |5 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 SYSSTATISTICS |VALID |6 |BOOLEAN NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSTABLEPERMS |DELETEPRIV |5 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSTABLEPERMS |GRANTEE |1 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
-SYSTABLEPERMS |GRANTOR |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
-SYSTABLEPERMS |INSERTPRIV |6 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSTABLEPERMS |REFERENCESPRIV |8 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSTABLEPERMS |SELECTPRIV |4 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSTABLEPERMS |TABLEID |3 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
-SYSTABLEPERMS |TRIGGERPRIV |9 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-SYSTABLEPERMS |UPDATEPRIV |7 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSTABLEPERMS |DELETEPRIV |6 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSTABLEPERMS |GRANTEE |2 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSTABLEPERMS |GRANTOR |3 |VARCHAR(128) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+SYSTABLEPERMS |INSERTPRIV |7 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSTABLEPERMS |REFERENCESPRIV |9 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSTABLEPERMS |SELECTPRIV |5 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSTABLEPERMS |TABLEID |4 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+SYSTABLEPERMS |TABLEPERMSID |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
+SYSTABLEPERMS |TRIGGERPRIV |10 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+SYSTABLEPERMS |UPDATEPRIV |8 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 SYSTABLES |LOCKGRANULARITY |5 |CHAR(1) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
 SYSTABLES |SCHEMAID |4 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
 SYSTABLES |TABLEID |1 |CHAR(36) NOT NULL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   



Mime
View raw message