Import compressed files to the target database

Each store subscribes to a set of profiles and records the time it did the last synchronization. The ChangeDataExport agent raises an event when it creates a compressed file (full or delta).

The event acts as a signal to the transport mechanism that it must transfer the new compressed file to the stores subscribed to that profile.

For a full synchronization, the store imports the most recent full compressed file and any delta compressed files that were exported since the creation of full compressed file.

In the drawing below, the arrows represent the same time period. The red dots are full compressed files and the green dots are delta compressed files.

If a store requests a full synchronization at the time that is represented by the dotted line, it downloads F1 and D3 through D6.

The synchronization times of the store are updated in the YFS_SYNC_DB_IMPORT table. If a store requests a full synchronization, then the last full sync sequence number is set to that of the imported full sync file. Similarly, the last delta sync sequence number is set to that of the last imported delta sync file, if any. If a delta sync was requested, then the delta sync import sequence number is updated to that of the sequence number on the delta compressed file.