use of org.apache.derby.iapi.types.SQLVarchar in project derby by apache.
the class DataDictionaryImpl method dropConglomerateDescriptor.
/**
* Drops a conglomerate descriptor
*
* @param conglomerate The ConglomerateDescriptor for the conglomerate
* @param tc TransactionController for the transaction
*
* @exception StandardException Thrown on failure
*/
public void dropConglomerateDescriptor(ConglomerateDescriptor conglomerate, TransactionController tc) throws StandardException {
ExecIndexRow keyRow2 = null;
DataValueDescriptor nameOrderable;
DataValueDescriptor schemaIDOrderable = null;
TabInfoImpl ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
nameOrderable = new SQLVarchar(conglomerate.getConglomerateName());
schemaIDOrderable = getIDValueAsCHAR(conglomerate.getSchemaID());
/* Set up the start/stop position for the scan */
keyRow2 = (ExecIndexRow) exFactory.getIndexableRow(2);
keyRow2.setColumn(1, nameOrderable);
keyRow2.setColumn(2, schemaIDOrderable);
ti.deleteRow(tc, keyRow2, SYSCONGLOMERATESRowFactory.SYSCONGLOMERATES_INDEX2_ID);
}
use of org.apache.derby.iapi.types.SQLVarchar in project derby by apache.
the class DataDictionaryImpl method getAliasDescriptor.
/**
* Get a AliasDescriptor by alias name and name space.
* NOTE: caller responsible for handling no match.
*
* @param schemaId schema identifier
* @param aliasName The alias name.
* @param nameSpace The alias type.
*
* @return AliasDescriptor AliasDescriptor for the alias name and name space
*
* @exception StandardException Thrown on failure
*/
public AliasDescriptor getAliasDescriptor(String schemaId, String aliasName, char nameSpace) throws StandardException {
DataValueDescriptor aliasNameOrderable;
DataValueDescriptor nameSpaceOrderable;
TabInfoImpl ti = getNonCoreTI(SYSALIASES_CATALOG_NUM);
/* Use aliasNameOrderable and aliasTypeOrderable in both start
* and stop position for scan.
*/
aliasNameOrderable = new SQLVarchar(aliasName);
char[] charArray = new char[1];
charArray[0] = nameSpace;
nameSpaceOrderable = new SQLChar(new String(charArray));
/* Set up the start/stop position for the scan */
ExecIndexRow keyRow = exFactory.getIndexableRow(3);
keyRow.setColumn(1, new SQLChar(schemaId));
keyRow.setColumn(2, aliasNameOrderable);
keyRow.setColumn(3, nameSpaceOrderable);
return getDescriptorViaIndex(SYSALIASESRowFactory.SYSALIASES_INDEX1_ID, keyRow, (ScanQualifier[][]) null, ti, (TupleDescriptor) null, (List<TupleDescriptor>) null, AliasDescriptor.class, false);
}
use of org.apache.derby.iapi.types.SQLVarchar in project derby by apache.
the class DataDictionaryImpl method getSequenceDescriptor.
/**
* Get the sequence descriptor given a sequence name and a schema Id.
*
* @param sequenceName The sequence name, guaranteed to be unique only within its schema.
* @param sd The schema descriptor.
* @return The SequenceDescriptor for the constraints.
* @throws StandardException Thrown on failure
*/
public SequenceDescriptor getSequenceDescriptor(SchemaDescriptor sd, String sequenceName) throws StandardException {
DataValueDescriptor schemaIDOrderable;
DataValueDescriptor sequenceNameOrderable;
TabInfoImpl ti = getNonCoreTI(SYSSEQUENCES_CATALOG_NUM);
/* Use sequenceNameOrderable and schemaIdOrderable in both start
* and stop position for scan.
*/
sequenceNameOrderable = new SQLVarchar(sequenceName);
schemaIDOrderable = getIDValueAsCHAR(sd.getUUID());
/* Set up the start/stop position for the scan */
ExecIndexRow keyRow = exFactory.getIndexableRow(2);
keyRow.setColumn(1, schemaIDOrderable);
keyRow.setColumn(2, sequenceNameOrderable);
SequenceDescriptor sequenceDescriptor = getDescriptorViaIndex(SYSSEQUENCESRowFactory.SYSSEQUENCES_INDEX2_ID, keyRow, (ScanQualifier[][]) null, ti, (TupleDescriptor) null, (List<TupleDescriptor>) null, SequenceDescriptor.class, false);
putSequenceID(sequenceDescriptor);
return sequenceDescriptor;
}
use of org.apache.derby.iapi.types.SQLVarchar in project derby by apache.
the class DataDictionaryImpl method dropSchemaDescriptor.
/**
* Drop the descriptor for a schema, given the schema's name
*
* @param schemaName The name of the schema to drop
* @param tc TransactionController for the transaction
*
* @exception StandardException Thrown on error
*/
public void dropSchemaDescriptor(String schemaName, TransactionController tc) throws StandardException {
ExecIndexRow keyRow1 = null;
DataValueDescriptor schemaNameOrderable;
TabInfoImpl ti = coreInfo[SYSSCHEMAS_CORE_NUM];
if (SanityManager.DEBUG) {
SchemaDescriptor sd = getSchemaDescriptor(schemaName, getTransactionCompile(), true);
if (!isSchemaEmpty(sd)) {
SanityManager.THROWASSERT("Attempt to drop schema " + schemaName + " that is not empty");
}
}
/* Use schemaNameOrderable in both start
* and stop position for index 1 scan.
*/
schemaNameOrderable = new SQLVarchar(schemaName);
/* Set up the start/stop position for the scan */
keyRow1 = exFactory.getIndexableRow(1);
keyRow1.setColumn(1, schemaNameOrderable);
ti.deleteRow(tc, keyRow1, SYSSCHEMASRowFactory.SYSSCHEMAS_INDEX1_ID);
}
use of org.apache.derby.iapi.types.SQLVarchar in project derby by apache.
the class DataDictionaryImpl method getRoleGrantDescriptor.
/**
* Get the target role by searching for a matching row
* in SYSROLES by rolename, grantee and grantor. Read only scan.
* Uses index on roleid, grantee and grantor columns.
*
* @param roleName The name of the role we're interested in.
* @param grantee The grantee
* @param grantor The grantor
*
* @return The descriptor for the role grant
*
* @exception StandardException Thrown on error
*
* @see DataDictionary#getRoleGrantDescriptor(String, String, String)
*/
public RoleGrantDescriptor getRoleGrantDescriptor(String roleName, String grantee, String grantor) throws StandardException {
DataValueDescriptor roleNameOrderable;
DataValueDescriptor granteeOrderable;
DataValueDescriptor grantorOrderable;
TabInfoImpl ti = getNonCoreTI(SYSROLES_CATALOG_NUM);
/* Use aliasNameOrderable, granteeOrderable and
* grantorOrderable in both start and stop position for scan.
*/
roleNameOrderable = new SQLVarchar(roleName);
granteeOrderable = new SQLVarchar(grantee);
grantorOrderable = new SQLVarchar(grantor);
/* Set up the start/stop position for the scan */
ExecIndexRow keyRow = exFactory.getIndexableRow(3);
keyRow.setColumn(1, roleNameOrderable);
keyRow.setColumn(2, granteeOrderable);
keyRow.setColumn(3, grantorOrderable);
return getDescriptorViaIndex(SYSROLESRowFactory.SYSROLES_INDEX_ID_EE_OR_IDX, keyRow, (ScanQualifier[][]) null, ti, (TupleDescriptor) null, (List<TupleDescriptor>) null, RoleGrantDescriptor.class, false);
}
Aggregations