adding test scripts
[csql.git] / test / cache / Bidirectional / test007.ksh
blobd494a74e848b8999ed4a4752e9410d5bd1365be4
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 #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 Log table created 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 started"
81 for a in 1 2
83 $CSQL_INSTALL_ROOT/bin/cachetable -t t$a -d $DSN
84 if [ $? -ne 0 ]
85 then
86 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
87 kill -9 $pid
88 ipcrm -M 4000 -M 4500
89 isql $DS < ${REL_PATH}/mysqldeletelogtable.sql >/dev/null 2>&1
90 isql $DS < ${REL_PATH}/drop.sql >/dev/null 2>&1
91 exit 3;
93 sleep 2
94 done
96 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/select.sql
97 if [ $? -ne 0 ]
98 then
99 echo "unable to locate cache 1"
100 isql $DS < $REL_PATH/mysqldeletelogtable.sql >/dev/null 2>&1
101 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
102 kill -9 $pid
103 ipcrm -M 4000 -M 4500
104 exit 2
106 echo "Delete some record from target database"
107 isql $DS < ${REL_PATH}/delete.sql >/dev/null 2>&1
108 sleep 15
109 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/select.sql
111 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/drop.sql > /dev/null 2>&1
112 isql $DS < ${REL_PATH}/drop.sql >/dev/null 2>&1
113 rm -f /tmp/csql/csqltable.conf
114 touch /tmp/csql/csqltable.conf
115 isql $DS < $REL_PATH/mysqldeletelogtable.sql >/dev/null 2>&1
116 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
117 kill -9 $pid
118 ipcrm -M 4000 -M 4500
119 exit 0;