Mike Clark
Member
WHOLE-INDEX (Progress 9.1d both Chui and GUI – under Windows)
We were having problems with speed of one particular program so compiled it with XREF and found that the FIND was doing a WHOLE-INDEX search. The FIND was changed and now works correctly.
However to cut a long story short please look at the following and does it really do a WHOLE-INDEX search or is it just the compiler telling untruths?
The book table does have an index for ISBN (called i-isbn).
FIND FIRST book WHERE isbn NE "" USE-INDEX i-isbn NO-LOCK NO-ERROR.
DISPLAY book.bookcode book.isbn.
On doing COMPILE mci.p XREF mci.lst save.
The mci.lst contains
.\devel\mci.p .\devel\mci.p 1 COMPILE devel/mci.p
.\devel\mci.p .\devel\mci.p 1 CPINTERNAL iso8859-1
.\devel\mci.p .\devel\mci.p 1 CPSTREAM iso8859-1
.\devel\mci.p .\devel\mci.p 2 STRING "book" 4 NONE UNTRANSLATABLE
.\devel\mci.p .\devel\mci.p 2 ACCESS imprint.book isbn
.\devel\mci.p .\devel\mci.p 2 SEARCH imprint.book i-isbn WHOLE-INDEX
.\devel\mci.p .\devel\mci.p 4 ACCESS imprint.book bookcode
.\devel\mci.p .\devel\mci.p 4 ACCESS imprint.book isbn
.\devel\mci.p .\devel\mci.p 4 STRING "x(13)" 5 NONE TRANSLATABLE FORMAT
.\devel\mci.p .\devel\mci.p 4 STRING "x(13)" 5 NONE TRANSLATABLE FORMAT
.\devel\mci.p .\devel\mci.p 4 STRING "Book Code" 9 LEFT TRANSLATABLE
.\devel\mci.p .\devel\mci.p 4 STRING "ISBN" 4 LEFT TRANSLATABLE
.\devel\mci.p .\devel\mci.p 4 STRING "bookcode" 8 NONE UNTRANSLATABLE
.\devel\mci.p .\devel\mci.p 4 STRING "isbn" 4 NONE UNTRANSLATABLE
.\devel\mci.p .\devel\mci.p 4 STRING "------------- -------------" 27 NONE UNTRANSLATABLE
.\devel\mci.p .\devel\mci.p 4 STRING "i-isbn" 6 NONE UNTRANSLATABLE
Any thoughts please?
We were having problems with speed of one particular program so compiled it with XREF and found that the FIND was doing a WHOLE-INDEX search. The FIND was changed and now works correctly.
However to cut a long story short please look at the following and does it really do a WHOLE-INDEX search or is it just the compiler telling untruths?
The book table does have an index for ISBN (called i-isbn).
FIND FIRST book WHERE isbn NE "" USE-INDEX i-isbn NO-LOCK NO-ERROR.
DISPLAY book.bookcode book.isbn.
On doing COMPILE mci.p XREF mci.lst save.
The mci.lst contains
.\devel\mci.p .\devel\mci.p 1 COMPILE devel/mci.p
.\devel\mci.p .\devel\mci.p 1 CPINTERNAL iso8859-1
.\devel\mci.p .\devel\mci.p 1 CPSTREAM iso8859-1
.\devel\mci.p .\devel\mci.p 2 STRING "book" 4 NONE UNTRANSLATABLE
.\devel\mci.p .\devel\mci.p 2 ACCESS imprint.book isbn
.\devel\mci.p .\devel\mci.p 2 SEARCH imprint.book i-isbn WHOLE-INDEX
.\devel\mci.p .\devel\mci.p 4 ACCESS imprint.book bookcode
.\devel\mci.p .\devel\mci.p 4 ACCESS imprint.book isbn
.\devel\mci.p .\devel\mci.p 4 STRING "x(13)" 5 NONE TRANSLATABLE FORMAT
.\devel\mci.p .\devel\mci.p 4 STRING "x(13)" 5 NONE TRANSLATABLE FORMAT
.\devel\mci.p .\devel\mci.p 4 STRING "Book Code" 9 LEFT TRANSLATABLE
.\devel\mci.p .\devel\mci.p 4 STRING "ISBN" 4 LEFT TRANSLATABLE
.\devel\mci.p .\devel\mci.p 4 STRING "bookcode" 8 NONE UNTRANSLATABLE
.\devel\mci.p .\devel\mci.p 4 STRING "isbn" 4 NONE UNTRANSLATABLE
.\devel\mci.p .\devel\mci.p 4 STRING "------------- -------------" 27 NONE UNTRANSLATABLE
.\devel\mci.p .\devel\mci.p 4 STRING "i-isbn" 6 NONE UNTRANSLATABLE
Any thoughts please?