Kbase 264: **WARNING** DON'T use idxbuild WITH SORT in 6.2a-6.2d
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/10/1998 |
|
**WARNING** DON'T use idxbuild WITH SORT in 6.2a-6.2d
901005-AAB01*** Special Notice ***
There are problems with index rebuild in version 6.2A through version
6.2C of PROGRESS. If you use the sort option while doing an index
rebuild your INDEXES WILL BE CORRUPTED 90% of the time. We recommend
that you do not use the sort option with index rebuild with versions
6.2A through 6.2C of PROGRESS. The workaround for this problem is to
do an index rebuild without the sort option. The bug manifests
itself when retrieving records from the database. A record may be
present in the database and a find for that record may fail because
of the index corruption caused by this bug.
The following program is a way to check your indexes if you
have run index rebuild with sort in error. If this program runs
through with no messages your indexes are fine and you have not hit
the bug.
def buffer xidx for _index.
define var m-fieldlist as char.
for each _file:
display _file-name label "Testing".
output to gronk.p.
put unformatted
"DEFINE BUFFER XXX for " _file-name "." SKIP
"FOR EACH " _file-name ":" SKIP.
for each _index of _file where can-find(first _index-field of _index):
m-fieldlist = "".
put unformatted " find XXX WHERE" skip.
for each xidx of _file:
for each _index-field of xidx,
each _field of _index-field where
not can-do(m-fieldlist,_field-name):
put unformatted SKIP
if m-fieldlist > "" THEN " AND " ELSE " "
"XXX." _field-name " = " _file-name "." _field-name SKIP.
m-fieldlist = m-fieldlist + "," + _field-name.
end. /* end of all components of all indicies loop */
end. /* end of inner index loop */
put unformatted " USE-INDEX " _index-name " NO-ERROR." SKIP
" IF not available " _file-name
" then message "" This is the bug in the " _file-name """."
SKIP(1).
end. /* end of first index loop */
put unformatted "END." .
output close.
run gronk.p.
END.
Progress Software Technical Support Note # 264