Set the table order required for priority synchronization, if the UltraLite default table ordering is not suitable for your deployment.
The syntax varies depending on the API you use. You can also set this parameter with ulsync.
Null or empty to order tables based on foreign keys relationships.
A comma separated list of table names that lists all tables to be uploaded.
Typically, the default is acceptable when the foreign keys on your consolidated database match the UltraLite remote and there are no foreign key cycles.
Quote tables names with either single or double quotes. For example, "Customer,Sales" and 'Customer,Sales' are both supported in UltraLite. With ulsync, you must separate table names with semicolons (;).
If you include tables that are not included in the synchronization, they are ignored.
The order of tables on the download is the same as those you define for upload.
You only need to explicitly set the table order, if your UltraLite tables:
Are part of foreign key cycles. You must then list all tables that are part of a cycle.
Have different foreign key relationships in the consolidated database.
The table order you define, must ensure referential integrity. Any tables that you do not list are appropriately sorted based of the foreign keys defined in the remote database.
ulsync can set this parameter as an extended synchronization parameter as follows:
ulsync -c DBF=myuldb.udb -k http -e "Username=remoteA;Version=2;TableOrder='Customer;Sales'"
UltraLite for C/C++ applications can set the parameter as follows:
ul_synch_info_a info; // ... info.table_order = UL_TEXT( "Customer,Sales" );