Informix Error -644
-644 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.