db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suran Jayathilaka <suran...@gmail.com>
Subject Re: Generating UUIDs
Date Tue, 09 Jun 2009 20:12:44 GMT
Thanks Rick. That did the trick. The 3rd argument is a random Long, is it
not?

When running tests with my code changes, I get this exception. I've
highlighted the bit I think is important in this case.
The error is "row template is null for column[9]"
Column #9 is the "increment" value, which is a long (assuming the column
count here starts at 1 and not 0).

==========================================================
2009-06-09 19:40:18.434 GMT Thread[DRDAConnThread_3,5,derby.daemons] Cleanup
action starting
java.sql.SQLException: Failed to create database 'wombat', see the next
exception for details.
    at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:95)
    at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
    at org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:223)
    at
org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(EmbedConnection.java:2449)
    at
org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:396)
    at
org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:73)
    at
org.apache.derby.impl.jdbc.EmbedConnection40.<init>(EmbedConnection40.java:54)
    at
org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:68)
    at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:238)
    at
org.apache.derby.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:119)
    at org.apache.derby.impl.drda.Database.makeConnection(Database.java:248)
    at
org.apache.derby.impl.drda.DRDAConnThread.getConnFromDatabaseName(DRDAConnThread.java:1397)
    at
org.apache.derby.impl.drda.DRDAConnThread.verifyUserIdPassword(DRDAConnThread.java:1347)
    at
org.apache.derby.impl.drda.DRDAConnThread.parseSECCHK(DRDAConnThread.java:3198)
    at
org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(DRDAConnThread.java:1143)
    at
org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:948)
    at
org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:290)
Caused by: java.sql.SQLException: Failed to create database 'wombat', see
the next exception for details.
    at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
    at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:119)
    at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:70)
    ... 16 more
Caused by: java.sql.SQLException: Startup failed due to an exception. See
next exception for details.
    at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
    at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:119)
    at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:70)
    at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
    at org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:223)
    at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:398)
    at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346)
    at
org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2201)
    ... 14 more
Caused by: java.sql.SQLException: Java exception: 'ASSERT FAILED row
template is null for column[9].:
org.apache.derby.shared.common.sanity.AssertFailure'.
    at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
    at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:119)
    at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:70)
    at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
    at org.apache.derby.impl.jdbc.Util.javaException(Util.java:244)
    at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:403)
    ... 17 more
Caused by: org.apache.derby.shared.common.sanity.AssertFailure: ASSERT
FAILED row template is null for column[9].
    at
org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:162)
    at
org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:147)
 *   at
org.apache.derby.impl.store.access.conglomerate.ConglomerateUtil.createFormatIds(ConglomerateUtil.java:146)
    at org.apache.derby.impl.store.access.heap.Heap.create(Heap.java:298)
    at
org.apache.derby.impl.store.access.heap.HeapConglomerateFactory.createConglomerate(HeapConglomerateFactory.java:195)
    at
org.apache.derby.impl.store.access.RAMTransaction.createConglomerate(RAMTransaction.java:823)
    at
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createConglomerate(DataDictionaryImpl.java:8101)
    at
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.makeCatalog(DataDictionaryImpl.java:7275)
    at
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createDictionaryTables(DataDictionaryImpl.java:7134)
    at
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:725)
*
    at
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:2021)
    at
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291)
    at
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:573)
    at
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:427)
    at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:214)
    at
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:2021)
    at
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291)
    at
org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1858)
    at
org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(BaseMonitor.java:1044)
    at
org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Monitor.java:596)
    at
org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(EmbedConnection.java:2443)
    ... 13 more
=====================================================

This is thrown when DataDictionaryImpl is trying to create the SYSSequences
catalog. Where do I provide row templates for the catalog row columns?

Thanks!
Suran


On Tue, Jun 9, 2009 at 9:53 PM, Rick Hillegas <Richard.Hillegas@sun.com>wrote:

> Suran Jayathilaka wrote:
>
>> Hi,
>>
>> I want to generate a few UUIDs for the SYSSequences and SYSPerms Catalog
>> row factories which I'm adding as part of the sequence generators work.
>> I'm having some trouble with generating UUIDs using BasicUUIDFactory. I
>> tried following the T-UUIDFactory test but that didn't work becaue the
>> Monitor object was null.
>>
>> Can someone please point me in the right direction for achieveing this?
>>
>> Thanks!
>> Suran
>>
> Hi Suran,
>
> I suggest constructing a BasicUUID directly without going through the
> factory. Try the following:
>
> import org.apache.derby.impl.services.uuid.BasicUUID;
> public class UUIDMaker
> {
>   public static void main( String[] args )
>       throws Exception
>   {
>       BasicUUID uuid = new BasicUUID( Runtime.getRuntime().freeMemory(),
> System.currentTimeMillis(), (int) 2551218188L );
>
>       System.out.println( uuid );
>   }
> }
>
> Hope this helps,
> -Rick
>

Mime
View raw message