[comp.databases] FoxBase 2.1+ Problem

jas@ISI.EDU (Jeff Sullivan) (06/01/90)

Okay, here's an attempt at a more complete problem description:

1.  I have a file that contains information on a person with the
following structure:

Structure for database: C:\PEOPLE.DBF
Number of data records:     665
Date of last update   : 05/31/90
Field  Field Name  Type       Width    Dec
    1  PERSON_ID   Numeric        5
    2  NAME_1      Character     20
    3  NAME_2      Character     20
    4  NAME_3      Character     20
    5  NAME_4      Character     20
    6  DOB         Date           8
    7  NAT         Character      2
    8  PP_NUM      Character     12
    9  PP_NAT      Character      2
   10  NAD_NO      Character      1
   11  NAD_DA      Date           8
   12  NAD_MS_DA   Date           8
   13  IT_NO       Character      1
   14  IT_DA       Date           8
   15  IT_MS_DA    Date           8
   16  FAA_NO      Character      1
   17  FAA_DA      Date           8
   18  FAA_MS_DA   Date           8
   19  TEC_NO      Character      1
   20  TEC_DA      Date           8
   21  TEC_MS_DA   Date           8
   22  ASP_NO      Numeric        5
   23  ASP_DATE    Date           8
   24  REMARKS     Character     80
** Total **                     271


The index scheme for this file is this:

Processor is INTEL 80386
Currently Selected Database:
Select area:  1, Database in Use: C:\FOX\EPIC\PEOPLE.DBF    Alias: PEOPLE
   Master index file:   C:\FOX\EPIC\PPL_NAME.IDX  Key: NAME_1+NAME_2+NAME_3
          Index file:   C:\FOX\EPIC\PPL_ID.IDX  Key: PERSON_ID
          Index file:   C:\FOX\EPIC\PPL_DOB.IDX  Key: DOB
          Index file:   C:\FOX\EPIC\PPL_PP.IDX  Key: PP_NUM

Now, when the system is running fine, a browse looks fine.

Here is a transcript of what happens when I try to play with the DB:

. brow
Record is not in index.
. reind
Reindexing index file - C:\FOX\EPIC\PPL_NAME.IDX    665 records indexed
Reindexing index file - C:\FOX\EPIC\PPL_ID.IDX    665 records indexed
Reindexing index file - C:\FOX\EPIC\PPL_DOB.IDX    665 records indexed
Reindexing index file - C:\FOX\EPIC\PPL_PP.IDX    665 records indexed
. brow
Record is out of range.
. reind
Reindexing index file - C:\FOX\EPIC\PPL_NAME.IDX    665 records indexed
Reindexing index file - C:\FOX\EPIC\PPL_ID.IDX    665 records indexed
Reindexing index file - C:\FOX\EPIC\PPL_DOB.IDX    665 records indexed
Reindexing index file - C:\FOX\EPIC\PPL_PP.IDX    665 records indexed
. pack    665 records copied
Reindexing index file - C:\FOX\EPIC\PPL_NAME.IDX    665 records indexed
Reindexing index file - C:\FOX\EPIC\PPL_ID.IDX    665 records indexed
Reindexing index file - C:\FOX\EPIC\PPL_DOB.IDX    665 records indexed
Reindexing index file - C:\FOX\EPIC\PPL_PP.IDX    665 records indexed
. brow
Record is out of range.


When I PACK the system, a browse reveals a bunch of empty records
in the middle of the file, and the records that were there are gone.

Now, a question:

I have a program that sets a FORMAT to display the record on-screen,
and I have a program that steps through the records in a typical
DB-like application.  I havbe a hot-key that will force a PACK of the
database (which in turn forces a REINDEX, correct?).  When I have a
record showing in the format, and I hit the PACK key, the system fouls
up and puts a bunch of junk in some records at the top of the index.
Included in this junk are parts of other records, FoxBase messages &
command names, and unprintable characters.

Question:  Should I not PACK while a record is showing?  What would a
work-around be?

--
--------------------------------------------------------------------------
Jeffrey A. Sullivan		| Senior Systems Programmer
jas@venera.isi.edu		| Information Sciences Institute
jas@isi.edu   DELPHI: JSULLIVAN	| University of Southern California

jas@ISI.EDU (Jeff Sullivan) (06/01/90)

One other point... the "blank" records are actually filled with a
character that loks like M-^? in epsilon, (character 255ASCII --
NULL?).  Does this provide any leads?

--
--------------------------------------------------------------------------
Jeffrey A. Sullivan		| Senior Systems Programmer
jas@venera.isi.edu		| Information Sciences Institute
jas@isi.edu   DELPHI: JSULLIVAN	| University of Southern California

jas@ISI.EDU (Jeff Sullivan) (06/01/90)

Another interesting(?) problem is that if I remove all but any one of
the indices, REINDEX, and browse through it, it works fine, but if I
put them all back in, REINDEX, and browse, I get a "Record out of
range error."

There seems to be a problem with those 4 indices combining.

jas
--
--------------------------------------------------------------------------
Jeffrey A. Sullivan		| Senior Systems Programmer
jas@venera.isi.edu		| Information Sciences Institute
jas@isi.edu   DELPHI: JSULLIVAN	| University of Southern California