Some databases have a maximum byte limit for the row length. Because each property that you create becomes a table column, you can exceed the row size limitation and receive and error when adding more property definitions to a class. To avoid exceeding the row size limit, see Minimize database row sizes.
Each column data type consumes a certain number of bytes from the row length. Run the following SQL queries and add the byte values returned from each query to get the total bytes that are used for the row. The formulas are approximate, but provide a good indication if the row length is nearing the limit. See your database documentation for the create table statement for more information.
The following sample queries for IBM® DB2® for Linux®, UNIX® and Windows® are for the DOCVERSION table that defines the Document class properties. Custom objects are in the GENERIC table. For schemaname, substitute the name of the Content Engine schema that is used for the object store.
select SUM(3) from syscat.columns where TABSCHEMA = 'schemaname' and tabname = 'DOCVERSION' and typename = 'SMALLINT'
select SUM(5) from syscat.columns where TABSCHEMA = 'schemaname' and tabname = 'DOCVERSION' and typename = 'INTEGER'
select SUM(9) from syscat.columns where TABSCHEMA = 'schemaname' and tabname = 'DOCVERSION' and (typename = 'BIGINT' OR typename = 'DOUBLE')
select SUM(length + 5) from syscat.columns where TABSCHEMA = 'schemaname' and tabname = 'DOCVERSION' and typename = 'VARCHAR'
select SUM(2*length + 5) from syscat.columns where TABSCHEMA = 'schemaname' and tabname = 'DOCVERSION' and typename = 'VARGRAPHIC'
select SUM(11) from syscat.columns where TABSCHEMA = 'schemaname' and tabname = 'DOCVERSION' and typename = 'TIMESTAMP'
select SUM(281) from syscat.columns where TABSCHEMA = 'schemaname' and tabname = 'DOCVERSION' and typename = 'BLOB'
select SUM(257) from syscat.columns where TABSCHEMA = 'schemaname' and tabname = 'DOCVERSION' and typename = 'DBCLOB'