adding test scripts
[csql.git] / test / cache / Bidirectional / test016.ksh
blob1a40f322b476ac713bb5aef86b54e51f6727f4ea
1 #!/bin/ksh
2 # Test Case
4 # Bi-directional cache test
5 # Create table t1 and t2 in target database with field f1 int ,f2 char primary key(f1). Make sure log table is in target database. Run trigger in integer primary key field.
6 # Set bidirectional flag to true. Insert some record with null values.Test the values in cache tool is null or not.
7 input=${PWD}/cache/Bidirectional/mysqlcreatelogtable.sql
9 REL_PATH=.
10 if [ -s "$input" ]
11 then
12 REL_PATH=${PWD}/cache/Bidirectional
14 rm /tmp/csql.conf
15 cp $REL_PATH/csql.conf /tmp
16 export CSQL_CONFIG_FILE=/tmp/csql.conf
17 echo DSN=$DSN >>$CSQL_CONFIG_FILE
18 DS="$DSN $DBUSER $PASSWORD"
19 rm -f /tmp/csql/csqlds.conf
20 touch /tmp/csql/csqlds.conf
21 $CSQL_INSTALL_ROOT/bin/csqlds -U $DBUSER -P $PASSWORD -D $DSN -N $TDB -a
22 if [ $? -ne 0 ]
23 then
24 exit 1;
26 if [ "$DSN" = "myodbc3" ]
27 then
28 LOG_FILE=$REL_PATH/mysqlcreatelogtable.sql
29 TRI_FILE1=$REL_PATH/trigger.sql
30 TRI_FILE2=$REL_PATH/trigger1.sql
31 elif [ "$DSN" = "psql" ]
32 then
33 LOG_FILE=$REL_PATH/psqlcreatelogtable.sql
34 TRI_FILE1=$REL_PATH/trigger.psql
35 TRI_FILE2=$REL_PATH/trigger1.psql
36 elif [ "$DSN" = "oracle" ]
37 then
38 LOG_FILE=$REL_PATH/oraclecreatelogtable.sql
39 TRI_FILE1=$REL_PATH/trigger.oracle
40 TRI_FILE2=$REL_PATH/trigger1.oracle
41 elif [ "$DSN" = "sybase" ]
42 then
43 LOG_FILE=$REL_PATH/sybasecreatelogtable.sql
44 TRI_FILE1=$REL_PATH/trigger.sybase
45 TRI_FILE2=$REL_PATH/trigger1.sybase
46 elif [ "$DSN" = "db2" ]
47 then
48 LOG_FILE=$REL_PATH/db2createlogtable.sql
49 TRI_FILE1=$REL_PATH/trigger.db2
50 TRI_FILE2=$REL_PATH/trigger1.db2
51 else
52 LOG_FILE=
53 TRI_FILE1=
54 TRI_FILE2=
57 #echo $DS
58 isql $DS < $LOG_FILE >/dev/null 2>&1
59 if [ $? -ne 0 ]
60 then
61 echo "DSN is not set for target db"
62 exit 1
65 echo Log table created in target DB
66 if [ "$DSN" = "sybase" ]
67 then
68 isql $DS < $REL_PATH/sybasecreate.sql >/dev/null 2>&1
69 else
70 isql $DS < $REL_PATH/create.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 echo "server 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}/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 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
101 kill -9 $pid
102 ipcrm -M 4000 -M 4500
103 exit 2
105 for a in 1 2
107 echo "insert into t$a values(11,NULL);"
108 echo "insert into t$a values(12,NULL);"
109 done >> $REL_PATH/insert1.sql
110 isql $DS < ${REL_PATH}/insert1.sql >/dev/null 2>&1
111 sleep 15
112 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/select.sql
114 $CSQL_INSTALL_ROOT/bin/csql -s $REL_PATH/drop.sql > /dev/null 2>&1
115 isql $DS < ${REL_PATH}/drop.sql >/dev/null 2>&1
116 rm -f /tmp/csql/csqltable.conf
117 touch /tmp/csql/csqltable.conf
118 rm -f ${REL_PATH}/insert1.sql
119 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
120 kill -9 $pid
121 ipcrm -M 4000 -M 4500
122 exit 0;