Partitioning foreign key tables

The example in the previous section illustrates how to partition tables based on a criterion in some other table. See Partitioning with overlaps.

Some tables in your remote database may have disjoint subsets or overlapping subsets, but do not contain a column that determines the subset. These are foreign key tables that usually have a foreign key (or a series of foreign keys) referencing another table. The referenced table has a column that determines the correct subset.

In this case, the download_cursor script and the download_delete_cursor script need to join the referenced tables and have a WHERE clause that restricts the rows to the correct subset.

For an example, see the Customer table's download scripts Synchronization of contacts in the Contact sample.