Select question
Posted in 2003
Topics: SQL Development & Query Writing, Versions, Editions & End-of-Life
Dear friends could you please clarify the following issue. 3 servers engaged in workflow P-T replication on IDS 9.30: First replicationset1 contains 100 replications defined as "P select *, CURRENT from db1@server1:tab1" "R select * from db2@server2:tab2" tab2 compares to tab1 has 1 additional column (modified datetime tear to second) Second replicationset2 contains the very same 100 replications defined as "P select * from db2@server2:tab2" "R select * from db3@server3:tab3" tab3 and tab2 have same structure. To transfer data from server1 to server2 to server3 we need to: 1. replicate immediatelly replicationset1 with additional CURRENT datetime value 2. update on server2 once per day where modified = TODAY 3. replicate at 23:50 replicationset2 data to server3 However we received SQL syntax error when trying to use that CURRENT in the SELECT statement and replication definition failed. Is there any other way how to add CURRENT to replicated data just for purpose of dummy update on server2 (the only way how to transfer all the data to the server3)? Thanks for an advice Regards Rasto sending to informix-list
Rastislav Janac wrote: > > [SNIPS made] > However we received SQL syntax error when trying to use that CURRENT > in the SELECT statement and replication definition failed. > > Is there any other way how to add CURRENT to replicated data just for > purpose of dummy update on server2 (the only way how to transfer all > the data to the server3)? Probably it's been made illegal in that position for a few interesting reasons. It's been 2 years since I last setup ER, but I thought the extra CDR columns took care of that detail. At least, the attached timestamp is the timestamp of when the row was modified. If you get the rest of your system flowing properly, then it will probably be a "better" time than the relatively unpredictable time of the replication. I think you are trying to use CURRENT here to work-around a non-existent problem. Picture a person scratching their left ear by reaching across the top of their head with their right hand. Now see the look of satisfaction cross the face when the person realises they can just raise their left hand. [ok, so the imagery is more effective in person...] > To transfer data from server1 to server2 to server3 we need to: > 1. replicate immediatelly replicationset1 with additional CURRENT > datetime value > 2. update on server2 once per day where modified = TODAY > 3. replicate at 23:50 replicationset2 data to server3 Wrong approach. It sounds like you want to replicate immediately to server2, and daily to server 3 at 23:50? If so, define an immediate replicant to server2, and define a replicant to server3 which is triggered to start transfer at 23:50. Now where's the complication gone? Make sure you have enough log space to store up all traffic for a few days. That's the normal advice anyway, but in your case you want to absorb a days worth of data before it's transmitted.
PS - your subject probably should be something like: Using CURRENT in ER select :=)