Mon Jan 15 13:38:24 PST 2007
- Previous message: [Slony1-commit] By cbbrowne: New Directory
- Next message: [Slony1-commit] By dfetter: Testing a commit for Josh Drake.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Log Message: ----------- Drafty script (it doesn't entirely work yet) to support comparing the results of generating a full schema from scratch with the latest Slony-I release with upgrades of every elder version back to 1.1.0. This would help us find cases where UPGRADE FUNCTIONS doesn't match against the latest schema. Added Files: ----------- slony1-engine/tests/one-offs/updatefunctions: test-update-functions.sh (r1.1) -------------- next part -------------- --- /dev/null +++ tests/one-offs/updatefunctions/test-update-functions.sh @@ -0,0 +1,88 @@ +#!/bin/sh +# $Id: test-update-functions.sh,v 1.1 2007/01/15 21:38:24 cbbrowne Exp $ + +# Where to stow Slony-I checkouts? +SRCHOME=${SRCHOME:-"/tmp/slony-sources"} +mkdir -p ${SRCHOME} + +# Pick a PostgreSQL build to do this against... +PGHOME=${PGHOME:-"/opt/OXRS/dbs/pgsql81"} +PGBINDIR=${PGHOME}/bin + +PGPORT=${PGPORT:-"5832"} +PGHOST=${PGHOST:-"localhost"} +PGUSER=${PGUSER:-"cbbrowne"} +PGDATABASE=${PGDATABASE:-"functest"} +SLONYCLUSTER=${SLONYCLUSTER:-"functest"} + +OURCVSROOT=":pserver:anonymous at gborg.postgresql.org:/usr/local/cvsroot/slony1" + +ELDERVERSIONS=" + REL_1_0_0 + REL_1_0_1 + REL_1_0_2 + REL_1_0_4 + REL_1_0_5 + REL_1_0_6 +" + +VERSIONS=" + REL_1_1_0 + REL_1_1_1 + REL_1_1_2 + REL_1_1_5 + REL_1_1_6 + REL_1_2_0 + REL_1_2_1 + REL_1_2_2 + REL_1_2_5 + REL_1_2_6 +" + +LATESTVERSION=`echo ${VERSIONS} | sort | tail -1` + +# Make sure all versions of Slony-I are present and built +for REL in `echo $VERSIONS | sort`; do + if [ -e ${SRCHOME}/slony1-engine-${REL} ] ; then + CHECKOUT=0 + else + cd ${SRCHOME} +echo" CVSROOT=\"${OURCVSROOT}\" cvs export -r${REL} slony1-engine" + CVSROOT="${OURCVSROOT}" cvs export -r${REL} slony1-engine + mv slony1-engine slony1-engine-${REL} + cd ${SRCHOME}/slony1-engine-${REL} + if [ echo ${REL} | egrep 'REL_1_2' ] ; then + ./configure --with-pgconfigdir=${PGBINDIR} + fi + if [ echo ${REL} | egrep 'REL_1_1' ] ; then + ./configure --with-pgconfigdir=${PGBINDIR} --with-pgbindir=${PGBINDIR} --with-pgincludedir=${PGHOME}/include --with-pgincludeserverdir=${PGHOME}/include/server --with-pglibdir=${PGHOME}/lib --with-pgpkglibdir=${PGHOME}/lib --with-pgsharedir=${PGHOME}/share + fi + make + fi +done + +echo <<EOF > $SRCHOME/init-cluster.slonik +cluster name = ${SLONYCLUSTER}; +node 1 admin conninfo='host=${PGHOST} dbname=${PGDATABASE} user=${PGUSER} port=${PGPORT}'; +init cluster (id=1, 'test cluster for checking schema'); +EOF + +echo <<EOF > $SRCHOME/update-functions.slonik +cluster name = ${SLONYCLUSTER}; +node 1 admin conninfo='host=${PGHOST} dbname=${PGDATABASE} user=${PGUSER} port=${PGPORT}'; +update functions (id=1); +EOF + +for rel in `echo $VERSIONS | sort`; do + ${PGBINDIR}/dropdb -h ${PGHOST} -p ${PGPORT} -U ${PGUSER} ${PGDATABASE} + ${PGBINDIR}/createdb -h ${PGHOST} -p ${PGPORT} -U ${PGUSER} ${PGDATABASE} + ${PGBINDIR}/createlang -h ${PGHOST} -p ${PGPORT} -U ${PGUSER} plpgsql ${PGDATABASE} + cd ${SRCHOME}/slony1-engine-${rel} + make install + ${PGBINDIR}/slonik ${SRCHOME}/init-cluster.slonik + cd ${SRCHOME}/slony1-engine-${LATESTVERSION} + make install + ${PGBINDIR}/slonik ${SRCHOME}/update-functions.slonik + mkdir -p $SRCHOME/relschemas + ${PGBINDIR}/pg_dump -h ${PGHOST} -p ${PGPORT} -U ${PGUSER} ${PGDATABASE} > $SRCHOME/relschemas/${rel}-to-${LATESTVERSION}.sql +done
- Previous message: [Slony1-commit] By cbbrowne: New Directory
- Next message: [Slony1-commit] By dfetter: Testing a commit for Josh Drake.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-commit mailing list