On 12/07/2010 01:10 PM, farouk korteby wrote:
Hi,
The string property is limited to 255 chars, you must
use text-area property.
Sure, but that doesn't explain why:
(1) The string is not truncated to match the limit.
(2) The database ends up in an invalid state (e.g. I can't modify the
object, I can't recreate the object, I can't modify the class..)
Even if (1) is arguable, (2) shouldn't happen. Are you able to reproduce
(2)?
Thanks.
Marius
Take look
at \xwiki-enterprise-jetty-hsqldb-2.0.2\webapps\xwiki\WEB-INF\lib\xwiki-core-xx.jar
> xwiki.hbm.xml
-----------------------------------------------------------------------------------------------------
<joined-subclass name="com.xpn.xwiki.objects.StringProperty"
table="xwikistrings">
<key>
<column name="XWS_ID" />
<column name="XWS_NAME" />
</key>
<property name="value" type="string">
<column name="XWS_VALUE" *length="255"* />
</property>
</joined-subclass>
-----------------------------------------------------------------------------------------------------
2010/12/7 Marius Dumitru Florea<mariusdumitru.florea(a)xwiki.com>
Hi devs,
I have a serious problem. I'm using a fresh XE 2.6 with MySql (fresh db
+ XE 2.6 XAR import) and I'm doing this:
1. Create a class Main.TestClass with only one property (say "city") of
type "String".
2. Add an object of type Main.TestClass to Main.TestClass page and set
the value of "city" to a large string (say 270 characters).
3. Save.
I get:
----------8<----------
org.hibernate.exception.DataException: could not insert:
[com.xpn.xwiki.objects.StringProperty]
...
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too
long for column 'XWS_VALUE' at row 1
---------->8----------
IMO "Data too long" should be only a warning. Why isn't the string
simply truncated if it's too long?
If I go back to the object editor the value of the "city" property is
empty. If I try to set the value to a short string, say "Paris" and then
save, I get:
----------8<----------
Failed to commit or rollback transaction. Root cause []
...
Wrapped Exception:
org.hibernate.StaleObjectStateException: Row was updated or deleted by
another transaction (or unsaved-value mapping was incorrect):
[com.xpn.xwiki.objects.StringProperty#<?xml version="1.0"
encoding="UTF-8"?>
<city>Paris</city>
]
---------->8----------
So how can I fix this? If I delete the object and then create a new one,
setting the value of "city" to "Rome" I get the same exception as
before, but with:
<city>Rome</city>
Is this related to my configuration?
Thanks,
Marius
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs