A special SYNC_POINTS table should be added to maintain a common sync-point for use with multiple related tables. The table is defined as follows:

  • application_ name (data type = string (64)): The application for which the processing is done.
  • table_name (data type = string (64)): The name of the synchronization point
  • context (data type = String (32)): A stream position that can be safely used as an upper bound for event retrieval of all related tables

This table’s primary unique key is the concatenation of application_name + sync_name. The use of this table is not mandatory but it is part of the recommended use pattern of SQL-based CDC.
The SYNC_POINTS table is created with the following definition (where filename is changed into an actual path):
<?xml version='1.0' encoding='UTF-8'?>
<navobj>
<table name='SYNC_POINTS'
fileName='<staging-directory-path>SYNC_POINTS' organization='index'>
<fields>
<field name='application_name' datatype='string' size='64'/>
<field name='sync_name' datatype='string' size='64'/>
<field name='context' datatype='string' size='32'/>
</fields>
<keys>
<key name='Key0' size='128' unique='true'>
<segments>
<segment name='application_name'/>
<segment name='sync_name'/>
</segments>
</key>
</keys>
</table>
</navobj>