One of our customers reported a logical file that our QuestView application could not open (and throws a fatal exception trying). They sent us a (presumably dummy version of) the logical and its based-on physical, and I was able to duplicate the problem with no difficulty at all.

It turns out that the logical in question is an SQL INDEX, apparently from either JDE World or (more likely) E1, and when QuestView digs out its meta-data, QDBRTVFD returns a large negative number as the displacement to the join-spec array, and then (not surprisingly) blows up trying to resolve a pointer to it (I think we only looked it up for completeness sake, because we're not actually using it!).

Given that we don't actually use the join-spec array, I commented out the code that attempts to resolve a pointer to it, and sure enough, it opens . . . to a completely empty file.

I then created an SQL INDEX on one of our files. It opens just fine, so I did a bit more digging:

When I look at the "problem" index in DSPFD, I notice that:
Maximum members . . . . . . . . . . : MAXMBRS 1
Number of triggers . . . . . . . . : 0
Number of members . . . . . . . . . : 0

and when I look at the database relations for its based-on physical, I get conflicting results: the "problem" index shows up in DSPDBR, but it doesn't show up in QuestView's DBR screen (based on the QDBLDBR API).

By contrast, when I look at the index I created, I get:
Maximum members . . . . . . . . . . : MAXMBRS 1
Number of triggers . . . . . . . . : 0
Number of members . . . . . . . . . : 1

and the index shows up just fine in both DSPDBR for the based-on physical, and in the QuestView DBR screen.

That tells me there's probably something very funky with the "problem" index. But what would cause an SQL INDEZ to show up as having no members, and to show up in DSPDBR on the based-on physical, but not in the QDBLDBR API?

--
JHHL

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.