Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Enlarged CDX File
Message
 
 
To
23/10/2003 16:44:41
William Woody
Systems and Software Design, Inc.
Norcross, Georgia, United States
General information
Forum:
Visual FoxPro
Category:
FoxPro 2.x
Miscellaneous
Thread ID:
00841824
Message ID:
00841868
Views:
19
In the first case you still have CASE.CDX left on the disk. It's detached from CASE.DBF but when you run INDEX command FoxPro uses it anyway. Delete CASE.CDX and you'll get the same index size in both cases.
USE CASE EXCLUSIVE
DELETE TAG ALL
COPY TO (lcFile) FOR !DELETED()
BTW, this bug still exists in VFP8SP1.


>Started with the following file:
>CASE.DBF 20,248 KB
>Ran the following FoxPro 2.6 DOS:
>SELECT A
>?
>?'CASE FILE <====='
>?
>USE
>**	Perform the equivalent of a PACK
>** get UNIQUE record number for a record
>** use a modified sys(3) since sys(3) may not be UNIQUE on a 486
>lcFile = SUBSTR(SYS(3), 4, 4) + SUBSTR(SYS(2015), 7, 4)
>lcFile_dbf = lcFile + ".DBF"
>lcFile_fpt = lcFile + ".FPT"
>USE CASE EXCLUSIVE
>COPY TO (lcFile) FOR !DELETED()
>USE
>ERASE CASE.DBF
>IF FILE('CASE.FPT')
>	ERASE CASE.FPT
>ENDIF
>RENAME &lcFile_dbf TO CASE.DBF
>IF FILE('&lcFile_fpt')
>	RENAME &lcFile_fpt TO CASE.FPT
>ENDIF
>USE CASE EXCLUSIVE
>DELETE TAG ALL
>
>INDEX ON DELETED() TAG DELETED
>INDEX ON CASE_CODE TAG CASE_CODE
>INDEX ON CASE_CODE TAG CASE FOR .NOT. DELETED()
>INDEX ON ATTORNEY + CASE_CODE TAG CASEATTY FOR .NOT. DELETED()
>USE
>Got the following CDX file
>CASE.CDX 29,304 KB
>
>Then deleted the CDX, moved the "DELETE TAG ALL" up to a new location
>as follows and ran the program again.
>
<snip>
>
>Got the following CDX file
>CASE.CDX 1,244 KB
>
>Question:
>Why the big size change? Will both work?
>OS: WIN2k on 300+ machines with wide range of CPU speeds.
>
>Thanks..
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform