• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java RoutineSchema类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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);
        }
    }
}
 
开发者ID:Julien35,项目名称:dev-courses,代码行数:57,代码来源:GranteeManager.java


示例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);
        }
    }
}
 
开发者ID:tiweGH,项目名称:OpenDiabetes,代码行数:66,代码来源:GranteeManager.java


示例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;
    }
 
开发者ID:s-store,项目名称:sstore-soft,代码行数:71,代码来源:DatabaseInformationFull.java


示例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;
    }
 
开发者ID:s-store,项目名称:sstore-soft,代码行数:82,代码来源:DatabaseInformationFull.java



注:本文中的org.hsqldb.RoutineSchema类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Proxy类代码示例发布时间:2022-05-22
下一篇:
Java PKIBody类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap