org.apache.derby.impl.sql.catalog
Class SYSTABLEPERMSRowFactory

java.lang.Object
  extended by org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
      extended by org.apache.derby.impl.sql.catalog.PermissionsCatalogRowFactory
          extended by org.apache.derby.impl.sql.catalog.SYSTABLEPERMSRowFactory

public class SYSTABLEPERMSRowFactory
extends PermissionsCatalogRowFactory

Factory for creating a SYSTABLEPERMS row.


Field Summary
private static int COLUMN_COUNT
           
private static int DELETEPRIV_COL_NUM
           
private static int GRANTEE_COL_NUM
           
static int GRANTEE_COL_NUM_IN_GRANTEE_TABLE_GRANTOR_INDEX
           
static int GRANTEE_TABLE_GRANTOR_INDEX_NUM
           
private static int GRANTOR_COL_NUM
           
private static int[][] indexColumnPositions
           
private static boolean[] indexUniqueness
           
private static int INSERTPRIV_COL_NUM
           
private static int REFERENCESPRIV_COL_NUM
           
private static int SELECTPRIV_COL_NUM
           
private static int TABLEID_COL_NUM
           
static int TABLEID_INDEX_NUM
           
(package private) static java.lang.String TABLENAME_STRING
           
private static int TABLEPERMSID_COL_NUM
           
static int TABLEPERMSID_INDEX_NUM
           
private static int TRIGGERPRIV_COL_NUM
           
private static int UPDATEPRIV_COL_NUM
           
private static java.lang.String[] uuids
           
 
Fields inherited from class org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
dvf, heapUUID, indexNames, indexUUID, tableUUID
 
Constructor Summary
SYSTABLEPERMSRowFactory(UUIDFactory uuidf, ExecutionFactory ef, DataValueFactory dvf)
           
 
Method Summary
 SystemColumn[] buildColumnList()
          builds a column list for the catalog
 TupleDescriptor buildDescriptor(ExecRow row, TupleDescriptor parentTuple, DataDictionary dataDictionary)
          builds a tuple descriptor from a row
 ExecIndexRow buildIndexKeyRow(int indexNumber, PermissionsDescriptor perm)
          builds a key row given for a given index number.
 int getPrimaryKeyIndexNumber()
          Get the index number for the primary key index on this catalog.
 ExecRow makeRow(TupleDescriptor td, TupleDescriptor parent)
          most subclasses should provide this method.
private  int orOnePermission(ExecRow row, boolean[] colsChanged, int column, java.lang.String permission)
           
 int orPermissions(ExecRow row, PermissionsDescriptor perm, boolean[] colsChanged)
          Or a set of permissions in with a row from this catalog table
private  boolean removeOnePermission(ExecRow row, boolean[] colsChanged, int column, java.lang.String permission)
           
 int removePermissions(ExecRow row, PermissionsDescriptor perm, boolean[] colsChanged)
          Remove a set of permissions from a row from this catalog table
 void setUUIDOfThePassedDescriptor(ExecRow row, PermissionsDescriptor perm)
          Set the uuid of the passed permission descriptor to the uuid of the row from the system table.
 
Methods inherited from class org.apache.derby.impl.sql.catalog.PermissionsCatalogRowFactory
getAuthorizationID, getAuthorizationID, getNullAuthorizationID
 
Methods inherited from class org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
generateIndexName, getCanonicalHeapName, getCanonicalHeapUUID, getCanonicalIndexUUID, getCanonicalTableUUID, getCatalogName, getCreateHeapProperties, getCreateIndexProperties, getDataValueFactory, getExecutionFactory, getHeapColumnCount, getIndexColumnCount, getIndexColumnPositions, getIndexName, getNumIndexes, getUUIDFactory, initInfo, isIndexUnique, makeEmptyRow
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TABLENAME_STRING

static final java.lang.String TABLENAME_STRING
See Also:
Constant Field Values

TABLEPERMSID_COL_NUM

private static final int TABLEPERMSID_COL_NUM
See Also:
Constant Field Values

GRANTEE_COL_NUM

private static final int GRANTEE_COL_NUM
See Also:
Constant Field Values

GRANTOR_COL_NUM

private static final int GRANTOR_COL_NUM
See Also:
Constant Field Values

TABLEID_COL_NUM

private static final int TABLEID_COL_NUM
See Also:
Constant Field Values

SELECTPRIV_COL_NUM

private static final int SELECTPRIV_COL_NUM
See Also:
Constant Field Values

DELETEPRIV_COL_NUM

private static final int DELETEPRIV_COL_NUM
See Also:
Constant Field Values

INSERTPRIV_COL_NUM

private static final int INSERTPRIV_COL_NUM
See Also:
Constant Field Values

UPDATEPRIV_COL_NUM

private static final int UPDATEPRIV_COL_NUM
See Also:
Constant Field Values

REFERENCESPRIV_COL_NUM

private static final int REFERENCESPRIV_COL_NUM
See Also:
Constant Field Values

TRIGGERPRIV_COL_NUM

private static final int TRIGGERPRIV_COL_NUM
See Also:
Constant Field Values

COLUMN_COUNT

private static final int COLUMN_COUNT
See Also:
Constant Field Values

GRANTEE_TABLE_GRANTOR_INDEX_NUM

public static final int GRANTEE_TABLE_GRANTOR_INDEX_NUM
See Also:
Constant Field Values

TABLEPERMSID_INDEX_NUM

public static final int TABLEPERMSID_INDEX_NUM
See Also:
Constant Field Values

TABLEID_INDEX_NUM

public static final int TABLEID_INDEX_NUM
See Also:
Constant Field Values

indexColumnPositions

private static final int[][] indexColumnPositions

GRANTEE_COL_NUM_IN_GRANTEE_TABLE_GRANTOR_INDEX

public static final int GRANTEE_COL_NUM_IN_GRANTEE_TABLE_GRANTOR_INDEX
See Also:
Constant Field Values

indexUniqueness

private static final boolean[] indexUniqueness

uuids

private static final java.lang.String[] uuids
Constructor Detail

SYSTABLEPERMSRowFactory

SYSTABLEPERMSRowFactory(UUIDFactory uuidf,
                        ExecutionFactory ef,
                        DataValueFactory dvf)
Method Detail

makeRow

public ExecRow makeRow(TupleDescriptor td,
                       TupleDescriptor parent)
                throws StandardException
Description copied from class: CatalogRowFactory
most subclasses should provide this method. One or two oddball cases in Replication and SysSTATEMENTSRowFactory don't. For those we call makeRow with the additional arguments.

Overrides:
makeRow in class CatalogRowFactory
Throws:
StandardException

buildDescriptor

public TupleDescriptor buildDescriptor(ExecRow row,
                                       TupleDescriptor parentTuple,
                                       DataDictionary dataDictionary)
                                throws StandardException
builds a tuple descriptor from a row

Specified by:
buildDescriptor in class CatalogRowFactory
Throws:
StandardException

buildColumnList

public SystemColumn[] buildColumnList()
                               throws StandardException
builds a column list for the catalog

Specified by:
buildColumnList in class CatalogRowFactory
Throws:
StandardException

buildIndexKeyRow

public ExecIndexRow buildIndexKeyRow(int indexNumber,
                                     PermissionsDescriptor perm)
                              throws StandardException
builds a key row given for a given index number.

Specified by:
buildIndexKeyRow in class PermissionsCatalogRowFactory
perm - a permission descriptor of the appropriate class for this PermissionsCatalogRowFactory class.
Throws:
StandardException - standard error policy

getPrimaryKeyIndexNumber

public int getPrimaryKeyIndexNumber()
Description copied from class: CatalogRowFactory
Get the index number for the primary key index on this catalog.

Overrides:
getPrimaryKeyIndexNumber in class CatalogRowFactory
Returns:
a 0-based number

orPermissions

public int orPermissions(ExecRow row,
                         PermissionsDescriptor perm,
                         boolean[] colsChanged)
                  throws StandardException
Or a set of permissions in with a row from this catalog table

Specified by:
orPermissions in class PermissionsCatalogRowFactory
Parameters:
row - an existing row
perm - a permission descriptor of the appropriate class for this PermissionsCatalogRowFactory class.
colsChanged - An array with one element for each column in row. It is updated to indicate which columns in row were changed
Returns:
The number of columns that were changed.
Throws:
StandardException - standard error policy

orOnePermission

private int orOnePermission(ExecRow row,
                            boolean[] colsChanged,
                            int column,
                            java.lang.String permission)
                     throws StandardException
Throws:
StandardException

removePermissions

public int removePermissions(ExecRow row,
                             PermissionsDescriptor perm,
                             boolean[] colsChanged)
                      throws StandardException
Remove a set of permissions from a row from this catalog table

Specified by:
removePermissions in class PermissionsCatalogRowFactory
Parameters:
row - an existing row
perm - a permission descriptor of the appropriate class for this PermissionsCatalogRowFactory class.
colsChanged - An array with one element for each column in row. It is updated to indicate which columns in row were changed
Returns:
-1 if there are no permissions left in the row, otherwise the number of columns that were changed.
Throws:
StandardException - standard error policy

removeOnePermission

private boolean removeOnePermission(ExecRow row,
                                    boolean[] colsChanged,
                                    int column,
                                    java.lang.String permission)
                             throws StandardException
Throws:
StandardException

setUUIDOfThePassedDescriptor

public void setUUIDOfThePassedDescriptor(ExecRow row,
                                         PermissionsDescriptor perm)
                                  throws StandardException
Description copied from class: PermissionsCatalogRowFactory
Set the uuid of the passed permission descriptor to the uuid of the row from the system table. DataDictionary will make this call before calling the dependency manager to send invalidation messages to the objects dependent on the permission descriptor's uuid.

Specified by:
setUUIDOfThePassedDescriptor in class PermissionsCatalogRowFactory
Parameters:
row - The row from the system table for the passed permission descriptor
perm - Permission descriptor
Throws:
StandardException
See Also:
PermissionsCatalogRowFactory.setUUIDOfThePassedDescriptor(org.apache.derby.iapi.sql.execute.ExecRow, org.apache.derby.iapi.sql.dictionary.PermissionsDescriptor)

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.