21.02.2019 12:46, Pavel Cisar wrote:
And one partially related question from another angle: does it make
sense to implement also replica-side declarative filtering? I mean the
case where changes for all tables are journaled but for some reason
only some tables should be applied to replica - e.g. two independent
replicas with different filters but replicated from the same master
journal (to avoid double journaling). If this feature is desirable,
then how should the master-side filter (replication set) co-exist with
the replica-side filter?
It's tempting, but I see potential for problems. If we would allow
multiple sets & filters at master node, there is no need to have them at
replica.
Not really so. If replica 1 needs changes for table A and replica 2
needs changes for table B, then master should include both A and B into
its filter. So all three filters are different.
And if replica would have different definitions than master,
then it's not possible to replace master with replica in recovery
scenario.
To deal with that, master-side and replica-side filters must have
different types, so that replica-side filters never be applied for a
database in the master role.
Dmitry
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel