Informix Error -644: FAMILY(), VOLUME(), and DESCR() require BLOB column on optical medium.
Cause and resolution
FAMILY(), VOLUME(), and DESCR() require BLOB column on optical medium.
The argument to the FAMILY(), VOLUME(), or DESCR() function must be a TEXT or BYTE column that is stored on optical media. Check that you have not specified a column of a different data type or a TEXT or BYTE column that is stored in a storage space.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-644 fires when FAMILY(), VOLUME(), or DESCR() is called on an argument that isn't a
TEXT/BYTE column stored on optical media — per the official guidance, these three functions
specifically require a BLOB column on optical medium, the same underlying type/medium
requirements as -631/-638 but for a function call rather than CREATE OPTICAL CLUSTER.
FAMILY()/VOLUME()/DESCR()called on a column of a different data type, per the official guidance.FAMILY()/VOLUME()/DESCR()called on aTEXT/BYTEcolumn stored in an ordinary storage space rather than on optical media, per the official guidance — the same optical-vs-ordinary-storage distinction as -638.
Solutions / Resolution
- Check that the argument isn't a column of a different data type, per the official guidance.
- Check that the argument isn't a
TEXT/BYTEcolumn stored in an ordinary storage space, per the official guidance, rather than on optical media. - Confirm the column's storage space and type before calling any of these three functions on it, the same check used for -638.
Examples
The disallowed attempt
SELECT FAMILY(order_id) FROM orders;
-- -644: order_id is INT, not a BLOB column on optical media
A BLOB column on the wrong storage medium
-- content is TEXT, but stored in an ordinary blobspace, not optical media
SELECT VOLUME(content) FROM documents;
-- -644: content isn't on optical media
Diagnostic Checks
- Confirm the argument's declared type is
TEXT/BYTE, and that its storage space is optical media, the same two checks used for -638.
Related Errors / Related Topics
- -631 — "Cannot create optical cluster on column that is not TEXT or BYTE." Same underlying
type requirement, in the
CREATE OPTICAL CLUSTERcontext. - -638 — "Cannot cluster TEXT or BYTE columns on non-optical media." Same underlying
optical-media requirement, in the
CREATE OPTICAL CLUSTERcontext.
The same type/medium requirements as -631/-638, applied to FAMILY()/VOLUME()/DESCR()
function calls instead of CREATE OPTICAL CLUSTER.