Value type limits

Enonic version: 6.11.0-SNAPSHOT
OS: Mac

So I’m importing some data from Oracle to Enonic XP.

What are the value type limits for Enonic nodes?

Specifically I would like to know the max size of a string.
And a list of strings.

Note that one of the table columns I’m trying to import is a CLOB.

For reference here are the Oracle Datatype Limits:
https://docs.oracle.com/cd/B28359_01/server.111/b28320/limits001.htm#i287903

I guess this could be a good place to document it: http://xp.readthedocs.io/en/stable/developer/node-domain/value-types.html

Related to https://github.com/enonic/lib-sql/issues/10

The limit for the String value type is the same as for the Java String, which is the max size of a Integer: 2,147,483,647 bytes (2GiB)

But it is very inefficient to manage strings so big in memory. If it is a big binary value, I think it would be better to put it in a value of type Binary on the node.

A Binary won’t be indexed. If it is text, hopefully you will not get to the Java String limit.

http://repo.enonic.com/public/com/enonic/xp/docs/6.10.3/docs-6.10.3-libdoc.zip!/module-value.html#.binary

1 Like

The max length I’ve seen thus far is 6407 bytes and will be split on comma and stored as an array of string.

Just as a side note this is how I convert the CLOB to varchar:

select dbms_lob.substr(ClobColumnName, 4000, 1) as part1,
dbms_lob.substr(ClobColumnName, 4000, 4001) as part2