IBM FileNet P8, Version 5.2.1            

Determine the database row size

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 an error when you add 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 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 Platform Engine schema that is used for the object store.

IBM® DB2® for Linux, UNIX and Windows
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'
IBM DB2 for z/OS®
SELECT SUM(3) FROM "SYSIBM"."SYSCOLUMNS" T where TBCREATOR = 'USER1' AND TBNAME = 'DOCVERSION' AND TYPENAME = 'SMALLINT';
SELECT SUM(5) FROM "SYSIBM"."SYSCOLUMNS" T where TBCREATOR = 'USER1' AND TBNAME = 'DOCVERSION' AND TYPENAME = 'INTEGER';
SELECT SUM(9) FROM "SYSIBM"."SYSCOLUMNS" T where TBCREATOR = 'USER1' AND TBNAME = 'DOCVERSION' AND (TYPENAME = 'BIGINT' OR TYPENAME = 'DOUBLE');
SELECT SUM(11) FROM "SYSIBM"."SYSCOLUMNS" T where TBCREATOR = 'USER1' AND TBNAME = 'DOCVERSION' AND TYPENAME = 'TIMESTAMP';
SELECT SUM(length + 5) FROM "SYSIBM"."SYSCOLUMNS" T where TBCREATOR = 'USER1' AND TBNAME = 'DOCVERSION' AND TYPENAME = 'VARCHAR';
SELECT SUM(2 * length + 5) FROM "SYSIBM"."SYSCOLUMNS" T where TBCREATOR = 'USER1' AND TBNAME = 'DOCVERSION' AND TYPENAME = 'VARGRAPHIC';
SELECT SUM(7) FROM "SYSIBM"."SYSCOLUMNS" T where TBCREATOR = 'USER1' AND TBNAME = 'DOCVERSION' AND (TYPENAME = 'BLOB' OR TYPENAME = 'DBCLOB');


Last updated: October 2015
os_determine_database_row_size.htm

© Copyright IBM Corporation 2015.