ER - UPSERT mechanism
Posted in 2005
Topics: Versions, Editions & End-of-Life
Hi, We use IDS 9.40. It is a way to implement UPSERT mechanism in a primary-target replication pair ? I have understood that, for UPSERT to work, we cannot define replicates with '-C ignore' option. If I try to define a replicate like that ... (serv1= root server, serv2= leaf server, tables created with crcols) cdr define replicate -C timestamp -S tran -A -R my_replicate \\ "P db1@serv1:owner.table" "select * from table" \\ "R db1@serv2:owner.table" "select * from table" ... I get an error: command failed -- conflict mode for replicate not ignore (69) If I use that command... cdr define replicate -C timestamp -S tran -A -R my_replicate \\ "db1@serv1:owner.table" "select * from table" \\ "db1@serv2:owner.table" "select * from table" ...it works, but my system is no more a 'primary-target' one: it is an 'update-everywehe' one. Any idea ? Thank you, Philippe -- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
in v10, we implemented "-C always" which means always apply. This is basically nothing more than ignore with upserts. In 9.4, you must have timestamp conflict resolution if you want upserts.
mpruet@comcast.net : > in v10, we implemented "-C always" which means always apply. This is > basically nothing more than ignore with upserts. In 9.4, you must have > timestamp conflict resolution if you want upserts. Thank you ! Two more questions about v10: - With that '-C always' option, is it still necessary to define tables 'with crcols' to make upserts work ? - Do we need to upgrade both servers to v10 ? Could we implement '-C always' with only the root/master server running v10, the leaf/slave server still running v9.30 ? -- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
V10 always apply does not require CRCOLS. The target is what performs evaluation, but we don't really recommend that you try to use a mixed mode environment with a V10 new functionality. Since replication requires a minimum of two nodes, new functionality is going to be spanning those two nodes. That mean a V10 function really needs a V10 source and a V10 target.