~ubuntu-branches/ubuntu/maverick/hsqldb/maverick

« back to all changes in this revision

Viewing changes to src/org/hsqldb/DatabaseInformationFull.java

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2006-09-26 11:47:49 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20060926114749-3jd0utm7w21x1iqt
Tags: 1.8.0.5-2ubuntu1
* Synchronise with Debian unstable; remaining changes:
  - build using java-gcj-compat.
* libhsqldb-java: Add gij as alternative dependency.
* Build a libhsqldb-java-gcj package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (c) 2001-2005, The HSQL Development Group
2
 
 * All rights reserved.
3
 
 *
4
 
 * Redistribution and use in source and binary forms, with or without
5
 
 * modification, are permitted provided that the following conditions are met:
6
 
 *
7
 
 * Redistributions of source code must retain the above copyright notice, this
8
 
 * list of conditions and the following disclaimer.
9
 
 *
10
 
 * Redistributions in binary form must reproduce the above copyright notice,
11
 
 * this list of conditions and the following disclaimer in the documentation
12
 
 * and/or other materials provided with the distribution.
13
 
 *
14
 
 * Neither the name of the HSQL Development Group nor the names of its
15
 
 * contributors may be used to endorse or promote products derived from this
16
 
 * software without specific prior written permission.
17
 
 *
18
 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
 
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
 
 * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
22
 
 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23
 
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
 
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
 
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26
 
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
 
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 
 */
30
 
 
31
 
 
 
1
/* Copyright (c) 2001-2005, The HSQL Development Group
 
2
 * All rights reserved.
 
3
 *
 
4
 * Redistribution and use in source and binary forms, with or without
 
5
 * modification, are permitted provided that the following conditions are met:
 
6
 *
 
7
 * Redistributions of source code must retain the above copyright notice, this
 
8
 * list of conditions and the following disclaimer.
 
9
 *
 
10
 * Redistributions in binary form must reproduce the above copyright notice,
 
11
 * this list of conditions and the following disclaimer in the documentation
 
12
 * and/or other materials provided with the distribution.
 
13
 *
 
14
 * Neither the name of the HSQL Development Group nor the names of its
 
15
 * contributors may be used to endorse or promote products derived from this
 
16
 * software without specific prior written permission.
 
17
 *
 
18
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 
19
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
20
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
21
 * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
 
22
 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 
23
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 
24
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 
25
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 
26
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 
28
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
29
 */
 
30
 
 
31
 
32
32
package org.hsqldb;
33
33
 
34
34
import java.lang.reflect.Method;
436
436
        while (tables.hasNext()) {
437
437
            table = (Table) tables.next();
438
438
 
439
 
            if (table.isCached() && isAccessibleTable(table)) {
 
439
            if (table.isFileBased() && isAccessibleTable(table)) {
440
440
                cache = table.getCache();
441
441
 
442
442
                if (cache != null) {
449
449
 
450
450
        // Do it.
451
451
        while (caches.hasNext()) {
452
 
            cache      = (DataFileCache) caches.next();
453
 
            row        = t.getEmptyRowData();
454
 
            iFreeBytes = 0;
 
452
            cache = (DataFileCache) caches.next();
 
453
            row   = t.getEmptyRowData();
455
454
            row[icache_file] =
456
455
                FileUtil.canonicalOrAbsolutePath(cache.getFileName());
457
456
            row[imax_cache_sz]    = ValuePool.getInt(cache.capacity());
550
549
        final int iis_grntbl = 6;
551
550
 
552
551
        // Initialization
553
 
        grantorName = GranteeManager.ADMIN_ROLE_NAME;
 
552
        grantorName = GranteeManager.DBA_ADMIN_ROLE_NAME;
554
553
        um          = database.getUserManager();
555
554
        users       = um.listVisibleUsers(session, true);
556
555
 
916
915
        row[iclass] = "boolean";
917
916
 
918
917
        t.insertSys(row);
919
 
 
920
918
        t.setDataReadOnly(true);
921
919
 
922
920
        return t;
1275
1273
        // - used appends to make class file constant pool smaller
1276
1274
        // - saves ~ 100 bytes jar space
1277
1275
        rs = session.sqlExecuteDirectNoPreChecks(
 
1276
            "select a.TRIGGER_CAT,a.TRIGGER_SCHEM,a.TRIGGER_NAME, "
 
1277
            + "a.TABLE_CAT,a.TABLE_SCHEM,a.TABLE_NAME,b.COLUMN_NAME,'Y',"
 
1278
            + "'IN' from INFORMATION_SCHEMA.SYSTEM_TRIGGERS a, "
 
1279
            + "INFORMATION_SCHEMA.SYSTEM_COLUMNS b where "
 
1280
            + "a.TABLE_NAME=b.TABLE_NAME and a.TABLE_SCHEM=b.TABLE_SCHEM");
 
1281
 
 
1282
/*
1278
1283
            (new StringBuffer(185)).append("SELECT").append(' ').append(
1279
1284
                "a.").append("TRIGGER_CAT").append(',').append("a.").append(
1280
1285
                "TRIGGER_SCHEM").append(',').append("a.").append(
1289
1294
                "INFORMATION_SCHEMA").append('.').append(
1290
1295
                "SYSTEM_COLUMNS").append(" b ").append("where").append(
1291
1296
                ' ').append("a.").append("TABLE_NAME").append('=').append(
1292
 
                "b.").append("TABLE_NAME").toString());
1293
 
 
 
1297
                "b.").append("TABLE_NAME").toString();
 
1298
*/
1294
1299
        t.insertSys(rs);
1295
1300
        t.setDataReadOnly(true);
1296
1301
 
3772
3777
            while (roles.hasNext()) {
3773
3778
                row      = t.getEmptyRowData();
3774
3779
                roleName = (String) roles.next();
3775
 
                isGrantable = grantee.hasRole(GranteeManager.ADMIN_ROLE_NAME)
3776
 
                              ? "YES"
3777
 
                              : "NO";
 
3780
                isGrantable =
 
3781
                    grantee.hasRole(GranteeManager.DBA_ADMIN_ROLE_NAME)
 
3782
                    ? "YES"
 
3783
                    : "NO";
3778
3784
                row[irole]      = roleName;
3779
3785
                row[igrantee]   = granteeName;
3780
3786
                row[igrantor]   = grantorName;
3884
3890
 
3885
3891
        Iterator  schemas;
3886
3892
        String    schema;
3887
 
        String    schemaOwner = GranteeManager.ADMIN_ROLE_NAME;
 
3893
        String    schemaOwner = GranteeManager.DBA_ADMIN_ROLE_NAME;
3888
3894
        String    dcsSchema   = SchemaManager.INFORMATION_SCHEMA;
3889
3895
        String    dcsName     = ValuePool.getString("UTF16");
3890
3896
        String    sqlPath     = null;