adding test scripts
[csql.git] / test / cache / FailOver / test006b.ksh
blob3a0cf7708b47fb2c3f155bf2a0f4bc3ed4ef027a
1 #!/bin/ksh
3 # 6.After connect and prepare, csql goes down. it should do insert for cached tables and MySQL in MySQL directly
4 # non cached csql tables will fail.
6 #Run this test only under csql/test or on this directory.
7 #Otherwise, it may fail
8 CSQL_CONF=${PWD}/cache/FailOver/csql.conf
9 input=${PWD}/cache/FailOver/csqlinputt3.sql
10 REL_PATH=.
11 if [ -s "$input" -a -s "$CSQL_CONF" ]
12 then
13 REL_PATH=${PWD}/cache/FailOver
16 rm -f /tmp/csql.conf
17 cp $REL_PATH/csql.conf /tmp/csql.conf
18 export CSQL_CONFIG_FILE=/tmp/csql.conf
20 echo DSN=$DSN >>$CSQL_CONFIG_FILE
21 DS="$DSN $DBUSER $PASSWORD"
22 rm -f /tmp/csql/csqlds.conf
23 touch /tmp/csql/csqlds.conf
24 $CSQL_INSTALL_ROOT/bin/csqlds -U $DBUSER -P $PASSWORD -D $DSN -N $TDB -a
25 if [ $? -ne 0 ]
26 then
27 exit 1;
30 isql $DS < $REL_PATH/dropt1t2.sql >/dev/null 2>&1
31 if [ $? -ne 0 ]
32 then
33 exit 2;
36 if [ $DSN = "oracle" ]
37 then
38 isql $DS < $REL_PATH/orainputt1.oracle >/dev/null 2>&1
39 elif [ $DSN = "sybase" ]
40 then
41 isql $DS < $REL_PATH/sybaseinputtest1.sql >/dev/null 2>&1
42 elif [ $DSN = "db2" ]
43 then
44 isql $DS < $REL_PATH/db2inputtest1.sql >/dev/null 2>&1
45 else
46 isql $DS < $REL_PATH/mysqlinputtest1.sql >/dev/null 2>&1
49 if [ $? -ne 0 ]
50 then
51 cp /tmp/csql.conf $CSQL_CONFIG_FILE
52 exit 1;
55 echo "table t1(to be cached) inserted into target db"
56 # edit /tmp/csql/csqltable.conf
57 rm -f /tmp/csql/csqltable.conf
58 touch /tmp/csql/csqltable.conf
60 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
61 pid=$!
62 sleep 5
63 $CSQL_INSTALL_ROOT/bin/cachetable -t t1 -d $DSN
64 if [ $? -ne 0 ]
65 then
66 kill -9 $pid
67 ipcrm -M 1199 -M 2277
68 exit 3;
71 echo "table t1 cached into csql"
73 if [ $DSN = "oracle" ]
74 then
75 isql $DS < $REL_PATH/orainputt2.oracle >/dev/null 2>&1
76 elif [ $DSN = "sybase" ]
77 then
78 isql $DS < $REL_PATH/sybaseinputtest2.sql >/dev/null 2>&1
79 elif [ $DSN = "db2" ]
80 then
81 isql $DS < $REL_PATH/db2inputtest2.sql >/dev/null 2>&1
82 else
83 isql $DS < $REL_PATH/mysqlinputtest2.sql >/dev/null 2>&1
86 if [ $? -ne 0 ]
87 then
88 cp /tmp/csql.conf $CSQL_CONFIG_FILE
89 exit 4;
92 echo "table t2(not cached) inserted into target db"
94 if [ $DSN = "oracle" ]
95 then
96 $CSQL_INSTALL_ROOT/bin/csql -g -s $REL_PATH/orainputt3.oracle >/dev/null 2>&1
97 else
98 $CSQL_INSTALL_ROOT/bin/csql -g -s $REL_PATH/csqlinputt3.sql >/dev/null 2>&1
100 echo "table t3 inserted into csql db"
102 if [ $DSN = "oracle" ]
103 then
104 ${REL_PATH}/insertprepcsqldownora &
105 else
106 ${REL_PATH}/insertprepcsqldown &
108 bgproc=$!
109 kill -9 $pid
110 ipcrm -M 1199 -M 2277
111 echo "csql server is down"
112 wait $bgproc
113 isql $DS < $REL_PATH/dropt1t2.sql >/dev/null 2>&1
114 if [ $? -ne 0 ]
115 then
116 exit 5;
119 rm -f /tmp/csql/csqltable.conf
120 touch /tmp/csql/csqltable.conf
121 exit 0;