adding test scripts
[csql.git] / test / cache / Bidirectional / test004.ksh
blob314eeccad60312c536ac7e1eccfd65e44ee87c9a
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
15 rm /tmp/csql.conf
16 cp $REL_PATH/csql.conf /tmp
17 export CSQL_CONFIG_FILE=/tmp/csql.conf
18 echo DSN=$DSN >>$CSQL_CONFIG_FILE
19 DS="$DSN $DBUSER $PASSWORD"
20 rm -f /tmp/csql/csqlds.conf
21 touch /tmp/csql/csqlds.conf
22 $CSQL_INSTALL_ROOT/bin/csqlds -U $DBUSER -P $PASSWORD -D $DSN -N $TDB -a
23 if [ $? -ne 0 ]
24 then
25 exit 1;
27 if [ "$DSN" = "myodbc3" ]
28 then
29 LOG_FILE=$REL_PATH/mysqlcreatelogtable.sql
30 TRI_FILE1=$REL_PATH/trigger.sql
31 TRI_FILE2=$REL_PATH/trigger1.sql
32 elif [ "$DSN" = "psql" ]
33 then
34 LOG_FILE=$REL_PATH/psqlcreatelogtable.sql
35 TRI_FILE1=$REL_PATH/trigger.psql
36 TRI_FILE2=$REL_PATH/trigger1.psql
37 elif [ "$DSN" = "oracle" ]
38 then
39 LOG_FILE=$REL_PATH/oraclecreatelogtable.sql
40 TRI_FILE1=$REL_PATH/trigger.oracle
41 TRI_FILE2=$REL_PATH/trigger1.oracle
42 elif [ "$DSN" = "sybase" ]
43 then
44 LOG_FILE=$REL_PATH/sybasecreatelogtable.sql
45 TRI_FILE1=$REL_PATH/trigger.sybase
46 TRI_FILE2=$REL_PATH/trigger1.sybase
47 elif [ "$DSN" = "db2" ]
48 then
49 LOG_FILE=$REL_PATH/db2createlogtable.sql
50 TRI_FILE1=$REL_PATH/trigger.db2
51 TRI_FILE2=$REL_PATH/trigger1.db2
52 else
53 LOG_FILE=
54 TRI_FILE1=
55 TRI_FILE2=
58 #echo $DS
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
74 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
75 pid=$!
76 sleep 5
77 echo "server started"
79 for a in 1 2
81 $CSQL_INSTALL_ROOT/bin/cachetable -t t$a -d $DSN
82 if [ $? -ne 0 ]
83 then
84 isql $DS < ${REL_PATH}/drop.sql >/dev/null 2>&1
85 isql $DS < ${REL_PATH}/mysqldeletelogtable.sql >/dev/null 2>&1
86 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
87 kill -9 $pid
88 ipcrm -M 4000 -M 4500
89 exit 3;
91 sleep 2
92 done
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}/drop.sql >/dev/null 2>&1
99 isql $DS < ${REL_PATH}/mysqldeletelogtable.sql >/dev/null 2>&1
100 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
101 kill -9 $pid
102 ipcrm -M 4000 -M 4500
103 exit 2
106 isql $DS < ${REL_PATH}/insert.sql >/dev/null 2>&1
107 sleep 15
108 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/select.sql
110 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/drop.sql > /dev/null 2>&1
111 isql $DS < ${REL_PATH}/drop.sql >/dev/null 2>&1
112 isql $DS < ${REL_PATH}/mysqldeletelogtable.sql >/dev/null 2>&1
113 rm -f /tmp/csql/csqltable.conf
114 touch /tmp/csql/csqltable.conf
116 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
117 kill -9 $pid
118 ipcrm -M 4000 -M 4500
119 exit 0;