You can modify existing publications. For more information, see the description of the command CREATE [OR REPLACE] PUBLICATION in solidDB® SQL Guide. This command allows you not only to create new publications, but also to modify existing publications.
You may also modify tables that are in publications. For more information about this, see the description of the command SET SYNC MODE in solidDB®SQL Guide.
Depending upon the modifications that you make, the next refresh from each replica may be either an incremental refresh or a full refresh.
Note If you use CREATE OR REPLACE PUBLICATION to alter the contents of an existing advanced replication publication, you have to take care of removing invalid rows from Replica.
Incremental vs. full refresh
If you change a publication using the command “CREATE OR REPLACE PUBLICATION...” then replicas will receive updated data the next time that they refresh. Depending upon the changes to the publication, subscribers may get a full refresh or an incremental refresh. Below is a summary of the rules that control whether the next refresh is incremental or full. Keep in mind that a single publication may contain multiple result sets. Each result set is relatively independent, so changes to one result set do not necessarily require that the subscriber get any information for the other result sets.
▪Adding a new result set to a publication requires only an incremental refresh; the data of the new result set is sent to subscribers.
▪Dropping a result set does not require sending data over the network.
▪Modifying a result set generally requires full data of that result set.
▪If you do drop a publication and then re-create it (rather than “replace” it using CREATE OR REPLACE), then subscribers must reregister with the new publication and will get a full refresh the first time that they refresh.
Note You cannot switch a replica to use another existing master database. This would lead to a mismatch in synchronization of incremental publications. If you need to do this, you must create a database from scratch and define the new master database as well as re-create tables, procedures, and publications.