Will ifx_row_version incremented via ER?
Posted in 2009
Topics: General Discussion
Hi, gurus! Will ifx_row_version incremented when row was updated via enterprise replication? With best regards, Victor
From the Guide to SQL: Syntax manual (RTFM?) under the create table statement: "Each time the row is updated, ifx_row_version is incremented by one, but ifx_insert_checksum does not change. " So the answer to your question is yes. Dick Snoke Executive IT Specialist IBM Software Group - ChannelWorks Tel: (404) 487-1595 Email: dsnoke@us.ibm.com From: "VICTOR VAT" <victor16@inbox.ru> To: ids@iiug.org Date: 12/22/09 08:16 AM Subject: Will ifx_row_version incremented via ER? [18468] Sent by: ids-bounces@iiug.org Hi, gurus! Will ifx_row_version incremented when row was updated via enterprise replication? With best regards, Victor ******************************************************************************* Forum Note: Use "Reply" to post a response in the discussion forum.
It seems that still is not updated. Can You reproduce these situation: I have two tables participants in enterprise replicaion with "always apply" rule. I have altered target table using "add vercols", but source table still unchanged. When I issued "select ifx_row_version,count(*) from" sql-operator, it outputed me that all records have ifx_row_version value equal to 1. However, I know exactly that records in the table have been changed.
The correct answer in Enterprise Replication Guide: Always-Apply Conflict-Resolution Rule The always-apply conflict-resolution rule does not attempt to detect or resolve conflicts. Unlike with the ignore conflict-resolution rule, replicated changes are applied even if the operations are not the same on the source and target servers. In the case of a conflict, the current row on the target is deleted and replaced with the replicated row from the source. In other words, if you use the rule "always-apply", it always occurs first "delete", then "insert". Since the update operations is missing, then ifx_row_version not incremented and always equal to the initial value. So, in this case correct answer is NO. I'm sorry, it would be very usefull in some case:(