summaryrefslogtreecommitdiff
path: root/test/scripts/2620-Postgresql/2620
blob: ba3a3bcc82fd6f5445d684b85d42bb642d59a94d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# pgsql lookups
#
# first, populate a DB to test against
sudo rm -fr DIR/pgsql
perl
system 'initdb -D DIR/pgsql/data';
****
background
/usr/bin/postgres -D DIR/pgsql/data -p PORT_N -k DIR/pgsql
****
perl
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 );" \
 -c "INSERT INTO them VALUES ( \'Philip Hazel\', \'ph10\' );" \
 -c "INSERT INTO them VALUES ( \'Aristotle\',    \'aaaa\' );" \
 -c "INSERT INTO them VALUES ( \'\', \'nothing\' );" \
 -c "INSERT INTO them VALUES ( \'\"stquot\', \'quote2\' );" \
 -c "INSERT INTO them VALUES ( \'before\' || CHR(13) || CHR(10) || \'after\', \'newline\' );" \
 -c "INSERT INTO them VALUES ( \'x\' || CHR(9) || \'x\', \'tab\' );" \
 -c "INSERT INTO them VALUES ( CHR(39) || \'stquot\', \'quote1\' );" \
 ';
****
#
# now, the tests
exim -d-all+lookup -be
${lookup pgsql {select name from them where id='ph10';}}
${lookup pgsql {select name from them where id='ph10';}}
${lookup pgsql {select name from them where id='xxxx';}}
${lookup pgsql {select name from them where id='nothing';}}
${lookup pgsql {select id,name from them where id='nothing';}}
${lookup pgsql {delete from them where id='nonexist';}}
${lookup pgsql {select * from them where id='quote2';}}
${lookup pgsql {select * from them where id='newline';}}
${lookup pgsql {select * from them where id='tab';}}
${lookup pgsql {select * from them where name='${quote_pgsql:'stquot}';}}
${lookup pgsql {servers=x:localhost; select name from them where id='ph10';}}
${lookup pgsql {servers=localhost::PORT_N:x; select name from them where id='ph10';}}
${lookup pgsql {servers=localhost::PORT_N/test/CALLER/:x; select name from them where id='ph10';}}
${lookup pgsql {servers=(DIR/pgsql/.s.PGSQL.PORT_N)/test/CALLER/:x; select name from them where id='ph10';}}
x
${lookup pgsql {SELECT name FROM them WHERE id IN ('ph10', 'aaaa');}}
${lookup pgsql {SELECT *    FROM them WHERE id IN ('ph10', 'aaaa');}}
****
exim -d -bh 10.0.0.0
mail from:<a@b>
rcpt to:<c@d>
rcpt to:<c@d>
quit
****
exim -odi -d CALLER
Test message
.
****
exim -DSERVERS=\(DIR/pgsql/.s.PGSQL.PORT_N\)/test/CALLER/ -d-all+lookup -be
${lookup pgsql {select name from them where id='ph10';}}
****
#
perl
system 'pg_ctl stop -D DIR/pgsql/data -m immediate';
****
killdaemon
sudo rm -fr DIR/pgsql