adding test scripts
[csql.git] / test / cache / Bidirectional / test006.ksh
blobe6662fb0409284243202209e50e33d5208587364
1 #!/bin/ksh
2 # Test Case
4 # Bi-directional cache test
5 # Cache t1 and t2 table with primary key field
6 # Set bidirectional flag in csql.conf to true,Create log table from target db .Run trigger.
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/trigger.oracle
42 TRI_FILE2=$REL_PATH/trigger1.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 isql $DS < $LOG_FILE >/dev/null 2>&1
60 if [ $? -ne 0 ]
61 then
62 echo "DSN is not set for target db"
63 exit 1
66 echo Log table created in target DB
68 isql $DS < $REL_PATH/create.sql >/dev/null 2>&1
69 rm -f /tmp/csql/csqltable.conf
70 touch /tmp/csql/csqltable.conf
71 isql $DS <$TRI_FILE1 >/dev/null
72 isql $DS <$TRI_FILE2 >/dev/null
75 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
76 pid=$!
77 sleep 5
78 for a in 1 2
80 $CSQL_INSTALL_ROOT/bin/cachetable -t t$a -d $DSN
81 if [ $? -ne 0 ]
82 then
83 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
84 kill -9 $pid
85 ipcrm -M 4000 -M 4500
86 isql $DS < ${REL_PATH}/mysqldeletelogtable.sql >/dev/null 2>&1
87 isql $DS < ${REL_PATH}/drop.sql >/dev/null 2>&1
88 exit 3;
90 sleep 2
91 done
93 echo "server started"
94 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/select.sql
95 if [ $? -ne 0 ]
96 then
97 echo "unable to locate cache 1"
98 isql $DS < ${REL_PATH}/mysqldeletelogtable.sql >/dev/null 2>&1
99 isql $DS < ${REL_PATH}/drop.sql >/dev/null 2>&1
100 rm -f /tmp/csql/csqltable.conf
101 touch /tmp/csql/csqltable.conf
102 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
103 kill -9 $pid
104 ipcrm -M 4000 -M 4500
105 exit 1
107 echo "Update some record in target database"
108 isql $DS < ${REL_PATH}/update.sql >/dev/null 2>&1
109 sleep 25
110 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/select.sql
112 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/drop.sql > /dev/null 2>&1
113 isql $DS < ${REL_PATH}/drop.sql >/dev/null 2>&1
114 rm -f /tmp/csql/csqltable.conf
115 touch /tmp/csql/csqltable.conf
116 isql $DS < $REL_PATH/mysqldeletelogtable.sql >/dev/null 2>&1
117 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
118 kill -9 $pid
119 ipcrm -M 4000 -M 4500
120 exit 0;