adding test scripts
[csql.git] / test / cache / Bidirectional / test003.ksh
blob680a73acdb6c380c3978abfd4484834ae31fdc89
1 #!/bin/ksh
2 # Test Case
4 # Bi-directional cache test
5 # Create two table t1,t1 that has no primary key
6 # Set bidirectional flag in csql.conf to true,Create log table in the cache and 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 /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;
29 if [ "$DSN" = "myodbc3" ]
30 then
31 LOG_FILE=$REL_PATH/mysqlcreatelogtable.sql
32 TRI_FILE1=$REL_PATH/trigger.sql
33 TRI_FILE2=$REL_PATH/trigger1.sql
34 elif [ "$DSN" = "psql" ]
35 then
36 LOG_FILE=$REL_PATH/psqlcreatelogtable.sql
37 TRI_FILE1=$REL_PATH/trigger.psql
38 TRI_FILE2=$REL_PATH/trigger1.psql
39 elif [ "$DSN" = "oracle" ]
40 then
41 LOG_FILE=$REL_PATH/oraclecreatelogtable.sql
42 TRI_FILE1=$REL_PATH/trigger.oracle
43 TRI_FILE2=$REL_PATH/trigger1.oracle
44 elif [ "$DSN" = "sybase" ]
45 then
46 LOG_FILE=$REL_PATH/sybasecreatelogtable.sql
47 TRI_FILE1=$REL_PATH/trigger.sybase
48 TRI_FILE2=$REL_PATH/trigger1.sybase
49 elif [ "$DSN" = "db2" ]
50 then
51 LOG_FILE=$REL_PATH/db2createlogtable.sql
52 TRI_FILE1=$REL_PATH/trigger.db2
53 TRI_FILE2=$REL_PATH/trigger1.db2
54 else
55 LOG_FILE=
56 TRI_FILE1=
57 TRI_FILE2=
60 #echo $DS
62 isql $DS < $LOG_FILE >/dev/null 2>&1
63 if [ $? -ne 0 ]
64 then
65 echo "DSN is not set for target db"
66 exit 1
69 echo log table created in target db.
71 isql $DS < $REL_PATH/create1.sql >/dev/null 2>&1
72 rm -f /tmp/csql/csqltable.conf
73 touch /tmp/csql/csqltable.conf
74 isql $DS <$TRI_FILE1 >/dev/null
75 isql $DS <$TRI_FILE2 >/dev/null
78 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
79 pid=$!
80 sleep 5
81 for a in 1 2
83 $CSQL_INSTALL_ROOT/bin/cachetable -t t$a -d $DSN
84 if [ $? -eq 0 ]
85 then
86 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
87 kill -9 $pid
88 isql $DS < ${REL_PATH}/drop.sql >/dev/null 2>&1
89 ipcrm -M 4000 -M 4500
90 exit 3;
92 sleep 2
93 done
95 echo "server started"
96 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/select.sql >/dev/null 2>&1
97 if [ $? -ne 0 ]
98 then
99 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
100 kill -9 $pid
101 ipcrm -M 4000 -M 4500
102 isql $DS < ${REL_PATH}/drop.sql >/dev/null 2>&1
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 >/dev/null 2>&1
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 rm -f /tmp/csql/csqltable.conf
113 touch /tmp/csql/csqltable.conf
115 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
116 kill -9 $pid
117 ipcrm -M 4000 -M 4500
118 exit 0;