Benefits:   Process databases, not just tables

ChimneySweep® normally processes an entire database at one time, not just one table. This has many useful benefits. Some are obvious; some are not:

(Note:   In Paradox® parlance, a “database” is the contents of a directory, which may be referred-to either by its name or through an “alias,” such as :WORK:.)

Convenience:

Any production database can easily consist of hundreds of tables, and an application may reference many different databases at one time. No matter how large or intricate your database structure may be, ChimneySweep can reference it with just one job.

A single ChimneySweep job can reference any number of databases, and any number of tables within those databases (or, colloquially, “all of them”). The choice is yours. You can be just as specific, or just as general, as you need to be.

Referential integrity and table lookups:

Databases and tables are often related to each other in some way. These relationships, such as “referential integrity” and “table lookups,” can be captured in a job if the job is built from a known-good database. ChimneySweep can use this reference information to verify and/or repair those relationships.

“Multi-pass” jobs:

Sometimes what you want to say is, “this job is like more-than-one job at once.” You want to process one entire set of tables, start-to-finish, and then start over and process another set in the same way, and so-on. ChimneySweep can do that, in a single job, through its concept of “passes.”

You might, for example, use this feature to be certain that all of the tables in a reference-database are fully processed before processing other databases which reference it. Like so many features of ChimneySweep, you may never have a need for this particular feature, but it's ready for you when and if you do.

Correct support for multiple database master-passwords:

A Paradox database is protected by a master password, which controls the ability to define secondary database passwords and to make certain other changes to the table. ChimneySweep respects and enforces that security. Furthermore, it recognizes that you may use more than one master password throughout your database. When you define a job, you must include all of the possibly-necessary master passwords. Upon encountering a password-protected table, ChimneySweep will verify that you have provided the master-password that is needed. If you didn't, it won't process that table.

ChimneySweep never prompts the user for any database password. Password-information is obscured within the job so that it cannot be easily discovered, even by inspecting the file with a binary file-viewer.