× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



While the parameter value "167" in your UFCB variable portion will let you
open a file with BLOBs and CLOBs, your input record buffer after a read
will contain the character string "*POINTER" in the BLOB and CLOB spots,
not actual data.

When I run SQL SELECT on such a file, then look at SQL's UFCB input buffer
with my explorer program, I see actual pointers in the BLOB and CLOB spots
in the input record, not "*POINTER" character strings.  Hmm.  I assume
these mystery pointers are field pointers, another category of pointers
different than space, system, instruction pointers, etc.  The only
unblocked MI instructions that work on these mystery pointers are MATPTR
and MATPTRL, as far as I can test.  The MI Reference Manual for MATPTR
calls them "undefined pointers".

I assume the blocked MI instructions Copy/Transform Field (CPYFLD) and
Compare Field (CMPFLD) will work with them, but I haven't tested that.

So how does SQL SELECT manage to get field pointers, intstead of character
strings "*POINTER",  into its input record buffer?   I observed that SQL
SELECT calls the regular QDMCOPEN (SEPT slot #12) to open the file, just
like we do in MI program, but I noticed SQL SELECT, before calling
QDMCOPEN, has a system pointer (yes system, not space pointer) at offset
H"0" in its UFCB pointing to a jiggered temporary copy of the ODP member,
and the UFCB flag byte at offset H"B8", bit number "7", is set ON.  I guess
further information in the jiggered temporary copy of the ODP member before
QDMCOPEN contains information that means, use field pointers in the I/O
buffers instead of character strings "*POINTER".


As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.