Jan Wieck wieck at lists.slony.info
Tue Jun 19 08:51:21 PDT 2007
Update of /home/cvsd/slony1/slony1-engine/src/slon
In directory main.slony.info:/tmp/cvs-serv22879

Modified Files:
      Tag: REL_1_2_STABLE
	remote_worker.c 
Log Message:
For logshipping we need to use the internally tracked ssy_seqno for
SYNC events as well.

Jan


Index: remote_worker.c
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slon/remote_worker.c,v
retrieving revision 1.124.2.15
retrieving revision 1.124.2.16
diff -C2 -d -r1.124.2.15 -r1.124.2.16
*** remote_worker.c	14 Jun 2007 15:17:45 -0000	1.124.2.15
--- remote_worker.c	19 Jun 2007 15:51:18 -0000	1.124.2.16
***************
*** 269,273 ****
  static void compress_actionseq(const char *ssy_actionseq, SlonDString * action_subquery);
  
! static int process_ddl_script(SlonWorkMsg_event * event,SlonNode * node,
  							  PGconn * local_dbconn, char * seqbuf );
  static int check_set_subscriber(int set_id, int node_id,PGconn * local_dbconn);
--- 269,273 ----
  static void compress_actionseq(const char *ssy_actionseq, SlonDString * action_subquery);
  
! static void process_ddl_script(SlonWorkMsg_event * event,SlonNode * node,
  							  PGconn * local_dbconn, char * seqbuf );
  static int check_set_subscriber(int set_id, int node_id,PGconn * local_dbconn);
***************
*** 4210,4221 ****
  			if (archive_dir)
  			{
  				slon_log(SLON_DEBUG2, "writing archive log...\n");
  				fflush(stderr);
  				fflush(stdout);
  				rc = archive_tracking(node, rtcfg_namespace, sub_set,
! 										 PQgetvalue(res1, tupno1, 1), seqbuf,
  										 event->ev_timestamp_c);
  				if (rc < 0)
  					slon_retry();
  			}
  		}
--- 4210,4233 ----
  			if (archive_dir)
  			{
+ 				for (pset = provider->set_head; pset; pset = pset->next)
+ 					if (pset->set_id == sub_set) break;
+ 				if (pset == NULL)
+ 				{
+ 					slon_log(SLON_ERROR, "remoteWorkerThread_%d: "
+ 							"set %d not found in runtime config\n",
+ 							node->no_id, sub_set);
+ 					slon_retry();
+ 				}
+ 
  				slon_log(SLON_DEBUG2, "writing archive log...\n");
  				fflush(stderr);
  				fflush(stdout);
  				rc = archive_tracking(node, rtcfg_namespace, sub_set,
! 										 pset->ssy_seqno, seqbuf,
  										 event->ev_timestamp_c);
  				if (rc < 0)
  					slon_retry();
+ 
+ 				strcpy(pset->ssy_seqno, seqbuf);
  			}
  		}
***************
*** 5976,5980 ****
   * Process a ddl_script command.
   */
! static int process_ddl_script(SlonWorkMsg_event * event,SlonNode * node,
  							  PGconn * local_dbconn,
  							  char * seqbuf) 
--- 5988,5993 ----
   * Process a ddl_script command.
   */
! static void
! process_ddl_script(SlonWorkMsg_event * event,SlonNode * node,
  							  PGconn * local_dbconn,
  							  char * seqbuf) 



More information about the Slony1-commit mailing list