# pgsql lookups
+# The pgsql-devel (or equivalent) package will be need for Exim to build, and
+# the postgresql-server (or equivalent) package for this test to run.
#
# first, populate a DB to test against
sudo rm -fr DIR/pgsql
+echo Starting DB server
perl
-system 'initdb -D DIR/pgsql/data';
+system 'DIR/bin.sys/initdb -D DIR/pgsql/data';
****
sudo rm test-stdout
background
-/usr/bin/postgres -D DIR/pgsql/data -p PORT_N -k DIR/pgsql
+DIR/bin.sys/postgres -D DIR/pgsql/data -p PORT_N -k DIR/pgsql
****
sleep 1
+echo Waiting for DB server
perl
+system 'DIR/bin.sys/pg_ctl -w -D DIR/pgsql/data status';
system 'createdb -h localhost -p PORT_N test';
system 'psql -h localhost -p PORT_N -d test \
-c "CREATE TABLE them ( name text, id text ); \
INSERT INTO them VALUES ( CHR(39) || \'stquot\', \'quote1\' );" \
';
****
+echo Populated DB server
#
# now, the tests
exim -d-all+lookup -be
x
${lookup pgsql {SELECT name FROM them WHERE id IN ('ph10', 'aaaa');}}
${lookup pgsql {SELECT * FROM them WHERE id IN ('ph10', 'aaaa');}}
+${lookup pgsql {delete from them where id='aaaa'}}
****
exim -d -bh 10.0.0.0
mail from:<a@b>
****
#
perl
-system 'pg_ctl stop -D DIR/pgsql/data -m immediate';
+system 'DIR/bin.sys/pg_ctl stop -D DIR/pgsql/data -m immediate';
****
+sleep 2
killdaemon
sudo rm -fr DIR/pgsql