× 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.



On 08-Jun-2010 12:18, Vern Hamberg wrote:

From a cursory glance at the docs for QDBBRCDS, and never having
used it, this seems a reasonable approach. I have some thoughts
about how it'd work.

1. Being an asynchronous bring, as Chuck pointed out, the records
are brought into main memory independent of your job.
2. Depending on how much CPU processing you do per record, the
recordsmay or may not arrive before you read them.
3. The bring stops, apparently, with no indication it has done
so, when an "invalid RRN" is found in your array. Chuck wondered
if that is a deleted record - not clear.

<<SNIP>>

I was at least in part being somewhat facetious while berating the documentation for lack of detail. I am almost positive that the term /invalid RRN/ means to imply only a numeric value which is larger than /the last physical row/ in the dataspace. Each specified RRN value would simply be used in a calculation to determine the page(s) within the data segments on which the physical row data resides\spans. Since a deleted record can be positioned-to using an RRN, and then updated, that pretty-much makes that the RRN of a deleted record a /valid RRN/.

As to the meaning of the /All RRN prior to/, I am still unsure. The quoted doc:

"If an invalid relative record number is specified,
it is tolerated and no error is returned.
All relative record numbers prior to the invalid
relative record number in the array are processed.
Invalid relative record numbers in the array are
ignored."

The expressions "tolerated and no error" seems synonymous with "are ignored". So it seems utterly ridiculous that the last sentence was an addendum for v5r4; i.e. seems redundant, and without providing _any_ clarification to the prior two sentences.

Does the explicit statement that /all prior RRN/ will be processed imply that /all later RRN/ will *not* be processed? Or was the new sentence meant in some way to imply later RRN values would still be processed? If that worthless update was not a side effect of Chinglish... well even if it were, that documentation just sickens me. So much so, I just clicked the _*Send Feedback*_ link to submit an online Reader Comment Card against that doc.

I would hope that all entries in the array are /processed/ regardless of any\all /invalid RRN/ values. I suspect that only RRN values that are too large are considered /invalid RRN/ values, and only those array entries will be ignored by the API; that any invalid RRN in the array would not stop processing of any remaining entries. FWiW: Any value for an RRN value in the array would be considered /too large/ whenever the algorithm to calculate the physical address of that row, from the given RRN, results in a location that is either beyond the end of the dataspace or beyond the last valid physical row in the dataspace.

Regards, Chuck

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.