Translating with DrWatson… this can take a few seconds the first time.
This is a genuine, complex translation. DrWatson protects commands, error codes, and log output while naturally translating the surrounding text. It’s translated once and saved.
Philippe asked how to do UPSERT in a primary-target ER pair on IDS 9.40, since cdr define replicate -C ignore failed with error 69 and timestamp gave update-anywhere. Madison Pruet said v10 adds -C always, which does not need CRCOLS, while 9.4 needs timestamp resolution. He advised against mixing v10 and older servers.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
philippe — — source: Usenet: comp.databases.informix
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.
↪ replying to mpruet@comcast.net
philippe — — source: Usenet: comp.databases.informix
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.
We use strictly necessary cookies to make this site work. With your
consent we’d also use optional cookies for analytics and marketing. You can accept all,
reject all, or choose. Read our Cookie Policy.