db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <Richard.Hille...@Sun.COM>
Subject Re: Hibernate + Derby - Unable to determine stream header for hibernate type 'text'
Date Tue, 23 Jun 2009 17:47:45 GMT
Hi Kashyup,

At the risk of being pedantic, I just wanted to point out that Kristian 
has posted a candidate fix but he hasn't checked it in yet. It would be 
great if you could take the fix for a test-drive and let us know if it 
solves your problem. You will need to do the following:

1) Check out the trunk using subversion.

2) Apply Kristian's fix using the "patch" utility.

3) Build the code.

If you need help figuring out how to do this, let us know.

Thanks,
-Rick

kashyup wrote:
> Hi Kristian,
> Looking at the jira:  https://issues.apache.org/jira/browse/DERBY-4278
> https://issues.apache.org/jira/browse/DERBY-4278 
> seems like you have fixed the issue.
>
> Previously I downloaded Derby 10.5.1.1
>
> What would be the best way to get this fix? Should I do a check out from the
> Development Trunk?
>
> thanks
>
> Kashyup
>
>
>
>
> Kristian Waagan-4 wrote:
>   
>> kashyup wrote:
>>     
>>> Hello all,
>>> We have just started to look into Derby as our embedded DB for a desktop
>>> app
>>> version.
>>>
>>> Env: Hibernate 3.2 and Derby 10.5.1
>>>
>>> I have defined a java string field of type 'text' in Hibernate Mapping
>>> (works great on Postgres 8.1 and Oracle 10g)
>>>
>>> I use Hibernate SessionFactory to generate Table schema, which is done
>>> without any error.
>>>
>>> But, when I try to save records in tables via Hibernate Session, I get
>>> the
>>> following exception:
>>> Note: If I change hibernate mapping to type 'string', then I dont get
>>> this
>>> error:
>>>
>>> java.lang.IllegalStateException: No context, unable to determine which
>>> stream header format to generate
>>> 	at
>>> org.apache.derby.iapi.types.ClobStreamHeaderGenerator.determineMode(Unknown
>>> Source)
>>> 	at
>>> org.apache.derby.iapi.types.ClobStreamHeaderGenerator.expectsCharCount(Unknown
>>> Source)
>>> 	at org.apache.derby.iapi.types.ReaderToUTF8Stream.fillBuffer(Unknown
>>> Source)
>>> 	at org.apache.derby.iapi.types.ReaderToUTF8Stream.read(Unknown Source)
>>> 	at java.io.DataInputStream.read(Unknown Source)
>>> 	at org.apache.derby.iapi.types.SQLClob.readExternal(Unknown Source)
>>> 	at org.apache.derby.iapi.types.SQLChar.getString(Unknown Source)
>>> 	at org.apache.derby.iapi.types.SQLClob.getClone(Unknown Source)
>>> 	at org.apache.derby.impl.sql.GenericParameter.getClone(Unknown Source)
>>> 	at org.apache.derby.impl.sql.GenericParameterValueSet.<init>(Unknown
>>> Source)
>>> 	at org.apache.derby.impl.sql.GenericParameterValueSet.getClone(Unknown
>>> Source)
>>> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.addBatch(Unknown
>>> Source)
>>> 	at
>>> org.hibernate.jdbc.BatchingBatcher.addToBatch(BatchingBatcher.java:31)
>>> 	at
>>> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2252)
>>> 	at
>>> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2665)
>>>
>>> Also, I need to save it as type 'text' even though it gets saved as
>>> CLOB(255), as the CLOB column size can later be altered.
>>>
>>> What could be the cause? or changes needed?
>>>   
>>>       
>> Hello,
>>
>> You have discovered / triggered a bug in the new Clob handling code 
>> introduced in 10.5.1.
>> I logged DERBY-4278 [1], and have started working on a fix (the 
>> regression tests are running, patch needs review).
>>
>> Regarding workarounds, I'm afraid all I can think of is using the client 
>> driver instead of the embedded driver, avoid batching for inserts with 
>> Clobs, change the data type, or downgrade to 10.4. Another option is to 
>> build Derby with the patch and test it out :)
>> I observe that you are using very small Clobs (255 characters). Clobs 
>> are in general less effective than using for instance VARCHAR.
>> Is your concern about altering the column size related to Derby, 
>> Hibernate or something else?
>>
>>
>> Regards,
>> -- 
>> Kristian
>>
>> [1] https://issues.apache.org/jira/browse/DERBY-4278
>>     
>>> thanks all
>>>
>>>
>>>   
>>>       
>>
>>     
>
>   


Mime
View raw message