db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <Richard.Hille...@Sun.COM>
Subject Re: odd behavior of authorization id on the SYS schema
Date Tue, 05 Jan 2010 13:50:53 GMT
Thanks, Dag. Yes, that's what I see if I select from the SYSSCHEMAS 
catalog too. The problem isn't the on-disk representation of the SYS 
schema. The problem is the in memory SchemaDescriptor which lives in the 
system table descriptors in the DataDictionary. When I run outside the 
test framework, the SYS SchemaDescriptor has a correct authorizationID. 
But when I run a test case inside one of our JUnit tests, the SYS 
SchemaDescriptor has a null authorizationID.

Thanks,
-Rick

Dag H. Wanvik wrote:
> Rick Hillegas <Richard.Hillegas@Sun.COM> writes:
>
>
>
>   
>> I am seeing the following odd behavior:
>>
>> o When I run ij standalone, turning on authorization and
>> authentication, and look inside the schema descriptor for SYSTABLES, I
>> see that the authorization id is what I expect: It is the name of the
>> user who created the database. This is also what is stored in the
>> tuple for SYS in SYSSCHEMAS
>>
>> o But when I run an experiment inside a test case in the
>> GrantRevokeDDLTest junit test, although the SYS tuple in SYSSCHEMAS is
>> correct, there is a null authorization id in the schema descriptor for
>> SYSTABLES.
>>     
>
> Not sure what you are seeing, Rick. I inserted a new test case as the
> first and last test inside GrantRevokeDDLTest, see enclosure, and it
> looks ok to me, that is, I do not see a null authorization id (it is is
> that sems a bug to me):
>
> I added this as a first and last test:
>
>     public void testDag () throws SQLException {
>         Statement s = createStatement();
>         ResultSet rs = s.executeQuery("select * from sys.sysschemas");
>         while (rs.next()) {
>             System.out.println("schemaid: " + rs.getString(1) +
>                                " schemaName: " + rs.getString(2) +
>                                " authid: " + rs.getString(3));
>         }
>
>         rs = s.executeQuery("select * from sys.systables");
>
>         while (rs.next()) {
>             System.out.println("tableid: " + rs.getString(1) +
>                                " tableName: " + rs.getString(2) +
>                                " schemaid: " + rs.getString(4));
>         }
>         
>     }
>
> and saw this output:
>
> .schemaid: c013800d-00f8-5b53-28a9-00000019ed88 schemaName: SYSIBM authid: TEST_DBO
> schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900 schemaName: SYS authid: TEST_DBO
> schemaid: c013800d-00fb-2641-07ec-000000134f30 schemaName: SYSCAT authid: TEST_DBO
> schemaid: c013800d-00fb-2642-07ec-000000134f30 schemaName: SYSFUN authid: TEST_DBO
> schemaid: c013800d-00fb-2643-07ec-000000134f30 schemaName: SYSPROC authid: TEST_DBO
> schemaid: c013800d-00fb-2644-07ec-000000134f30 schemaName: SYSSTAT authid: TEST_DBO
> schemaid: c013800d-00fb-2647-07ec-000000134f30 schemaName: NULLID authid: TEST_DBO
> schemaid: c013800d-00fb-2648-07ec-000000134f30 schemaName: SQLJ authid: TEST_DBO
> schemaid: c013800d-00fb-2646-07ec-000000134f30 schemaName: SYSCS_DIAG authid: TEST_DBO
> schemaid: c013800d-00fb-2649-07ec-000000134f30 schemaName: SYSCS_UTIL authid: TEST_DBO
> schemaid: 80000000-00d2-b38f-4cda-000a0a412c00 schemaName: APP authid: APP
> tableid: 80000010-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSCONGLOMERATES schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 80000018-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSTABLES schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 8000001e-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSCOLUMNS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 80000022-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSSCHEMAS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 8000002f-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSCONSTRAINTS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 80000039-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSKEYS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 8000003e-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSDEPENDS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: c013800d-00d7-ddbd-08ce-000a0a411400 tableName: SYSALIASES schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 8000004d-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSVIEWS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 80000056-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSCHECKS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 8000005b-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSFOREIGNKEYS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 80000000-00d1-15f7-ab70-000a0a0b1500 tableName: SYSSTATEMENTS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 80000000-00d3-e222-873f-000a0a0b1900 tableName: SYSFILES schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: c013800d-00d7-c025-4809-000a0a411200 tableName: SYSTRIGGERS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: f81e0010-00e3-6612-5a96-009e3a3b5e00 tableName: SYSSTATISTICS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: c013800d-00f8-5b70-bea3-00000019ed88 tableName: SYSDUMMY1 schemaid: c013800d-00f8-5b53-28a9-00000019ed88
> tableid: b8450018-0103-0e39-b8e7-00000010f010 tableName: SYSTABLEPERMS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 286cc01e-0103-0e39-b8e7-00000010f010 tableName: SYSCOLPERMS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 2057c01b-0103-0e39-b8e7-00000010f010 tableName: SYSROUTINEPERMS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: e03f4017-0115-382c-08df-ffffe275b270 tableName: SYSROLES schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 9810800c-0121-c5e2-e794-00000043e718 tableName: SYSSEQUENCES schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 9810800c-0121-c5e1-a2f5-00000043e718 tableName: SYSPERMS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> .....schemaid: c013800d-00f8-5b53-28a9-00000019ed88 schemaName: SYSIBM authid: TEST_DBO
> schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900 schemaName: SYS authid: TEST_DBO
> schemaid: c013800d-00fb-2641-07ec-000000134f30 schemaName: SYSCAT authid: TEST_DBO
> schemaid: c013800d-00fb-2642-07ec-000000134f30 schemaName: SYSFUN authid: TEST_DBO
> schemaid: c013800d-00fb-2643-07ec-000000134f30 schemaName: SYSPROC authid: TEST_DBO
> schemaid: c013800d-00fb-2644-07ec-000000134f30 schemaName: SYSSTAT authid: TEST_DBO
> schemaid: c013800d-00fb-2647-07ec-000000134f30 schemaName: NULLID authid: TEST_DBO
> schemaid: c013800d-00fb-2648-07ec-000000134f30 schemaName: SQLJ authid: TEST_DBO
> schemaid: c013800d-00fb-2646-07ec-000000134f30 schemaName: SYSCS_DIAG authid: TEST_DBO
> schemaid: c013800d-00fb-2649-07ec-000000134f30 schemaName: SYSCS_UTIL authid: TEST_DBO
> schemaid: 80000000-00d2-b38f-4cda-000a0a412c00 schemaName: APP authid: APP
> schemaid: 8a16905c-0125-fdf6-12c5-ffffaa8cb81a schemaName: MAMTA1 authid: MAMTA1
> schemaid: 9cf91078-0125-fdf6-12c5-ffffaa8cb81a schemaName: MAMTA2 authid: MAMTA2
> schemaid: 36e4d0a3-0125-fdf6-12c5-ffffaa8cb81a schemaName: SESSION authid: TEST_DBO
> tableid: 80000010-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSCONGLOMERATES schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 80000018-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSTABLES schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 8000001e-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSCOLUMNS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 80000022-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSSCHEMAS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 8000002f-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSCONSTRAINTS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 80000039-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSKEYS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 8000003e-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSDEPENDS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: c013800d-00d7-ddbd-08ce-000a0a411400 tableName: SYSALIASES schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 8000004d-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSVIEWS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 80000056-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSCHECKS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 8000005b-00d0-fd77-3ed8-000a0a0b1900 tableName: SYSFOREIGNKEYS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 80000000-00d1-15f7-ab70-000a0a0b1500 tableName: SYSSTATEMENTS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 80000000-00d3-e222-873f-000a0a0b1900 tableName: SYSFILES schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: c013800d-00d7-c025-4809-000a0a411200 tableName: SYSTRIGGERS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: f81e0010-00e3-6612-5a96-009e3a3b5e00 tableName: SYSSTATISTICS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: c013800d-00f8-5b70-bea3-00000019ed88 tableName: SYSDUMMY1 schemaid: c013800d-00f8-5b53-28a9-00000019ed88
> tableid: b8450018-0103-0e39-b8e7-00000010f010 tableName: SYSTABLEPERMS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 286cc01e-0103-0e39-b8e7-00000010f010 tableName: SYSCOLPERMS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 2057c01b-0103-0e39-b8e7-00000010f010 tableName: SYSROUTINEPERMS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: e03f4017-0115-382c-08df-ffffe275b270 tableName: SYSROLES schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 9810800c-0121-c5e2-e794-00000043e718 tableName: SYSSEQUENCES schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 9810800c-0121-c5e1-a2f5-00000043e718 tableName: SYSPERMS schemaid: 8000000d-00d0-fd77-3ed8-000a0a0b1900
> tableid: 8b5fd0a6-0125-fdf6-12c5-ffffaa8cb81a tableName: T2 schemaid: 36e4d0a3-0125-fdf6-12c5-ffffaa8cb81a
>
> Time: 42.13
>
> OK (6 tests)
>   


Mime
View raw message