1 |
# regress.sh |
2 |
# rserv regression test script |
3 |
# (c) 2000 Thomas Lockhart, PostgreSQL Inc. |
4 |
# |
5 |
# modified for multiple-masters by Dobrica Pavlinusic <dpavlin@rot13.org> |
6 |
|
7 |
dir="`dirname $0`/../" |
8 |
|
9 |
dropdb master |
10 |
dropdb slave |
11 |
|
12 |
createdb master || exit 1; |
13 |
createdb slave || exit 1; |
14 |
|
15 |
$dir/bin/MultiMasterInit -d -v master slave |
16 |
|
17 |
psql -c "create table t1 (i int, t text, d timestamp default 'now');" master |
18 |
psql -c "create table t1 (i int, t text, d timestamp default 'now');" slave |
19 |
|
20 |
$dir/bin/MasterAddTable -d master t1 d |
21 |
$dir/bin/MasterAddTable -d --masterserver=1 slave t1 d |
22 |
$dir/bin/SlaveAddTable master t1 d |
23 |
$dir/bin/SlaveAddTable slave t1 d |
24 |
|
25 |
psql -c "insert into t1 values (1, 'one insert master');" master |
26 |
psql -c "insert into t1 values (2, 'two insert master');" master |
27 |
psql -c "insert into t1 values (101, '101 insert on slave');" slave |
28 |
|
29 |
$dir/bin/Replicate -d master slave |
30 |
$dir/bin/MasterSync master `$dir/bin/GetSyncID --noverbose slave` |
31 |
echo "master -> slave over" |
32 |
|
33 |
$dir/bin/Replicate -d --multiplemaster slave master |
34 |
$dir/bin/MasterSync --slaveserver=1 slave `$dir/bin/GetSyncID --noverbose master` |
35 |
echo "slave -> master over" |
36 |
|
37 |
psql -c "insert into t1 values (3, 'three insert on master');" master |
38 |
psql -c "insert into t1 values (4, 'four insert on slave');" master |
39 |
psql -c "delete from t1 where i=1;" master |
40 |
psql -c "update t1 set t='two, updated on master' where i=2;" master |
41 |
|
42 |
# conflicts |
43 |
psql -c "delete from t1 where i=1;" slave |
44 |
psql -c "update t1 set t='two, updated on slave' where i=2;" slave |
45 |
|
46 |
$dir/bin/Replicate -d --multiplemaster master slave |
47 |
$dir/bin/MasterSync master `$dir/bin/GetSyncID --noverbose slave` |
48 |
echo "master -> slave over" |
49 |
|
50 |
$dir/bin/Replicate -d --multiplemaster slave master |
51 |
$dir/bin/MasterSync --slaveserver=1 slave `$dir/bin/GetSyncID --noverbose master` |
52 |
echo "slave -> master over" |
53 |
|
54 |
exit |