Jan Wieck wieck at lists.slony.info
Fri Oct 19 11:38:37 PDT 2007
Update of /home/cvsd/slony1/slony1-engine/src/slon
In directory main.slony.info:/tmp/cvs-serv9076

Modified Files:
	cleanup_thread.c local_listen.c remote_listen.c 
	remote_worker.c slon.h 
Log Message:
Move slony to use the new txid contrib module instead of xxid.

Jan


Index: remote_worker.c
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slon/remote_worker.c,v
retrieving revision 1.156
retrieving revision 1.157
diff -C2 -d -r1.156 -r1.157
*** remote_worker.c	27 Sep 2007 14:22:59 -0000	1.156
--- remote_worker.c	19 Oct 2007 18:38:35 -0000	1.157
***************
*** 57,63 ****
  	int64		ev_seqno;
  	char	   *ev_timestamp_c;
! 	char	   *ev_minxid_c;
! 	char	   *ev_maxxid_c;
! 	char	   *ev_xip;
  	char	   *ev_type;
  	char	   *ev_data1;
--- 57,63 ----
  	int64		ev_seqno;
  	char	   *ev_timestamp_c;
! 	char	   *ev_snapshot_c;
! 	char	   *ev_mintxid_c;
! 	char	   *ev_maxtxid_c;
  	char	   *ev_type;
  	char	   *ev_data1;
***************
*** 1004,1010 ****
  								"    set ssy_origin = %d, "
  								"        ssy_seqno = '%s', "
! 								"        ssy_minxid = '%s', "
! 								"        ssy_maxxid = '%s', "
! 								"        ssy_xip = '%q', "
  								"        ssy_action_list = '' "
  								"    where ssy_setid = %d; ",
--- 1004,1008 ----
  								"    set ssy_origin = %d, "
  								"        ssy_seqno = '%s', "
! 								"        ssy_snapshot = '%s', "
  								"        ssy_action_list = '' "
  								"    where ssy_setid = %d; ",
***************
*** 1012,1018 ****
  								new_origin,
  								seqbuf,
! 								event->ev_minxid_c,
! 								event->ev_maxxid_c,
! 								event->ev_xip,
  								set_id);
  
--- 1010,1014 ----
  								new_origin,
  								seqbuf,
! 								event->ev_snapshot_c,
  								set_id);
  
***************
*** 1710,1714 ****
  				   int ev_origin, int64 ev_seqno,
  				   char *ev_timestamp,
! 				   char *ev_minxid, char *ev_maxxid, char *ev_xip,
  				   char *ev_type,
  				   char *ev_data1, char *ev_data2,
--- 1706,1710 ----
  				   int ev_origin, int64 ev_seqno,
  				   char *ev_timestamp,
! 				   char *ev_snapshot, char *ev_mintxid, char *ev_maxtxid,
  				   char *ev_type,
  				   char *ev_data1, char *ev_data2,
***************
*** 1722,1728 ****
  	char	   *cp;
  	int			len_timestamp;
! 	int			len_minxid;
! 	int			len_maxxid;
! 	int			len_xip;
  	int			len_type;
  	int			len_data1 = 0;
--- 1718,1724 ----
  	char	   *cp;
  	int			len_timestamp;
! 	int			len_snapshot;
! 	int			len_mintxid;
! 	int			len_maxtxid;
  	int			len_type;
  	int			len_data1 = 0;
***************
*** 1796,1802 ****
  	len = offsetof(SlonWorkMsg_event, raw_data)
  		+ (len_timestamp = strlen(ev_timestamp) + 1)
! 		+ (len_minxid = strlen(ev_minxid) + 1)
! 		+ (len_maxxid = strlen(ev_maxxid) + 1)
! 		+ (len_xip = strlen(ev_xip) + 1)
  		+ (len_type = strlen(ev_type) + 1)
  		+ ((ev_data1 == NULL) ? 0 : (len_data1 = strlen(ev_data1) + 1))
--- 1792,1798 ----
  	len = offsetof(SlonWorkMsg_event, raw_data)
  		+ (len_timestamp = strlen(ev_timestamp) + 1)
! 		+ (len_snapshot = strlen(ev_snapshot) + 1)
! 		+ (len_mintxid = strlen(ev_mintxid) + 1)
! 		+ (len_maxtxid = strlen(ev_maxtxid) + 1)
  		+ (len_type = strlen(ev_type) + 1)
  		+ ((ev_data1 == NULL) ? 0 : (len_data1 = strlen(ev_data1) + 1))
***************
*** 1827,1839 ****
  	strcpy(cp, ev_timestamp);
  	cp += len_timestamp;
! 	msg->ev_minxid_c = cp;
! 	strcpy(cp, ev_minxid);
! 	cp += len_minxid;
! 	msg->ev_maxxid_c = cp;
! 	strcpy(cp, ev_maxxid);
! 	cp += len_maxxid;
! 	msg->ev_xip = cp;
! 	strcpy(cp, ev_xip);
! 	cp += len_xip;
  	msg->ev_type = cp;
  	strcpy(cp, ev_type);
--- 1823,1835 ----
  	strcpy(cp, ev_timestamp);
  	cp += len_timestamp;
! 	msg->ev_snapshot_c = cp;
! 	strcpy(cp, ev_snapshot);
! 	cp += len_snapshot;
! 	msg->ev_mintxid_c = cp;
! 	strcpy(cp, ev_mintxid);
! 	cp += len_mintxid;
! 	msg->ev_maxtxid_c = cp;
! 	strcpy(cp, ev_maxtxid);
! 	cp += len_maxtxid;
  	msg->ev_type = cp;
  	strcpy(cp, ev_type);
***************
*** 2101,2105 ****
  					 "insert into %s.sl_event "
  					 "    (ev_origin, ev_seqno, ev_timestamp, "
! 					 "     ev_minxid, ev_maxxid, ev_xip, ev_type ",
  					 rtcfg_cluster_name, rtcfg_cluster_name,
  					 rtcfg_namespace);
--- 2097,2101 ----
  					 "insert into %s.sl_event "
  					 "    (ev_origin, ev_seqno, ev_timestamp, "
! 					 "     ev_snapshot, ev_type ",
  					 rtcfg_cluster_name, rtcfg_cluster_name,
  					 rtcfg_namespace);
***************
*** 2121,2127 ****
  		dstring_append(dsp, ", ev_data8");
  	slon_appendquery(dsp,
! 					 "    ) values ('%d', '%s', '%s', '%s', '%s', '%q', '%s'",
  					 event->ev_origin, seqbuf, event->ev_timestamp_c,
! 					 event->ev_minxid_c, event->ev_maxxid_c, event->ev_xip,
  					 event->ev_type);
  	if (event->ev_data1 != NULL)
--- 2117,2123 ----
  		dstring_append(dsp, ", ev_data8");
  	slon_appendquery(dsp,
! 					 "    ) values ('%d', '%s', '%s', '%s', '%s'",
  					 event->ev_origin, seqbuf, event->ev_timestamp_c,
! 					 event->ev_snapshot_c, 
  					 event->ev_type);
  	if (event->ev_data1 != NULL)
***************
*** 2310,2316 ****
  	int			sub_provider = 0;
  	char	   *ssy_seqno = NULL;
! 	char	   *ssy_minxid = NULL;
! 	char	   *ssy_maxxid = NULL;
! 	char	   *ssy_xip = NULL;
  	SlonDString ssy_action_list;
  	char		seqbuf[64];
--- 2306,2310 ----
  	int			sub_provider = 0;
  	char	   *ssy_seqno = NULL;
! 	char	   *ssy_snapshot = NULL;
  	SlonDString ssy_action_list;
  	char		seqbuf[64];
***************
*** 2423,2428 ****
  					 "start transaction; "
  					 "set transaction isolation level serializable; "
! 					 "select %s.getMinXid() <= '%s'::%s.xxid; ",
! 					 rtcfg_namespace, event->ev_maxxid_c, rtcfg_namespace);
  		res1 = PQexec(pro_dbconn, dstring_data(&query1));
  		if (PQresultStatus(res1) != PGRES_TUPLES_OK)
--- 2417,2422 ----
  					 "start transaction; "
  					 "set transaction isolation level serializable; "
! 					 "select \"public\".txid_snapshot_xmin(\"public\".txid_current_snapshot()) <= '%s'; ",
! 					 event->ev_maxtxid_c);
  		res1 = PQexec(pro_dbconn, dstring_data(&query1));
  		if (PQresultStatus(res1) != PGRES_TUPLES_OK)
***************
*** 2445,2449 ****
  			slon_log(SLON_WARN, "remoteWorkerThread_%d: "
  				  "transactions earlier than XID %s are still in progress\n",
! 					 node->no_id, event->ev_maxxid_c);
  			PQclear(res1);
  			slon_disconnectdb(pro_conn);
--- 2439,2443 ----
  			slon_log(SLON_WARN, "remoteWorkerThread_%d: "
  				  "transactions earlier than XID %s are still in progress\n",
! 					 node->no_id, event->ev_maxtxid_c);
  			PQclear(res1);
  			slon_disconnectdb(pro_conn);
***************
*** 3180,3186 ****
  			 */
  			ssy_seqno = seqbuf;
! 			ssy_minxid = event->ev_minxid_c;
! 			ssy_maxxid = event->ev_maxxid_c;
! 			ssy_xip = event->ev_xip;
  
  			slon_log(SLON_INFO, "remoteWorkerThread_%d: "
--- 3174,3178 ----
  			 */
  			ssy_seqno = seqbuf;
! 			ssy_snapshot = event->ev_snapshot_c;
  
  			slon_log(SLON_INFO, "remoteWorkerThread_%d: "
***************
*** 3203,3207 ****
  			 */
  			(void) slon_mkquery(&query1,
! 						 "select ev_seqno, ev_minxid, ev_maxxid, ev_xip "
  						 "from %s.sl_event "
  						 "where ev_origin = %d and ev_seqno = '%s'; ",
--- 3195,3199 ----
  			 */
  			(void) slon_mkquery(&query1,
! 						 "select ev_seqno, ev_snapshot "
  						 "from %s.sl_event "
  						 "where ev_origin = %d and ev_seqno = '%s'; ",
***************
*** 3240,3254 ****
  			}
  			ssy_seqno = PQgetvalue(res1, 0, 0);
! 			ssy_minxid = PQgetvalue(res1, 0, 1);
! 			ssy_maxxid = PQgetvalue(res1, 0, 2);
! 			ssy_xip = PQgetvalue(res1, 0, 3);
  
  			(void) slon_mkquery(&query2,
! 						 "log_xid >= '%s' or (log_xid >= '%s'",
! 						 ssy_maxxid, ssy_minxid);
! 			if (strlen(ssy_xip) != 0)
! 				slon_appendquery(&query2, " and log_xid in (%s))", ssy_xip);
! 			else
! 				slon_appendquery(&query2, ")");
  
  			slon_log(SLON_INFO, "remoteWorkerThread_%d: "
--- 3232,3242 ----
  			}
  			ssy_seqno = PQgetvalue(res1, 0, 0);
! 			ssy_snapshot = PQgetvalue(res1, 0, 1);
  
  			(void) slon_mkquery(&query2,
! 						 "log_txid >= \"public\".txid_snapshot_xmax('%s') "
! 						 "or (log_txid >= \"public\".txid_snapshot_xmin('%s')",
! 						 ssy_snapshot, ssy_snapshot);
! 			slon_appendquery(&query2, " and log_txid in (select * from \"public\".txid_snapshot_xip('%s')))", ssy_snapshot);
  
  			slon_log(SLON_INFO, "remoteWorkerThread_%d: "
***************
*** 3311,3316 ****
  		 */
  		(void) slon_mkquery(&query1,
! 					 "select ssy_seqno, ssy_minxid, ssy_maxxid, "
! 					 "    ssy_xip, ssy_action_list "
  					 "from %s.sl_setsync where ssy_setid = %d; ",
  					 rtcfg_namespace, set_id);
--- 3299,3304 ----
  		 */
  		(void) slon_mkquery(&query1,
! 					 "select ssy_seqno, ssy_snapshot, "
! 					 "    ssy_action_list "
  					 "from %s.sl_setsync where ssy_setid = %d; ",
  					 rtcfg_namespace, set_id);
***************
*** 3348,3354 ****
  		dstring_init(&ssy_action_list);
  		ssy_seqno = PQgetvalue(res1, 0, 0);
! 		ssy_minxid = PQgetvalue(res1, 0, 1);
! 		ssy_maxxid = PQgetvalue(res1, 0, 2);
! 		ssy_xip = PQgetvalue(res1, 0, 3);
  		dstring_append(&ssy_action_list, PQgetvalue(res1, 0, 4));
  		dstring_terminate(&ssy_action_list);
--- 3336,3340 ----
  		dstring_init(&ssy_action_list);
  		ssy_seqno = PQgetvalue(res1, 0, 0);
! 		ssy_snapshot = PQgetvalue(res1, 0, 1);
  		dstring_append(&ssy_action_list, PQgetvalue(res1, 0, 4));
  		dstring_terminate(&ssy_action_list);
***************
*** 3362,3370 ****
  		     "insert into %s.sl_setsync "
  		     "    (ssy_setid, ssy_origin, ssy_seqno, "
! 		     "     ssy_minxid, ssy_maxxid, ssy_xip, ssy_action_list) "
! 		     "    values ('%d', '%d', '%s', '%s', '%s', '%q', '%q'); ",
  		     rtcfg_namespace, set_id,
  		     rtcfg_namespace,
! 		     set_id, node->no_id, ssy_seqno, ssy_minxid, ssy_maxxid, ssy_xip,
  		     dstring_data(&ssy_action_list));
  	dstring_free(&ssy_action_list);
--- 3348,3356 ----
  		     "insert into %s.sl_setsync "
  		     "    (ssy_setid, ssy_origin, ssy_seqno, "
! 		     "     ssy_snapshot, ssy_action_list) "
! 		     "    values ('%d', '%d', '%s', '%q', '%q'); ",
  		     rtcfg_namespace, set_id,
  		     rtcfg_namespace,
! 		     set_id, node->no_id, ssy_seqno, ssy_snapshot,
  		     dstring_data(&ssy_action_list));
  	dstring_free(&ssy_action_list);
***************
*** 3596,3610 ****
  	dstring_init(&new_qual);
  
! 	if (strlen(event->ev_xip) != 0)
! 		(void) slon_mkquery(&new_qual,
! 					 "(log_xid < '%s' and "
! 					 "%s.xxid_lt_snapshot(log_xid, '%s:%s:%q'))",
! 					 event->ev_maxxid_c,
! 					 rtcfg_namespace,
! 					 event->ev_minxid_c, event->ev_maxxid_c, event->ev_xip);
! 	else
! 		(void) slon_mkquery(&new_qual,
! 					 "(log_xid < '%s')",
! 					 event->ev_maxxid_c);
  
  	min_ssy_seqno = -1;
--- 3582,3589 ----
  	dstring_init(&new_qual);
  
! 	(void) slon_mkquery(&new_qual,
! 				 "(log_txid < '%s' and "
! 				 "\"public\".txid_visible_in_snapshot(log_txid, '%s'))",
! 				 event->ev_maxtxid_c, event->ev_snapshot_c);
  
  	min_ssy_seqno = -1;
***************
*** 3631,3635 ****
  		(void) slon_mkquery(&query,
  					 "select SSY.ssy_setid, SSY.ssy_seqno, "
! 					 "    SSY.ssy_minxid, SSY.ssy_maxxid, SSY.ssy_xip, "
  					 "    SSY.ssy_action_list "
  					 "from %s.sl_setsync SSY "
--- 3610,3615 ----
  		(void) slon_mkquery(&query,
  					 "select SSY.ssy_setid, SSY.ssy_seqno, "
! 					 "    \"public\".txid_snapshot_xmax(SSY.ssy_snapshot), "
! 					 "    SSY.ssy_snapshot, "
  					 "    SSY.ssy_action_list "
  					 "from %s.sl_setsync SSY "
***************
*** 3664,3667 ****
--- 3644,3648 ----
  		{
  			PQclear(res1);
+ 			slon_appendquery(provider_qual, " false ) ");
  			continue;
  		}
***************
*** 3671,3677 ****
  		{
  			int			sub_set = strtol(PQgetvalue(res1, tupno1, 0), NULL, 10);
! 			char	   *ssy_maxxid = PQgetvalue(res1, tupno1, 3);
! 			char	   *ssy_xip = PQgetvalue(res1, tupno1, 4);
! 			char	   *ssy_action_list = PQgetvalue(res1, tupno1, 5);
  			int64		ssy_seqno;
  
--- 3652,3658 ----
  		{
  			int			sub_set = strtol(PQgetvalue(res1, tupno1, 0), NULL, 10);
! 			char	   *ssy_maxxid = PQgetvalue(res1, tupno1, 2);
! 			char	   *ssy_snapshot = PQgetvalue(res1, tupno1, 3);
! 			char	   *ssy_action_list = PQgetvalue(res1, tupno1, 4);
  			int64		ssy_seqno;
  
***************
*** 3801,3813 ****
  
  			/* add the <snapshot_qual_of_setsync> */
! 			if (strlen(ssy_xip) != 0)
! 				slon_appendquery(provider_qual,
! 								 "(log_xid >= '%s' or "
! 								 "log_xid IN (%s))",
! 								 ssy_maxxid, ssy_xip);
! 			else
! 				slon_appendquery(provider_qual,
! 								 "(log_xid >= '%s')",
! 								 ssy_maxxid);
  			actionlist_len = strlen(ssy_action_list);
  			slon_log(SLON_DEBUG4, " ssy_action_list value: %s\n",
--- 3782,3789 ----
  
  			/* add the <snapshot_qual_of_setsync> */
! 			slon_appendquery(provider_qual,
! 							 "(log_txid >= '%s' or "
! 							 "log_txid IN (select * from \"public\".txid_snapshot_xip('%s')))",
! 							 ssy_maxxid, ssy_snapshot);
  			actionlist_len = strlen(ssy_action_list);
  			slon_log(SLON_DEBUG4, " ssy_action_list value: %s\n",
***************
*** 4213,4222 ****
  	(void) slon_mkquery(&query,
  				 "update %s.sl_setsync set "
! 			   "    ssy_seqno = '%s', ssy_minxid = '%s', ssy_maxxid = '%s', "
! 				 "    ssy_xip = '%q', ssy_action_list = '' "
  				 "where ssy_setid in (",
  				 rtcfg_namespace,
! 				 seqbuf, event->ev_minxid_c, event->ev_maxxid_c,
! 				 event->ev_xip);
  	i = 0;
  	for (provider = wd->provider_head; provider; provider = provider->next)
--- 4189,4197 ----
  	(void) slon_mkquery(&query,
  				 "update %s.sl_setsync set "
! 			   "    ssy_seqno = '%s', ssy_snapshot = '%s', "
! 				 "    ssy_action_list = '' "
  				 "where ssy_setid in (",
  				 rtcfg_namespace,
! 				 seqbuf, event->ev_snapshot_c);
  	i = 0;
  	for (provider = wd->provider_head; provider; provider = provider->next)
***************
*** 4417,4421 ****
  					(void) slon_mkquery(&query,
  						 "declare LOG cursor for select "
! 						 "    log_origin, log_xid, log_tableid, "
  						 "    log_actionseq, log_cmdtype, "
  						 "    octet_length(log_cmddata), "
--- 4392,4396 ----
  					(void) slon_mkquery(&query,
  						 "declare LOG cursor for select "
! 						 "    log_origin, log_txid, log_tableid, "
  						 "    log_actionseq, log_cmdtype, "
  						 "    octet_length(log_cmddata), "
***************
*** 4432,4436 ****
  					(void) slon_mkquery(&query,
  						 "declare LOG cursor for select "
! 						 "    log_origin, log_xid, log_tableid, "
  						 "    log_actionseq, log_cmdtype, "
  						 "    octet_length(log_cmddata), "
--- 4407,4411 ----
  					(void) slon_mkquery(&query,
  						 "declare LOG cursor for select "
! 						 "    log_origin, log_txid, log_tableid, "
  						 "    log_actionseq, log_cmdtype, "
  						 "    octet_length(log_cmddata), "
***************
*** 4448,4452 ****
  					(void) slon_mkquery(&query,
  						 "declare LOG cursor for select * from ("
! 						 "  select log_origin, log_xid, log_tableid, "
  						 "    log_actionseq, log_cmdtype, "
  						 "    octet_length(log_cmddata), "
--- 4423,4427 ----
  					(void) slon_mkquery(&query,
  						 "declare LOG cursor for select * from ("
! 						 "  select log_origin, log_txid, log_tableid, "
  						 "    log_actionseq, log_cmdtype, "
  						 "    octet_length(log_cmddata), "
***************
*** 4456,4460 ****
  						 "  from %s.sl_log_1 %s "
  						 "  union all "
! 						 "  select log_origin, log_xid, log_tableid, "
  						 "    log_actionseq, log_cmdtype, "
  						 "    octet_length(log_cmddata), "
--- 4431,4435 ----
  						 "  from %s.sl_log_1 %s "
  						 "  union all "
! 						 "  select log_origin, log_txid, log_tableid, "
  						 "    log_actionseq, log_cmdtype, "
  						 "    octet_length(log_cmddata), "
***************
*** 4675,4679 ****
  				{
  					char	   *log_origin = PQgetvalue(res, tupno, 0);
! 					char	   *log_xid = PQgetvalue(res, tupno, 1);
  					int			log_tableid = strtol(PQgetvalue(res, tupno, 2),
  													 NULL, 10);
--- 4650,4654 ----
  				{
  					char	   *log_origin = PQgetvalue(res, tupno, 0);
! 					char	   *log_txid = PQgetvalue(res, tupno, 1);
  					int			log_tableid = strtol(PQgetvalue(res, tupno, 2),
  													 NULL, 10);
***************
*** 4693,4697 ****
  							     "from %s.sl_log_1 "
  							     "where log_origin = '%s' "
! 							     "  and log_xid = '%s' "
  							     "  and log_actionseq = '%s' "
  							     "UNION ALL "
--- 4668,4672 ----
  							     "from %s.sl_log_1 "
  							     "where log_origin = '%s' "
! 							     "  and log_txid = '%s' "
  							     "  and log_actionseq = '%s' "
  							     "UNION ALL "
***************
*** 4699,4708 ****
  							     "from %s.sl_log_2 "
  							     "where log_origin = '%s' "
! 							     "  and log_xid = '%s' "
  							     "  and log_actionseq = '%s'",
  							     rtcfg_namespace,
! 							     log_origin, log_xid, log_actionseq,
  							     rtcfg_namespace,
! 							     log_origin, log_xid, log_actionseq);
  						res2 = PQexec(dbconn, dstring_data(&query2));
  						if (PQresultStatus(res2) != PGRES_TUPLES_OK)
--- 4674,4683 ----
  							     "from %s.sl_log_2 "
  							     "where log_origin = '%s' "
! 							     "  and log_txid = '%s' "
  							     "  and log_actionseq = '%s'",
  							     rtcfg_namespace,
! 							     log_origin, log_txid, log_actionseq,
  							     rtcfg_namespace,
! 							     log_origin, log_txid, log_actionseq);
  						res2 = PQexec(dbconn, dstring_data(&query2));
  						if (PQresultStatus(res2) != PGRES_TUPLES_OK)
***************
*** 4748,4757 ****
  						slon_appendquery(&(line->log),
  									"insert into %s.sl_log_%d "
! 									"    (log_origin, log_xid, log_tableid, "
  									"     log_actionseq, log_cmdtype, "
  									"     log_cmddata) values "
  									"    ('%s', '%s', '%d', '%s', '%q', '%q');\n",
  									rtcfg_namespace, wd->active_log_table,
! 									log_origin, log_xid, log_tableid,
  									log_actionseq, log_cmdtype, log_cmddata);
  						largemem *= 2;
--- 4723,4732 ----
  						slon_appendquery(&(line->log),
  									"insert into %s.sl_log_%d "
! 									"    (log_origin, log_txid, log_tableid, "
  									"     log_actionseq, log_cmdtype, "
  									"     log_cmddata) values "
  									"    ('%s', '%s', '%d', '%s', '%q', '%q');\n",
  									rtcfg_namespace, wd->active_log_table,
! 									log_origin, log_txid, log_tableid,
  									log_actionseq, log_cmdtype, log_cmddata);
  						largemem *= 2;

Index: slon.h
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slon/slon.h,v
retrieving revision 1.64
retrieving revision 1.65
diff -C2 -d -r1.64 -r1.65
*** slon.h	23 Aug 2007 18:12:59 -0000	1.64
--- slon.h	19 Oct 2007 18:38:35 -0000	1.65
***************
*** 532,536 ****
  				   int ev_origin, int64 ev_seqno,
  				   char *ev_timestamp,
! 				   char *ev_minxid, char *ev_maxxid, char *ev_xip,
  				   char *ev_type,
  				   char *ev_data1, char *ev_data2,
--- 532,536 ----
  				   int ev_origin, int64 ev_seqno,
  				   char *ev_timestamp,
! 				   char *ev_snapshot, char *ev_mintxid, char *ev_maxtxid,
  				   char *ev_type,
  				   char *ev_data1, char *ev_data2,

Index: cleanup_thread.c
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slon/cleanup_thread.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -C2 -d -r1.39 -r1.40
*** cleanup_thread.c	5 Jul 2007 18:19:04 -0000	1.39
--- cleanup_thread.c	19 Oct 2007 18:38:35 -0000	1.40
***************
*** 131,135 ****
  		gettimeofday(&tv_start, NULL);
  		slon_mkquery(&query2,
! 					 "select ev_origin, ev_seqno, ev_minxid "
  					 "from %s.sl_event "
  					 "where (ev_origin, ev_seqno) in "
--- 131,136 ----
  		gettimeofday(&tv_start, NULL);
  		slon_mkquery(&query2,
! 					 "select ev_origin, ev_seqno, "
! 					 "  \"public\".txid_snapshot_xmin(ev_snapshot) "
  					 "from %s.sl_event "
  					 "where (ev_origin, ev_seqno) in "
***************
*** 155,162 ****
  						 "delete from %s.sl_log_1 "
  						 "where log_origin = '%s' "
! 						 "and log_xid < '%s'; "
  						 "delete from %s.sl_log_2 "
  						 "where log_origin = '%s' "
! 						 "and log_xid < '%s'; "
  						 "delete from %s.sl_seqlog "
  						 "where seql_origin = '%s' "
--- 156,163 ----
  						 "delete from %s.sl_log_1 "
  						 "where log_origin = '%s' "
! 						 "and log_txid < '%s'; "
  						 "delete from %s.sl_log_2 "
  						 "where log_origin = '%s' "
! 						 "and log_txid < '%s'; "
  						 "delete from %s.sl_seqlog "
  						 "where seql_origin = '%s' "

Index: remote_listen.c
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slon/remote_listen.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -C2 -d -r1.36 -r1.37
*** remote_listen.c	27 Jun 2007 16:20:24 -0000	1.36
--- remote_listen.c	19 Oct 2007 18:38:35 -0000	1.37
***************
*** 677,681 ****
  	(void) slon_mkquery(&query,
  				 "select ev_origin, ev_seqno, ev_timestamp, "
! 				 "       ev_minxid, ev_maxxid, ev_xip, "
  				 "       ev_type, "
  				 "       ev_data1, ev_data2, "
--- 677,683 ----
  	(void) slon_mkquery(&query,
  				 "select ev_origin, ev_seqno, ev_timestamp, "
! 				 "       ev_snapshot, "
! 				 "       \"public\".txid_snapshot_xmin(ev_snapshot), "
! 				 "       \"public\".txid_snapshot_xmax(ev_snapshot), "
  				 "       ev_type, "
  				 "       ev_data1, ev_data2, "
***************
*** 791,797 ****
  						   ev_origin, ev_seqno,
  						   PQgetvalue(res, tupno, 2),	/* ev_timestamp */
! 						   PQgetvalue(res, tupno, 3),	/* ev_minxid */
! 						   PQgetvalue(res, tupno, 4),	/* ev_maxxid */
! 						   PQgetvalue(res, tupno, 5),	/* ev_xip */
  						   PQgetvalue(res, tupno, 6),	/* ev_type */
  			 (PQgetisnull(res, tupno, 7)) ? NULL : PQgetvalue(res, tupno, 7),
--- 793,799 ----
  						   ev_origin, ev_seqno,
  						   PQgetvalue(res, tupno, 2),	/* ev_timestamp */
! 						   PQgetvalue(res, tupno, 3),	/* ev_snapshot */
! 						   PQgetvalue(res, tupno, 4),	/* mintxid */
! 						   PQgetvalue(res, tupno, 5),	/* maxtxid */
  						   PQgetvalue(res, tupno, 6),	/* ev_type */
  			 (PQgetisnull(res, tupno, 7)) ? NULL : PQgetvalue(res, tupno, 7),

Index: local_listen.c
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slon/local_listen.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -d -r1.43 -r1.44
*** local_listen.c	4 Oct 2007 15:33:45 -0000	1.43
--- local_listen.c	19 Oct 2007 18:38:35 -0000	1.44
***************
*** 174,178 ****
  		(void) slon_mkquery(&query1,
  					 "select ev_seqno, ev_timestamp, "
! 					 "       ev_minxid, ev_maxxid, ev_xip, "
  					 "       ev_type, "
  					 "       ev_data1, ev_data2, ev_data3, ev_data4, "
--- 174,178 ----
  		(void) slon_mkquery(&query1,
  					 "select ev_seqno, ev_timestamp, "
! 					 "       'dummy', 'dummy', 'dummy', "
  					 "       ev_type, "
  					 "       ev_data1, ev_data2, ev_data3, ev_data4, "



More information about the Slony1-commit mailing list