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
12 REL_PATH
=${PWD}/cache
/Bidirectional
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
26 if [ "$DSN" = "myodbc3" ]
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" ]
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" ]
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" ]
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" ]
48 LOG_FILE
=$REL_PATH/db2createlogtable.sql
49 TRI_FILE1
=$REL_PATH/trigger.db2
50 TRI_FILE2
=$REL_PATH/trigger1.db2
58 isql
$DS < $LOG_FILE >/dev
/null
2>&1
61 echo "DSN is not set for target db"
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" ]
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" ]
74 echo "create table t1(f1 int ,f2 char(12) NULL,f3 smallint NULL, f4 bigint NULL,primary key(f1));">$REL_PATH/t1.sql
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
86 echo "unable to creste in target db"
87 rm -f $REL_PATH/t1.sql
90 isql
$DS <$TRI_FILE1 >/dev
/null
92 $CSQL_INSTALL_ROOT/bin
/csqlserver
>/dev
/null
2>&1 &
96 echo "drop table t1;">${REL_PATH}/dt1.sql
98 $CSQL_INSTALL_ROOT/bin
/cachetable
-t t1
-f "f1,f2"
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 }'`
107 ipcrm
-M 4000 -M 4500
110 echo "select * from t1;">$REL_PATH/sel.sql
111 $CSQL_INSTALL_ROOT/bin
/csql
-g -s $REL_PATH/sel.sql
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 }'`
120 ipcrm
-M 4000 -M 4500
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
128 $CSQL_INSTALL_ROOT/bin
/csql
-g -s $REL_PATH/sel.sql
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 }'`
137 ipcrm
-M 4000 -M 4500
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 }'`
148 ipcrm
-M 4000 -M 4500