Class SYSPERMSRowFactory
- java.lang.Object
-
- org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
-
- org.apache.derby.impl.sql.catalog.PermissionsCatalogRowFactory
-
- org.apache.derby.impl.sql.catalog.SYSPERMSRowFactory
-
public class SYSPERMSRowFactory extends PermissionsCatalogRowFactory
Factory for creating a SYSPERMS row.
-
-
Field Summary
Fields Modifier and Type Field Description static intGRANTEE_OBJECTID_GRANTOR_INDEX_NUMprivate static int[][]indexColumnPositionsstatic intPERMS_OBJECTID_IDX_NUMstatic intPERMS_UUID_IDX_NUMprivate static intSYSPERMS_COLUMN_COUNTprivate static intSYSPERMS_GRANTEEprivate static intSYSPERMS_GRANTORprivate static intSYSPERMS_IS_GRANTABLEprivate static intSYSPERMS_OBJECTIDprivate static intSYSPERMS_OBJECTTYPEprivate static intSYSPERMS_PERMISSIONprivate static intSYSPERMS_PERMISSIONIDprivate static java.lang.StringTABLENAME_STRINGprivate static boolean[]uniquenessprivate static java.lang.String[]uuids-
Fields inherited from class org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
dvf, heapUUID, indexNames, indexUniqueness, indexUUID, tableUUID
-
-
Constructor Summary
Constructors Constructor Description SYSPERMSRowFactory(UUIDFactory uuidf, ExecutionFactory ef, DataValueFactory dvf)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SystemColumn[]buildColumnList()Builds a list of columns suitable for creating this Catalog.TupleDescriptorbuildDescriptor(ExecRow row, TupleDescriptor parentTupleDescriptor, DataDictionary dd)Make an Tuple Descriptor out of a SYSPERMS rowExecIndexRowbuildIndexKeyRow(int indexNumber, PermissionsDescriptor perm)builds an index key row given for a given index number.intgetPrimaryKeyIndexNumber()Get the index number for the primary key index on this catalog.ExecRowmakeRow(TupleDescriptor td, TupleDescriptor parent)Make a SYSPERMS rowintorPermissions(ExecRow row, PermissionsDescriptor perm, boolean[] colsChanged)Or a set of permissions in with a row from this catalog tableintremovePermissions(ExecRow row, PermissionsDescriptor perm, boolean[] colsChanged)Remove a set of permissions from a row from this catalog table(package private) voidsetUUIDOfThePassedDescriptor(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, makeEmptyRowForCurrentVersion
-
-
-
-
Field Detail
-
TABLENAME_STRING
private static final java.lang.String TABLENAME_STRING
- See Also:
- Constant Field Values
-
SYSPERMS_COLUMN_COUNT
private static final int SYSPERMS_COLUMN_COUNT
- See Also:
- Constant Field Values
-
SYSPERMS_PERMISSIONID
private static final int SYSPERMS_PERMISSIONID
- See Also:
- Constant Field Values
-
SYSPERMS_OBJECTTYPE
private static final int SYSPERMS_OBJECTTYPE
- See Also:
- Constant Field Values
-
SYSPERMS_OBJECTID
private static final int SYSPERMS_OBJECTID
- See Also:
- Constant Field Values
-
SYSPERMS_PERMISSION
private static final int SYSPERMS_PERMISSION
- See Also:
- Constant Field Values
-
SYSPERMS_GRANTOR
private static final int SYSPERMS_GRANTOR
- See Also:
- Constant Field Values
-
SYSPERMS_GRANTEE
private static final int SYSPERMS_GRANTEE
- See Also:
- Constant Field Values
-
SYSPERMS_IS_GRANTABLE
private static final int SYSPERMS_IS_GRANTABLE
- See Also:
- Constant Field Values
-
indexColumnPositions
private static final int[][] indexColumnPositions
-
PERMS_UUID_IDX_NUM
public static final int PERMS_UUID_IDX_NUM
- See Also:
- Constant Field Values
-
PERMS_OBJECTID_IDX_NUM
public static final int PERMS_OBJECTID_IDX_NUM
- See Also:
- Constant Field Values
-
GRANTEE_OBJECTID_GRANTOR_INDEX_NUM
public static final int GRANTEE_OBJECTID_GRANTOR_INDEX_NUM
- See Also:
- Constant Field Values
-
uniqueness
private static final boolean[] uniqueness
-
uuids
private static final java.lang.String[] uuids
-
-
Constructor Detail
-
SYSPERMSRowFactory
SYSPERMSRowFactory(UUIDFactory uuidf, ExecutionFactory ef, DataValueFactory dvf)
Constructor- Parameters:
uuidf- UUIDFactoryef- ExecutionFactorydvf- DataValueFactory
-
-
Method Detail
-
buildIndexKeyRow
public ExecIndexRow buildIndexKeyRow(int indexNumber, PermissionsDescriptor perm) throws StandardException
builds an index key row given for a given index number.- Specified by:
buildIndexKeyRowin classPermissionsCatalogRowFactoryperm- a permission descriptor of the appropriate class for this PermissionsCatalogRowFactory class.- Throws:
StandardException- standard error policy
-
getPrimaryKeyIndexNumber
public int getPrimaryKeyIndexNumber()
Description copied from class:CatalogRowFactoryGet the index number for the primary key index on this catalog.- Overrides:
getPrimaryKeyIndexNumberin classCatalogRowFactory- 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:
orPermissionsin classPermissionsCatalogRowFactory- Parameters:
row- an existing rowperm- 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
-
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:
removePermissionsin classPermissionsCatalogRowFactory- Parameters:
row- an existing rowperm- 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
-
setUUIDOfThePassedDescriptor
void setUUIDOfThePassedDescriptor(ExecRow row, PermissionsDescriptor perm) throws StandardException
Description copied from class:PermissionsCatalogRowFactorySet 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:
setUUIDOfThePassedDescriptorin classPermissionsCatalogRowFactory- Parameters:
row- The row from the system table for the passed permission descriptorperm- Permission descriptor- Throws:
StandardException- See Also:
PermissionsCatalogRowFactory.setUUIDOfThePassedDescriptor(org.apache.derby.iapi.sql.execute.ExecRow, org.apache.derby.iapi.sql.dictionary.PermissionsDescriptor)
-
makeRow
public ExecRow makeRow(TupleDescriptor td, TupleDescriptor parent) throws StandardException
Make a SYSPERMS row- Overrides:
makeRowin classCatalogRowFactory- Parameters:
td- a permission descriptorparent- unused- Returns:
- Row suitable for inserting into SYSPERMS.
- Throws:
StandardException- thrown on failure
-
buildDescriptor
public TupleDescriptor buildDescriptor(ExecRow row, TupleDescriptor parentTupleDescriptor, DataDictionary dd) throws StandardException
Make an Tuple Descriptor out of a SYSPERMS row- Specified by:
buildDescriptorin classCatalogRowFactory- Parameters:
row- a SYSPERMS rowparentTupleDescriptor- unuseddd- dataDictionary- Returns:
- a descriptor equivalent to a SYSPERMS row
- Throws:
StandardException- thrown on failure
-
buildColumnList
public SystemColumn[] buildColumnList() throws StandardException
Builds a list of columns suitable for creating this Catalog.- Specified by:
buildColumnListin classCatalogRowFactory- Returns:
- array of SystemColumn suitable for making this catalog.
- Throws:
StandardException
-
-