Chris Browne cbbrowne at lists.slony.info
Mon Aug 27 08:43:05 PDT 2007
Update of /home/cvsd/slony1/slony1-engine/tests/testlogship
In directory main.slony.info:/tmp/cvs-serv6028

Modified Files:
	ddl_updates.sql generate_dml.sh init_data.sql 
	init_subscribe_set.ik settings.ik 
Added Files:
	moveset.sh 
Log Message:
Commit a host of changes made in 1.2 branch to log shipping tests to HEAD


Index: settings.ik
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/tests/testlogship/settings.ik,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** settings.ik	20 Apr 2007 20:54:55 -0000	1.2
--- settings.ik	27 Aug 2007 15:43:03 -0000	1.3
***************
*** 1,6 ****
  NUMCLUSTERS=${NUMCLUSTERS:-"1"}
! NUMNODES=${NUMNODES:-"3"}
  ORIGINNODE=1
  WORKERS=${WORKERS:-"1"}
  ARCHIVE2=true   # Node #2 needs to run log archiving
! LOGSHIP3=true   # Node #3 receives data via log shipping
\ No newline at end of file
--- 1,6 ----
  NUMCLUSTERS=${NUMCLUSTERS:-"1"}
! NUMNODES=${NUMNODES:-"4"}
  ORIGINNODE=1
  WORKERS=${WORKERS:-"1"}
  ARCHIVE2=true   # Node #2 needs to run log archiving
! LOGSHIP3=true   # Node #3 receives data via log shipping

--- NEW FILE: moveset.sh ---
testname=$1
echo "
  LOCK SET ( ID = 1, ORIGIN = 1 );
  MOVE SET ( ID = 1, OLD ORIGIN = 1, NEW ORIGIN = 4 );
"

Index: generate_dml.sh
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/tests/testlogship/generate_dml.sh,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** generate_dml.sh	20 Apr 2007 21:43:14 -0000	1.3
--- generate_dml.sh	27 Aug 2007 15:43:03 -0000	1.4
***************
*** 43,50 ****
      rb=$(random_number 1 9)
      rc=$(random_number 1 9)
!     echo "INSERT INTO table1(data) VALUES ('${txta}');" >> $GENDATA
!     echo "INSERT INTO table2(table1_id,data) SELECT id, '${txtb}' FROM table1 WHERE data='${txta}';" >> $GENDATA
!     echo "INSERT INTO table3(table2_id) SELECT id FROM table2 WHERE data ='${txtb}';" >> $GENDATA
!     echo "INSERT INTO table5(numcol,realcol,ptcol,pathcol,polycol,circcol,ipcol,maccol,bitcol) values ('${ra}${rb}.${rc}','${ra}.${rb}${rc}','(${ra},${rb})','((${ra},${ra}),(${rb},${rb}),(${rc},${rc}),(${ra},${rc}))','((${ra},${rb}),(${rc},${ra}),(${rb},${rc}),(${rc},${rb}))','<(${ra},${rb}),${rc}>','192.168.${ra}.${rb}${rc}','08:00:2d:0${ra}:0${rb}:0${rc}',X'${ra}${rb}${rc}');" >> $GENDATA
      if [ ${i} -ge ${numrows} ]; then
        break;
--- 43,50 ----
      rb=$(random_number 1 9)
      rc=$(random_number 1 9)
!     echo "INSERT INTO table1(data) VALUES ('${txta} - Gross C format string: %d%05d%s%s%f%l%-72.52LG');" >> ${GENDATA}
!     echo "INSERT INTO table2(table1_id,data) SELECT id, '${txtb}' FROM table1 WHERE data='${txta}';" >> ${GENDATA}
!     echo "INSERT INTO table3(table2_id) SELECT id FROM table2 WHERE data ='${txtb}';" >> ${GENDATA}
!     echo "INSERT INTO table4(numcol,realcol,ptcol,pathcol,polycol,circcol,ipcol,maccol,bitcol) values ('${ra}${rb}.${rc}','${ra}.${rb}${rc}','(${ra},${rb})','((${ra},${ra}),(${rb},${rb}),(${rc},${rc}),(${ra},${rc}))','((${ra},${rb}),(${rc},${ra}),(${rb},${rc}),(${rc},${rb}))','<(${ra},${rb}),${rc}>','192.168.${ra}.${rb}${rc}','08:00:2d:0${ra}:0${rb}:0${rc}',X'${ra}${rb}${rc}');" >> ${GENDATA}
      if [ ${i} -ge ${numrows} ]; then
        break;
***************
*** 87,90 ****
--- 87,92 ----
    status "pull log shipping dump" 
    PGHOST=${HOST2} PGPORT=${PORT2} PGUSER=${USER2} ${SLTOOLDIR}/slony1_dump.sh ${DB2} ${CLUSTER1} > ${mktmp}/logship_dump.sql
+   status "load schema for replicated tables into node #3"
+   ${PGBINDIR3}/psql -h ${HOST3} -p ${PORT3} -U ${USER3} -d ${DB3} -f ${testname}/init_schema.sql
    status "load log shipping dump into node #3"
    ${PGBINDIR3}/psql -h ${HOST3} -p ${PORT3} -U ${USER3} -d ${DB3} -f ${mktmp}/logship_dump.sql
***************
*** 113,120 ****
  
    wait_for_catchup
!   status "second data load complete - now load files into log shipped node"
!   for logfile in `/usr/bin/find ${mktmp}/archive_logs_2 -name "slony1_log_*.sql" -type f | sort`; do
!     $pgbindir/psql -h ${HOST3} -p ${PORT3} -d ${DB3} -U ${USER3} -f ${logfile} >> $mktmp/logshipping_output.log 2>> $mktmp/logshipping_errors.log
!     status "load file ${logfile} - ${?}"
    done
    status "done"
--- 115,154 ----
  
    wait_for_catchup
! 
!   status "move set to node 4"
! 
!   init_preamble
!   sh ${testname}/moveset.sh ${testname} >> $SCRIPT
!   do_ik
! 
!   status "origin moved"
! 
!   generate_initdata
!   eval db=\$DB4
!   status "loading extra data to node $db"
!   $pgbindir/psql -h $host -p $port -U $user -d $db < $mktmp/generate.data 1> ${mktmp}/even_more_data.log 2> ${mktmp}/even_more_data.log2
! 
!   wait_for_catchup
! 
! 
!   status "final data load complete - now load files into log shipped node"
!   firstseq=`(cd ${mktmp}/archive_logs_2; /usr/bin/find -name "*.sql") | cut -d "_" -f 4 | cut -d "." -f 1 | sort -n | head -1`
!   lastseq=`(cd ${mktmp}/archive_logs_2; /usr/bin/find -name "*.sql") | cut -d "_" -f 4 | cut -d "." -f 1 | sort -n | tail -1`
!   status "Logs numbered from ${firstseq} to ${lastseq}"
!   currseq=${firstseq}
!   while : ; do
! #      00000000000000000000
! #      12345678901234567890
!     cs=`printf "%020d" ${currseq}`
!     status "current sequence value: ${cs}"
!     for logfile in `/usr/bin/find ${mktmp}/archive_logs_2 -name "slony1_log_*_${cs}.sql" -type f`; do
!       $pgbindir/psql -h ${HOST3} -p ${PORT3} -d ${DB3} -U ${USER3} -f ${logfile} >> $mktmp/logshipping_output.log 2>> $mktmp/logshipping_errors.log
!       status "load file ${logfile} - ${?}"
!     done
!     if [ ${currseq} -gt ${lastseq} ]; then
!       break;
!     else
!       currseq=`expr ${currseq} + 1`
!     fi
    done
    status "done"

Index: ddl_updates.sql
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/tests/testlogship/ddl_updates.sql,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** ddl_updates.sql	20 Apr 2007 21:43:14 -0000	1.2
--- ddl_updates.sql	27 Aug 2007 15:43:03 -0000	1.3
***************
*** 3,4 ****
--- 3,6 ----
  alter table table4 add column newint integer;
  update table4 set newint = 42;
+ -- The following tries to exercise any cases where DDL statements might be evaluated by printf()
+ update table1 set data = data || '%d%s%s%s%s%f%l%d%s%f%p%d%f' where id in (select id from table1 order by id desc limit 150);
\ No newline at end of file

Index: init_data.sql
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/tests/testlogship/init_data.sql,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** init_data.sql	20 Apr 2007 20:54:55 -0000	1.2
--- init_data.sql	27 Aug 2007 15:43:03 -0000	1.3
***************
*** 6,8 ****
  INSERT INTO table4(numcol,realcol,ptcol,pathcol,polycol,circcol,ipcol,maccol,bitcol) values ('74.0','7.40','(7,4)','((7,7),(4,4),(0,0),(7,0))','((7,4),(0,7),(4,0),(0,4))','<(7,4),0>','192.168.7.40','08:00:2d:07:04:00',X'740');
  
! INSERT INTO table4(numcol,realcol,ptcol,pathcol,polycol,circcol,ipcol,maccol,bitcol) values ('93.1','9.31','(9,3)','((9,9),(3,3),(1,1),(9,1))','((9,3),(1,9),(3,1),(1,3))','<(9,3),1>','192.168.9.31','08:00:2d:09:03:01',X'931');
\ No newline at end of file
--- 6,10 ----
  INSERT INTO table4(numcol,realcol,ptcol,pathcol,polycol,circcol,ipcol,maccol,bitcol) values ('74.0','7.40','(7,4)','((7,7),(4,4),(0,0),(7,0))','((7,4),(0,7),(4,0),(0,4))','<(7,4),0>','192.168.7.40','08:00:2d:07:04:00',X'740');
  
! INSERT INTO table4(numcol,realcol,ptcol,pathcol,polycol,circcol,ipcol,maccol,bitcol) values ('93.1','9.31','(9,3)','((9,9),(3,3),(1,1),(9,1))','((9,3),(1,9),(3,1),(1,3))','<(9,3),1>','192.168.9.31','08:00:2d:09:03:01',X'931');
! 
! insert into table1 (data) values ('Evil C Format String: %d%05d%s%f%G%p%n%ld');
\ No newline at end of file

Index: init_subscribe_set.ik
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/tests/testlogship/init_subscribe_set.ik,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** init_subscribe_set.ik	20 Apr 2007 20:54:55 -0000	1.2
--- init_subscribe_set.ik	27 Aug 2007 15:43:03 -0000	1.3
***************
*** 3,4 ****
--- 3,8 ----
  sleep (seconds = 2);
  echo 'done sleeping...';
+ subscribe set (id = 1, provider = 1, receiver = 4, forward = yes);
+ echo 'sleep a couple of seconds...';
+ sleep (seconds = 2);
+ echo 'done sleeping...';



More information about the Slony1-commit mailing list