adding test scripts
[csql.git] / test / cache / Bidirectional / test017.ksh
blob12fc17a551a2360a2490f6193c922d93a3b14bdf
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
67 rm -f /tmp/csql/csqltable.conf
68 touch /tmp/csql/csqltable.conf
69 if [ $DSN = "oracle" ]
70 then
71 echo "create table t1(f1 int ,f2 char(12),f3 smallint, f4 number(38),primary key(f1));">$REL_PATH/t1.sql
72 elif [ $DSN = "sybase" ]
73 then
74 echo "create table t1(f1 int ,f2 char(12) NULL,f3 smallint NULL, f4 bigint NULL,primary key(f1));">$REL_PATH/t1.sql
75 else
76 echo "create table t1(f1 int NOT NULL,f2 char(12),f3 smallint, f4 bigint,primary key(f1));">$REL_PATH/t1.sql
78 for a in 1 2 3 4 5 6 7 8 9
80 echo "insert into t1 values($a,'papu',12, 123124);"
81 done>>$REL_PATH/t1.sql
83 isql $DS < $REL_PATH/t1.sql >/dev/null 2>&1
84 if [ $? -ne 0 ]
85 then
86 echo "unable to creste in target db"
87 rm -f $REL_PATH/t1.sql
88 exit 2
90 isql $DS <$TRI_FILE1 >/dev/null
92 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
93 pid=$!
94 sleep 5
95 echo "server started"
96 echo "drop table t1;">${REL_PATH}/dt1.sql
98 $CSQL_INSTALL_ROOT/bin/cachetable -t t1 -f "f1,f2"
99 if [ $? -ne 0 ]
100 then
101 echo "Unable to cache"
102 isql $DS <${REL_PATH}/dt1.sql >/dev/null 2>&1
103 rm -f $REL_PATH/t1.sql ${REL_PATH}/dt1.sql
104 isql $DS <${REL_PATH}/mysqldeletelogtable.sql >/dev/null 2>&1
105 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
106 kill -9 $pid
107 ipcrm -M 4000 -M 4500
108 exit 3
110 echo "select * from t1;">$REL_PATH/sel.sql
111 $CSQL_INSTALL_ROOT/bin/csql -g -s $REL_PATH/sel.sql
112 if [ $? -ne 0 ]
113 then
114 echo "In select"
115 isql $DS <${REL_PATH}/dt1.sql >/dev/null 2>&1
116 rm -f $REL_PATH/t1.sql ${REL_PATH}/dt1.sql $REL_PATH/sel.sql
117 isql $DS <${REL_PATH}/mysqldeletelogtable.sql >/dev/null 2>&1
118 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
119 kill -9 $pid
120 ipcrm -M 4000 -M 4500
121 exit 4
124 echo "insert into t1 values(100,'papu',12,123124);">$REL_PATH/insert1.sql
125 echo "insert into t1 values(101,'biju',12,123125);">>$REL_PATH/insert1.sql
126 isql $DS < ${REL_PATH}/insert1.sql >/dev/null 2>&1
127 sleep 20
128 $CSQL_INSTALL_ROOT/bin/csql -g -s $REL_PATH/sel.sql
129 if [ $? -ne 0 ]
130 then
131 echo "In 2nd select"
132 isql $DS <${REL_PATH}/dt1.sql >/dev/null 2>&1
133 rm -f $REL_PATH/t1.sql ${REL_PATH}/dt1.sql $REL_PATH/sel.sql $REL_PATH/insert1.sql
134 isql $DS <${REL_PATH}/mysqldeletelogtable.sql >/dev/null 2>&1
135 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
136 kill -9 $pid
137 ipcrm -M 4000 -M 4500
138 exit 5
141 $CSQL_INSTALL_ROOT/bin/cachetable -t t1 -u
142 isql $DS <${REL_PATH}/dt1.sql >/dev/null 2>&1
143 isql $DS <${REL_PATH}/mysqldeletelogtable.sql >/dev/null 2>&1
145 rm -f $REL_PATH/t1.sql ${REL_PATH}/dt1.sql $REL_PATH/sel.sql $REL_PATH/insert1.sql
146 kill `ps -ef | grep csqlcacheserver | awk -F" " '{ print $2 }'`
147 kill -9 $pid
148 ipcrm -M 4000 -M 4500
149 exit 0