Alaska Software Inc. - Extremely large .FPT files created with DBF/CDX engine
Username: Password:
AuthorTopic: Extremely large .FPT files created with DBF/CDX engine
Tim CallahanExtremely large .FPT files created with DBF/CDX engine
on Fri, 20 Apr 2018 15:17:32 -0700
I have an xBase app that creates a table that has memo fields. The
table is created by consolidating information from several source
tables.

When I run the app complied with Clipper 5.2 the resulting .FPT file
is about 220 MB.

When I run the same app compiled with xBase++ the resulting FPT filel
is approximately 20 GB.

I have the driver set up as follows in the xBase app:

 Build DBE
DbeLoad( "FOXDBE", .T.)
DbeLoad( "CDXDBE",.T.)
DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" )
beSetDefault( "FOXCDX" )
  
 Set up for FOX 2.x and Comix compatability
DbeInfo(COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
DbeInfo(COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_CLIPPER)
DbeInfo( COMPONENT_ORDER, CDXDBE_MODE, CDXDBE_COMIX )

Any help is much appreciated.
Peter AlderliestenRe: Extremely large .FPT files created with DBF/CDX engine
on Sat, 21 Apr 2018 18:57:23 +0200
Tim 

> I have an xBase app that creates a table that has memo fields. The
> table is created by consolidating information from several source
> tables.
> 
> When I run the app complied with Clipper 5.2 the resulting .FPT file
> is about 220 MB.
> 
> When I run the same app compiled with xBase++ the resulting FPT filel
> is approximately 20 GB.

Did you check/set the blocksize for the memofield?

Peter
Tim CallahanRe: Extremely large .FPT files created with DBF/CDX engine
on Tue, 24 Apr 2018 16:22:25 -0700
Thanks for replying
I have explicitly set this to 64 (the xBase++ default per the docs)
Working with Alaska support on this and will post any results.
FWIW it happens on Windows 7 and Windows Server 2016 so I don't think
it related to the machine or OS.

On Sat, 21 Apr 2018 18:57:23 +0200, Peter Alderliesten wrote:

>Tim 
>
>> I have an xBase app that creates a table that has memo fields. The
>> table is created by consolidating information from several source
>> tables.
>> 
>> When I run the app complied with Clipper 5.2 the resulting .FPT file
>> is about 220 MB.
>> 
>> When I run the same app compiled with xBase++ the resulting FPT filel
>> is approximately 20 GB.
>
>Did you check/set the blocksize for the memofield?
>
>Peter
Tim CallahanRe: Extremely large .FPT files created with DBF/CDX engine
on Thu, 26 Apr 2018 10:33:13 -0700
This was user error. 

In setting up the FOXCDX dbe I had the following:

   DbeInfo(COMPONENT_DATA, FOXDBE_MEMOBLOCKSIZE, 64)
   DbeInfo(COMPONENT_DATA, CDXDBE_LOCKRETRY, 1000000)

which as erroneously setting the LOCKRETRY on the data component
(can't even say how many times I looked at the docs and code and never
caught this.)

Turns out the MEMOBLOCKSIZE and LOCKRETRY defines have the same
numberic value so I was setting a blocksize of 1 million. Oops!

Thank you Alaska support!

>I have an xBase app that creates a table that has memo fields. The
>table is created by consolidating information from several source
>tables.
>
>When I run the app complied with Clipper 5.2 the resulting .FPT file
>is about 220 MB.
>
>When I run the same app compiled with xBase++ the resulting FPT filel
>is approximately 20 GB.
>
>I have the driver set up as follows in the xBase app:
>
>// Build DBE
>DbeLoad( "FOXDBE", .T.)
>DbeLoad( "CDXDBE",.T.)
>DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" )
>beSetDefault( "FOXCDX" )
>  
>// Set up for FOX 2.x and Comix compatability
>DbeInfo(COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
>DbeInfo(COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_CLIPPER)
>DbeInfo( COMPONENT_ORDER, CDXDBE_MODE, CDXDBE_COMIX )
>
>Any help is much appreciated.