adding test scripts
[csql.git] / test / cache / Bidirectional / test012.ksh
blobec8e76b1cababd13793b1bea428978c390ab3fa5
1 #!/bin/ksh
2 # Test Case
4 # Bi-directional mutiple cache node test
5 # Two Cache Node and t1 and t2 table to be cached
6 # Delete operation in one cache node database
8 input=${PWD}/cache/Bidirectional/mysqlcreatelogtable.sql
10 REL_PATH=.
11 if [ -s "$input" ]
12 then
13 REL_PATH=${PWD}/cache/Bidirectional
16 rm -f /tmp/csql.conf
17 cp $REL_PATH/csql.conf /tmp
18 export CSQL_CONFIG_FILE=/tmp/csql.conf
19 echo DSN=$DSN >>$CSQL_CONFIG_FILE
20 DS="$DSN $DBUSER $PASSWORD"
21 rm -f /tmp/csql/csqlds.conf
22 touch /tmp/csql/csqlds.conf
23 $CSQL_INSTALL_ROOT/bin/csqlds -U $DBUSER -P $PASSWORD -D $DSN -N $TDB -a
24 if [ $? -ne 0 ]
25 then
26 exit 1;
28 if [ "$DSN" = "myodbc3" ]
29 then
30 LOG_FILE=$REL_PATH/mysqlcreatelogtable.sql
31 TRI_FILE1=$REL_PATH/trigger.sql
32 TRI_FILE2=$REL_PATH/trigger1.sql
33 elif [ "$DSN" = "psql" ]
34 then
35 LOG_FILE=$REL_PATH/psqlcreatelogtable.sql
36 TRI_FILE1=$REL_PATH/trigger.psql
37 TRI_FILE2=$REL_PATH/trigger1.psql
38 elif [ "$DSN" = "oracle" ]
39 then
40 LOG_FILE=$REL_PATH/oraclecreatelogtable.sql
41 TRI_FILE1=$REL_PATH/triggermul.oracle
42 TRI_FILE2=$REL_PATH/trigger1mul.oracle
43 elif [ "$DSN" = "sybase" ]
44 then
45 LOG_FILE=$REL_PATH/sybasecreatelogtable.sql
46 TRI_FILE1=$REL_PATH/trigger.sybase
47 TRI_FILE2=$REL_PATH/trigger1.sybase
48 elif [ "$DSN" = "db2" ]
49 then
50 LOG_FILE=$REL_PATH/db2createlogtable.sql
51 TRI_FILE1=$REL_PATH/trigger.db2
52 TRI_FILE2=$REL_PATH/trigger1.db2
53 else
54 LOG_FILE=
55 TRI_FILE1=
56 TRI_FILE2=
59 #echo $DS
61 isql $DS < $LOG_FILE >/dev/null 2>&1
62 if [ $? -ne 0 ]
63 then
64 echo "DSN is not set for target db"
65 exit 1
68 echo table csql_log_int is created with records in target db
70 isql $DS < $REL_PATH/create.sql >/dev/null 2>&1
71 rm -f /tmp/csql/csqltable.conf
72 touch /tmp/csql/csqltable.conf
73 isql $DS < $TRI_FILE1 >/dev/null
74 isql $DS < $TRI_FILE2 >/dev/null
77 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
78 pid=$!
79 sleep 5
80 echo "server 1 started"
82 for a in 1 2
84 $CSQL_INSTALL_ROOT/bin/cachetable -t t$a -d $DSN
85 if [ $? -ne 0 ]
86 then
87 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
88 kill -9 $pid
89 ipcrm -M 4000 -M 4500
90 isql $DS < ${REL_PATH}/mysqldeletelogtable.sql >/dev/null 2>&1
91 isql $DS < ${REL_PATH}/drop.sql >/dev/null 2>&1
92 exit 3;
94 sleep 2
95 done
97 echo "cache node 2"
98 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/select.sql
99 if [ $? -ne 0 ]
100 then
101 echo "unable to locate cache 1"
102 isql $DS < $REL_PATH/mysqldeletelogtable.sql >/dev/null 2>&1
103 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
104 kill -9 $pid
105 ipcrm -M 4000 -M 4500
106 exit 3
108 mkdir /tmp/csql1 >/dev/null 2>&1
109 rm -f /tmp/csql1/csqltable.conf
110 touch /tmp/csql1/csqltable.conf
112 rm -f /tmp/csql1.conf
113 cp $REL_PATH/conf/csql.conf /tmp/csql1.conf
114 export CSQL_CONFIG_FILE=/tmp/csql1.conf
115 echo DSN=$DSN >>$CSQL_CONFIG_FILE
116 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
117 pid1=$!
118 sleep 5
119 echo "server 2 started"
120 for a in 1 2
122 $CSQL_INSTALL_ROOT/bin/cachetable -t t$a -d $DSN
123 if [ $? -ne 0 ]
124 then
125 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
126 kill -9 $pid $pid1
127 ipcrm -M 4000 -M 4500 -M 5000 -M 5500
128 exit 6;
130 sleep 2
131 done
133 echo "cache node 1"
134 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/select.sql
135 if [ $? -ne 0 ]
136 then
137 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
138 kill -9 $pid $pid1
139 ipcrm -M 4000 -M 4500 -M 5000 -M 5500
140 echo "unable to locate cache 1"
141 isql $DS < $REL_PATH/mysqldeletelogtable.sql >/dev/null 2>&1
142 exit 4
144 echo "Delete operation in cache node 1"
145 $CSQL_INSTALL_ROOT/bin/csql -g < ${REL_PATH}/delete.sql > /dev/null 2>&1
146 sleep 20
147 echo "cache node 1"
148 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/select.sql
150 export CSQL_CONFIG_FILE=/tmp/csql.conf
151 echo "cache node 2"
152 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/select.sql
154 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/drop.sql > /dev/null 2>&1
155 isql $DS < ${REL_PATH}/drop.sql >/dev/null 2>&1
156 rm -f /tmp/csql/csqltable.conf
157 touch /tmp/csql/csqltable.conf
158 rm -f /tmp/csql1/csqltable.conf
159 touch /tmp/csql1/csqltable.conf
160 isql $DS < $REL_PATH/mysqldeletelogtable.sql >/dev/null 2>&1
161 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
162 kill -9 $pid $pid1
163 ipcrm -M 4000 -M 4500 -M 5000 -M 5500
164 exit 0;