本文整理汇总了Java中org.hsqldb.RoutineSchema类的典型用法代码示例。如果您正苦于以下问题:Java RoutineSchema类的具体用法?Java RoutineSchema怎么用?Java RoutineSchema使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RoutineSchema类属于org.hsqldb包,在下文中一共展示了RoutineSchema类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: grant
import org.hsqldb.RoutineSchema; //导入依赖的package包/类
/**
* Grants the rights represented by the rights argument on
* the database object identified by the dbobject argument
* to the Grantee object identified by name argument.<p>
*
* Note: For the dbobject argument, Java Class objects are identified
* using a String object whose value is the fully qualified name
* of the Class, while Table and other objects are
* identified by an HsqlName object. A Table
* object identifier must be precisely the one obtained by calling
* table.getName(); if a different HsqlName
* object with an identical name attribute is specified, then
* rights checks and tests will fail, since the HsqlName
* class implements its {@link HsqlName#hashCode hashCode} and
* {@link HsqlName#equals equals} methods based on pure object
* identity, rather than on attribute values. <p>
*/
public void grant(OrderedHashSet granteeList, SchemaObject dbObject,
Right right, Grantee grantor, boolean withGrantOption) {
if (dbObject instanceof RoutineSchema) {
SchemaObject[] routines =
((RoutineSchema) dbObject).getSpecificRoutines();
grant(granteeList, routines, right, grantor, withGrantOption);
return;
}
HsqlName name = dbObject.getName();
if (dbObject instanceof Routine) {
name = ((Routine) dbObject).getSpecificName();
}
if (!grantor.isGrantable(dbObject, right)) {
throw Error.error(ErrorCode.X_0L000,
grantor.getName().getNameString());
}
if (grantor.isAdmin()) {
grantor = dbObject.getOwner();
}
checkGranteeList(granteeList);
for (int i = 0; i < granteeList.size(); i++) {
Grantee grantee = get((String) granteeList.get(i));
grantee.grant(name, right, grantor, withGrantOption);
if (grantee.isRole) {
updateAllRights(grantee);
}
}
}
示例2: grant
import org.hsqldb.RoutineSchema; //导入依赖的package包/类
/**
* Grants the rights represented by the rights argument on
* the database object identified by the dbobject argument
* to the Grantee object identified by name argument.<p>
*
* Note: For the dbobject argument, Java Class objects are identified
* using a String object whose value is the fully qualified name
* of the Class, while Table and other objects are
* identified by an HsqlName object. A Table
* object identifier must be precisely the one obtained by calling
* table.getName(); if a different HsqlName
* object with an identical name attribute is specified, then
* rights checks and tests will fail, since the HsqlName
* class implements its {@link HsqlName#hashCode hashCode} and
* {@link HsqlName#equals equals} methods based on pure object
* identity, rather than on attribute values. <p>
*/
public void grant(Session session, OrderedHashSet granteeList,
SchemaObject dbObject, Right right, Grantee grantor,
boolean withGrantOption) {
if (dbObject instanceof RoutineSchema) {
SchemaObject[] routines =
((RoutineSchema) dbObject).getSpecificRoutines();
grant(session, granteeList, routines, right, grantor,
withGrantOption);
return;
}
HsqlName name = dbObject.getName();
if (dbObject instanceof Routine) {
name = ((Routine) dbObject).getSpecificName();
}
if (!grantor.isAccessible(dbObject)) {
throw Error.error(ErrorCode.X_0L000,
grantor.getName().getNameString());
}
if (!grantor.isGrantable(dbObject, right)) {
session.addWarning(Error.error(ErrorCode.W_01007,
grantor.getName().getNameString()));
return;
}
if (grantor.isAdmin()) {
grantor = dbObject.getOwner();
}
checkGranteeList(granteeList);
for (int i = 0; i < granteeList.size(); i++) {
Grantee grantee = get((String) granteeList.get(i));
grantee.grant(name, right, grantor, withGrantOption);
if (grantee.isRole) {
updateAllRights(grantee);
}
}
}
示例3: ROUTINE_JAR_USAGE
import org.hsqldb.RoutineSchema; //导入依赖的package包/类
Table ROUTINE_JAR_USAGE() {
Table t = sysTables[ROUTINE_JAR_USAGE];
if (t == null) {
t = createBlankTable(sysTableHsqlNames[ROUTINE_JAR_USAGE]);
addColumn(t, "SPECIFIC_CATALOG", SQL_IDENTIFIER);
addColumn(t, "SPECIFIC_SCHEMA", SQL_IDENTIFIER);
addColumn(t, "SPECIFIC_NAME", SQL_IDENTIFIER);
addColumn(t, "JAR_CATALOG", SQL_IDENTIFIER);
addColumn(t, "JAR_SCHEMA", SQL_IDENTIFIER);
addColumn(t, "JAR_NAME", SQL_IDENTIFIER);
HsqlName name = HsqlNameManager.newInfoSchemaObjectName(
sysTableHsqlNames[ROUTINE_JAR_USAGE].name, false,
SchemaObject.INDEX);
t.createPrimaryKey(name, new int[] {
0, 1, 2, 3, 4, 5
}, false);
return t;
}
// column number mappings
final int specific_catalog = 0;
final int specific_schema = 1;
final int specific_name = 2;
final int jar_catalog = 3;
final int jar_schema = 4;
final int jar_name = 5;
//
Iterator it;
Object[] row;
PersistentStore store = database.persistentStoreCollection.getStore(t);
it = database.schemaManager.databaseObjectIterator(
SchemaObject.ROUTINE);
while (it.hasNext()) {
RoutineSchema routine = (RoutineSchema) it.next();
if (!session.getGrantee().isAccessible(routine)) {
continue;
}
Routine[] specifics = routine.getSpecificRoutines();
for (int m = 0; m < specifics.length; m++) {
if (specifics[m].getLanguage() != Routine.LANGUAGE_JAVA) {
continue;
}
row = t.getEmptyRowData();
row[specific_catalog] = database.getCatalogName().name;
row[specific_schema] = routine.getSchemaName().name;
row[specific_name] = routine.getName().name;
row[jar_catalog] = database.getCatalogName().name;
row[jar_schema] =
database.schemaManager.getSQLJSchemaHsqlName();
row[jar_name] = "CLASSPATH";
t.insertSys(store, row);
}
}
return t;
}
示例4: ROUTINE_SEQUENCE_USAGE
import org.hsqldb.RoutineSchema; //导入依赖的package包/类
Table ROUTINE_SEQUENCE_USAGE() {
Table t = sysTables[ROUTINE_SEQUENCE_USAGE];
if (t == null) {
t = createBlankTable(sysTableHsqlNames[ROUTINE_SEQUENCE_USAGE]);
addColumn(t, "SPECIFIC_CATALOG", SQL_IDENTIFIER);
addColumn(t, "SPECIFIC_SCHEMA", SQL_IDENTIFIER);
addColumn(t, "SPECIFIC_NAME", SQL_IDENTIFIER);
addColumn(t, "SEQUENCE_CATALOG", SQL_IDENTIFIER);
addColumn(t, "SEQUENCE_SCHEMA", SQL_IDENTIFIER);
addColumn(t, "SEQUENCE_NAME", SQL_IDENTIFIER);
HsqlName name = HsqlNameManager.newInfoSchemaObjectName(
sysTableHsqlNames[ROUTINE_SEQUENCE_USAGE].name, false,
SchemaObject.INDEX);
t.createPrimaryKey(name, new int[] {
0, 1, 2, 3, 4, 5
}, false);
return t;
}
// column number mappings
final int specific_catalog = 0;
final int specific_schema = 1;
final int specific_name = 2;
final int sequence_catalog = 3;
final int sequence_schema = 4;
final int sequence_name = 5;
//
PersistentStore store = database.persistentStoreCollection.getStore(t);
Iterator it;
Object[] row;
it = database.schemaManager.databaseObjectIterator(
SchemaObject.ROUTINE);
while (it.hasNext()) {
RoutineSchema routine = (RoutineSchema) it.next();
if (!session.getGrantee().isAccessible(routine)) {
continue;
}
Routine[] specifics = routine.getSpecificRoutines();
for (int m = 0; m < specifics.length; m++) {
OrderedHashSet set = specifics[m].getReferences();
for (int i = 0; i < set.size(); i++) {
HsqlName refName = (HsqlName) set.get(i);
if (refName.type != SchemaObject.SEQUENCE) {
continue;
}
if (!session.getGrantee().isAccessible(refName)) {
continue;
}
row = t.getEmptyRowData();
row[specific_catalog] = database.getCatalogName().name;
row[specific_schema] = specifics[m].getSchemaName().name;
row[specific_name] = specifics[m].getName().name;
row[sequence_catalog] = database.getCatalogName().name;
row[sequence_schema] = refName.schema.name;
row[sequence_name] = refName.name;
try {
t.insertSys(store, row);
} catch (HsqlException e) {}
}
}
}
return t;
}