Clipper CDX Index Fails: OrderCreate(0) when file is large 
Author Message
 Clipper CDX Index Fails: OrderCreate(0) when file is large

We are attempting to create an index use CDX.RDD with the following code:

announce rddsys
init procedure rddinit
request _dbfcdx
rddsetdefault("_dbfcdx")

...

use <filename>
nevery = int(reccount() / 100)
index on perskey to perskey eval{|| t()} every nevery

----------------------------------------------------------------------------
----
Note: t() function is a progressbar. The command fails with or without the
eval{}

The large file is about 6000 records (total file size 1.8MB)

The routine blows when attempting above index creation - what is the obvious
little {*filter*} we're missing?

Any advice will be greatly appreciated.

Best Regards,

--
Tracy Thomas



Sun, 11 Jul 2004 19:51:31 GMT  
 Clipper CDX Index Fails: OrderCreate(0) when file is large
On Wed, 23 Jan 2002 06:51:31 -0500, "Tracy Thomas"

Quote:

>We are attempting to create an index use CDX.RDD with the following code:

>announce rddsys
>init procedure rddinit
>request _dbfcdx
>rddsetdefault("_dbfcdx")

>...

>use <filename>
>nevery = int(reccount() / 100)
>index on perskey to perskey eval{|| t()} every nevery

>----------------------------------------------------------------------------
>----
>Note: t() function is a progressbar. The command fails with or without the
>eval{}

>The large file is about 6000 records (total file size 1.8MB)

>The routine blows when attempting above index creation - what is the obvious
>little {*filter*} we're missing?

>Any advice will be greatly appreciated.

>Best Regards,

>--
>Tracy Thomas

Hi Tracy,

Does your t() ALWAYS return .t.  ? Hint: It should.

Regards,

Ross McKenzie
ValuSoft
Melbourne Australia



Sun, 11 Jul 2004 20:01:52 GMT  
 Clipper CDX Index Fails: OrderCreate(0) when file is large
Yes, it does always return true.

Just to clarify again - even when we exclude the eval{} - and the t()
function - the index creation process still fails.

Best Regards,

Tracy



Sun, 11 Jul 2004 20:12:28 GMT  
 Clipper CDX Index Fails: OrderCreate(0) when file is large
Tracy,
Quote:
> ...
> announce rddsys
> init procedure rddinit
> request _dbfcdx
> rddsetdefault("_dbfcdx")

1) Use RDDSetDefault( "DBFCDX" ) // w/o the underscore;
2) In your linking script, put DBFCDX before _DBFCDX.

Quote:
> use <filename>
> nevery = int(reccount() / 100)
> index on perskey to perskey eval{|| t()} every nevery

1) Use LastRec() instead of RecCount()
2) Int( LastRec()/100 ) = 0 for LastRec() < 100. I suggest the following
formulas:
a) Fixed interval:
nEvery := Max( Int( LastRec()/100 ), 1 )
b) Proportional interval:
nLast ::= Max( LastRec(), 1 )
nEvery  := 10^Max( Int( Log10( nLast ) ) - 1, 0 )

HTH,

Marcos Nogueira
S. Paulo - Brazil



Sun, 11 Jul 2004 20:20:18 GMT  
 Clipper CDX Index Fails: OrderCreate(0) when file is large
Tracy,

Quote:
> The large file is about 6000 records (total file size 1.8MB)

BTW, please note that 6000 records isn't that much - files with over
1,000,000 records are rather common among our customers.

Best regards,

Marcos Nogueira
S. Paulo - Brazil



Sun, 11 Jul 2004 22:25:52 GMT  
 Clipper CDX Index Fails: OrderCreate(0) when file is large
<bg>, precisely the cause for our confusion!


Quote:
> Tracy,

> > The large file is about 6000 records (total file size 1.8MB)
> BTW, please note that 6000 records isn't that much - files with over
> 1,000,000 records are rather common among our customers.

> Best regards,

> Marcos Nogueira
> S. Paulo - Brazil



Sun, 11 Jul 2004 23:51:19 GMT  
 Clipper CDX Index Fails: OrderCreate(0) when file is large
Tracy,

On Wed, 23 Jan 2002 06:51:31 -0500, "Tracy Thomas"

Quote:

>We are attempting to create an index use CDX.RDD with the following code:

>announce rddsys
>init procedure rddinit
>request _dbfcdx
>rddsetdefault("_dbfcdx")
>...
>use <filename>
>nevery = int(reccount() / 100)
>index on perskey to perskey eval{|| t()} every nevery

[snip]

1. What version of Clipper and Linker
2. Does it show any error message or just bombs out?
3. Perskey has any binary values?
4. Can you index any other file with this procedure?

Regards,

Amilcar A. Camargo F.
Sand, S. A.
Guatemala, C. A.



Mon, 12 Jul 2004 02:06:26 GMT  
 Clipper CDX Index Fails: OrderCreate(0) when file is large
Clipper 5.3
Exospace (packaged with Clipper 5.3)
Error Message: OrdCreate(0) Internal error 8002
Perskey has no binary values (simple numeric, 10, 0 field)
Yes we are able to index other files with same procedure. It just seems to
hit a "magic" number of records and bomb out.

Thanks so much for your assistance.

Best Regards,

Tracy Thomas

Quote:
> 1. What version of Clipper and Linker
> 2. Does it show any error message or just bombs out?
> 3. Perskey has any binary values?
> 4. Can you index any other file with this procedure?

> Regards,

> Amilcar A. Camargo F.
> Sand, S. A.
> Guatemala, C. A.



Mon, 12 Jul 2004 02:18:05 GMT  
 Clipper CDX Index Fails: OrderCreate(0) when file is large
Tracy,

On Wed, 23 Jan 2002 13:18:05 -0500, "Tracy Thomas"

Quote:

>Clipper 5.3
>Exospace (packaged with Clipper 5.3)
>Error Message: OrdCreate(0) Internal error 8002

That's a known error. It's the way Exospace handles memory. The
workaround is to use OPTEDIT.exe. You should apply patch 5.3a.

1. Build your exe as you would
2. Apply OPTEDIT to your exe:

        OPTEDIT <YourExeName.exe> -EXTRAMIN 8192

Change 8192 to a larger value if this doesn't fix the problem.

HTH,

Amilcar A. Camargo F.
Sand, S. A.
Guatemala, C. A.



Mon, 12 Jul 2004 04:54:00 GMT  
 Clipper CDX Index Fails: OrderCreate(0) when file is large
Amilcar,

Good solid advice for Tracy

Brian
http://www.grafxsoft.com

 >That's a known error. It's the way Exospace handles memory. The

Quote:
> workaround is to use OPTEDIT.exe. You should apply patch 5.3a.

> 1. Build your exe as you would
> 2. Apply OPTEDIT to your exe:

> OPTEDIT <YourExeName.exe> -EXTRAMIN 8192

> Change 8192 to a larger value if this doesn't fix the problem.

> HTH,

> Amilcar A. Camargo F.
> Sand, S. A.
> Guatemala, C. A.



Tue, 13 Jul 2004 00:50:17 GMT  
 
 [ 10 post ] 

 Relevant Pages 

1. Howto create CDX index-files with Clipper 5.1

2. CDX Index file bloats up but shrink after re-indexing

3. Clipper 5.3 Hangs During Indexing For Large Files

4. * HELP PLEASE * DELPHI access to clipper .CDX indexes.

5. Clarion makes bad cdx index files, why?

6. error DESCEND() in CDX Index file

7. Memory variable problems with CDX index file.

8. Running VO 1.0d CDX with Clipper 5.2 CDX

9. Large indexes in Clipper

10. FoxPro CDX files with Clipper 5.2e and DBFSIX

11. Large .DBF/Large NTX Key Length Indexing Problem

12. Indexes on large files 4 million records

 

 
Powered by phpBB® Forum Software