Chris Browne cbbrowne at lists.slony.info
Wed Jun 17 14:37:40 PDT 2009
Update of /home/cvsd/slony1/slony1-engine/src/slonik
In directory main.slony.info:/tmp/cvs-serv2472/src/slonik

Modified Files:
      Tag: REL_2_0_STABLE
	parser.y scan.l slonik.c slonik.h 
Log Message:
Add in OMIT COPY option to SUBSCRIBE SET in support of upgrading from
elder Slony-I versions.


Index: slonik.h
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slonik/slonik.h,v
retrieving revision 1.34
retrieving revision 1.34.2.1
diff -C2 -d -r1.34 -r1.34.2.1
*** slonik.h	14 Feb 2008 22:21:42 -0000	1.34
--- slonik.h	17 Jun 2009 21:37:38 -0000	1.34.2.1
***************
*** 352,355 ****
--- 352,356 ----
  	int			sub_receiver;
  	int			sub_forward;
+ 	int			omit_copy;
  };
  

Index: parser.y
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slonik/parser.y,v
retrieving revision 1.32
retrieving revision 1.32.2.1
diff -C2 -d -r1.32 -r1.32.2.1
*** parser.y	11 Apr 2008 15:44:23 -0000	1.32
--- parser.y	17 Jun 2009 21:37:38 -0000	1.32.2.1
***************
*** 37,40 ****
--- 37,41 ----
  	O_NODE_ID,
  	O_OLD_ORIGIN,
+ 	O_OMIT_COPY,
  	O_ORIGIN,
  	O_PROVIDER,
***************
*** 184,187 ****
--- 185,189 ----
  %token	K_CONNINFO
  %token	K_CONNRETRY
+ %token	K_COPY
  %token	K_CREATE
  %token	K_DROP
***************
*** 213,216 ****
--- 215,219 ----
  %token	K_OFF
  %token	K_OLD
+ %token  K_OMIT
  %token	K_ON
  %token	K_ONLY
***************
*** 1161,1164 ****
--- 1164,1168 ----
  							STMT_OPTION_INT( O_RECEIVER, -1 ),
  							STMT_OPTION_YN( O_FORWARD, 0 ),
+ 							STMT_OPTION_YN( O_OMIT_COPY, 0 ),
  							STMT_OPTION_END
  						};
***************
*** 1177,1180 ****
--- 1181,1185 ----
  							new->sub_receiver	= opt[2].ival;
  							new->sub_forward	= opt[3].ival;
+ 							new->omit_copy      = opt[4].ival;
  						}
  						else
***************
*** 1544,1547 ****
--- 1549,1557 ----
  						$$ = $4;
  					}
+ 					| K_OMIT K_COPY '=' option_item_yn
+ 					{
+ 						$4->opt_code	= O_OMIT_COPY;
+ 						$$ = $4;
+ 					}
  					| K_NEW K_ORIGIN '=' option_item_id
  					{
***************
*** 1800,1803 ****
--- 1810,1814 ----
  		case O_NODE_ID:			return "node id";
  		case O_OLD_ORIGIN:		return "old origin";
+ 		case O_OMIT_COPY:       return "omit copy";
  		case O_ORIGIN:			return "origin";
  		case O_PROVIDER:		return "provider";

Index: slonik.c
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slonik/slonik.c,v
retrieving revision 1.91.2.1
retrieving revision 1.91.2.2
diff -C2 -d -r1.91.2.1 -r1.91.2.2
*** slonik.c	30 Apr 2009 15:46:15 -0000	1.91.2.1
--- slonik.c	17 Jun 2009 21:37:38 -0000	1.91.2.2
***************
*** 3426,3434 ****
  
  	slon_mkquery(&query,
! 				 "select \"_%s\".subscribeSet(%d, %d, %d, '%s'); ",
  				 stmt->hdr.script->clustername,
  				 stmt->sub_setid, stmt->sub_provider,
  				 stmt->sub_receiver,
! 				 (stmt->sub_forward) ? "t" : "f");
  	if (db_exec_evcommand((SlonikStmt *) stmt, adminfo1, &query) < 0)
  	{
--- 3426,3435 ----
  
  	slon_mkquery(&query,
! 				 "select \"_%s\".subscribeSet(%d, %d, %d, '%s', '%s'); ",
  				 stmt->hdr.script->clustername,
  				 stmt->sub_setid, stmt->sub_provider,
  				 stmt->sub_receiver,
! 				 (stmt->sub_forward) ? "t" : "f",
! 				 (stmt->omit_copy) ? "t" : "f");
  	if (db_exec_evcommand((SlonikStmt *) stmt, adminfo1, &query) < 0)
  	{

Index: scan.l
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slonik/scan.l,v
retrieving revision 1.30
retrieving revision 1.30.2.1
diff -C2 -d -r1.30 -r1.30.2.1
*** scan.l	14 Feb 2008 22:21:42 -0000	1.30
--- scan.l	17 Jun 2009 21:37:38 -0000	1.30.2.1
***************
*** 72,75 ****
--- 72,76 ----
  backup			{ return K_BACKUP;			}
  client			{ return K_CLIENT;			}
+ copy			{ return K_COPY;			}
  clone			{ return K_CLONE;			}
  cluster			{ return K_CLUSTER;			}
***************
*** 109,112 ****
--- 110,114 ----
  off				{ return K_OFF;				}
  old				{ return K_OLD;				}
+ omit				{ return K_OMIT;				}
  on				{ return K_ON;				}
  only			{ return K_ONLY;			}



More information about the Slony1-commit mailing list