Class SYSTABLEPERMSRowFactory
- java.lang.Object
-
- org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
-
- org.apache.derby.impl.sql.catalog.PermissionsCatalogRowFactory
-
- org.apache.derby.impl.sql.catalog.SYSTABLEPERMSRowFactory
-
public class SYSTABLEPERMSRowFactory extends PermissionsCatalogRowFactory
Factory for creating a SYSTABLEPERMS row.
-
-
Field Summary
Fields Modifier and Type Field Description private static intCOLUMN_COUNTprivate static intDELETEPRIV_COL_NUMprivate static intGRANTEE_COL_NUMstatic intGRANTEE_COL_NUM_IN_GRANTEE_TABLE_GRANTOR_INDEXstatic intGRANTEE_TABLE_GRANTOR_INDEX_NUMprivate static intGRANTOR_COL_NUMprivate static int[][]indexColumnPositionsprivate static boolean[]indexUniquenessprivate static intINSERTPRIV_COL_NUMprivate static intREFERENCESPRIV_COL_NUMprivate static intSELECTPRIV_COL_NUMprivate static intTABLEID_COL_NUMstatic intTABLEID_INDEX_NUM(package private) static java.lang.StringTABLENAME_STRINGprivate static intTABLEPERMSID_COL_NUMstatic intTABLEPERMSID_INDEX_NUMprivate static intTRIGGERPRIV_COL_NUMprivate static intUPDATEPRIV_COL_NUMprivate static java.lang.String[]uuids-
Fields inherited from class org.apache.derby.iapi.sql.dictionary.CatalogRowFactory
dvf, heapUUID, indexNames, indexUUID, tableUUID
-
-
Constructor Summary
Constructors Constructor Description SYSTABLEPERMSRowFactory(UUIDFactory uuidf, ExecutionFactory ef, DataValueFactory dvf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SystemColumn[]buildColumnList()builds a column list for the catalogTupleDescriptorbuildDescriptor(ExecRow row, TupleDescriptor parentTuple, DataDictionary dataDictionary)builds a tuple descriptor from a rowExecIndexRowbuildIndexKeyRow(int indexNumber, PermissionsDescriptor perm)builds a 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)most subclasses should provide this method.private intorOnePermission(ExecRow row, boolean[] colsChanged, int column, java.lang.String permission)intorPermissions(ExecRow row, PermissionsDescriptor perm, boolean[] colsChanged)Or a set of permissions in with a row from this catalog tableprivate booleanremoveOnePermission(ExecRow row, boolean[] colsChanged, int column, java.lang.String permission)intremovePermissions(ExecRow row, PermissionsDescriptor perm, boolean[] colsChanged)Remove a set of permissions from a row from this catalog tablevoidsetUUIDOfThePassedDescriptor(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
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:CatalogRowFactorymost 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:
makeRowin classCatalogRowFactory- Throws:
StandardException
-
buildDescriptor
public TupleDescriptor buildDescriptor(ExecRow row, TupleDescriptor parentTuple, DataDictionary dataDictionary) throws StandardException
builds a tuple descriptor from a row- Specified by:
buildDescriptorin classCatalogRowFactory- Throws:
StandardException
-
buildColumnList
public SystemColumn[] buildColumnList() throws StandardException
builds a column list for the catalog- Specified by:
buildColumnListin classCatalogRowFactory- Throws:
StandardException
-
buildIndexKeyRow
public ExecIndexRow buildIndexKeyRow(int indexNumber, PermissionsDescriptor perm) throws StandardException
builds a 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
-
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:
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
-
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: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)
-
-