>>As long as you don't do anything radical in your CDX (like use an expression based on a UDF), yes, it will work, as follows:
>
>True, you even can save the cdx file after you created the table for reconstruction. But it's not about UDFs, you could use that approach even with UDFs in index expressions. But if you would for example index on DATETIME() opposed to indexing a field with default value DATETIME(), reindexing with such a truncated cdx file would change all records index to about the datetime of reindexing.
>
>So, yes, CDX files include data, not only the index expressions but also their evaluations are stored within the CDX, that's why it grows with the DBF.
I should have been clearer - what I meant by "radical" as a UDF expression is the case where the UDF references something that, for example, exists only within the app e.g. goApp.SomeProperty or goApp.SomeMethod().
If the app itself has a built-in REINDEX utility that could be OK, but otherwise it might be difficult or impossible to issue REINDEX from a command window and have it work properly.
So yes, in general the technique should work but there are lots of theoretical "gotchas" with unusual CDX expressions.
Regards. Al
"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov
Neither a despot, nor a doormat, be
Every app wants to be a database app when it grows up