fixing timing issue in test script
[csql.git] / test / durability / recovery / test009.ksh
blob8c4eb1a66ec4a26f836c61b61950cc87701bb950
1 #!/bin/ksh
2 # Set DURABILITY to true in csql.conf
3 # Start csqlserver. in CSQl client create a table and insert 5 recored
4 # 50 times kill and start the server
5 # Restart csqlserver again.
6 # Select Should fetch those inserted 5 records
7 #
9 CSQL_CONF=${PWD}/durability/recovery/csql.conf
10 REL_PATH=.
11 if [ -s "$CSQL_CONF" ]
12 then
13 REL_PATH=${PWD}/durability/recovery
16 rm -f /tmp/csql.conf
17 rm -rf /tmp/csql/db
18 mkdir -p /tmp/csql/db
19 cp -f $REL_PATH/csql.conf /tmp
20 echo SYS_DB_KEY=4444 >>/tmp/csql.conf
21 echo USER_DB_KEY=6666 >>/tmp/csql.conf
22 echo "DURABILITY=true" >>/tmp/csql.conf
23 export CSQL_CONFIG_FILE=/tmp/csql.conf
26 echo "drop table t2;" >${REL_PATH}/drop_t2.sql
28 echo "Durablity = TRUE"
29 echo "Server Started"
30 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
31 pid=$!
32 sleep 1
33 echo "CREATING TABLE"
34 if [ "$VALGRIND" = "true" ]
35 then
36 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/create_t2.sql 2> $0.valgr
37 else
38 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/create_t2.sql >/dev/null 2>&1
39 if [ $? -ne 0 ]
40 then
41 rm -f ${REL_PATH}/drop_t2.sql
42 kill -9 $pid
43 ipcrm -M 4444 -M 6666
44 exit 1;
48 echo "INSERTING INTO TABLE"
49 echo "DEFAULT AUTOCOMMIT MODE ON"
50 if [ "$VALGRIND" = "true" ]
51 then
52 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/insert_a.sql 2>> $0.valgr
53 else
54 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/insert_a.sql >/dev/null 2>&1
55 if [ $? -ne 0 ]
56 then
57 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/drop_t2.sql
58 rm -f ${REL_PATH}/drop_t2.sql
59 kill -9 $pid
60 ipcrm -M 4444 -M 6666
61 exit 2;
65 if [ "$VALGRIND" = "true" ]
66 then
67 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csqldump 2>> $0.valgr
68 else
69 $CSQL_INSTALL_ROOT/bin/csqldump >before.sql
72 kill -9 $pid
73 ipcrm -M 4444 -M 6666
74 echo "Server Killed"
75 i=1
76 while [[ $i -lt 51 ]];do
77 echo count=$i
78 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
79 pid=$!
80 echo "Server Started"
81 sleep 2
82 echo "Checking Durability"
83 if [ "$VALGRIND" = "true" ]
84 then
85 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csqldump 2>> $0.valgr
86 else
87 $CSQL_INSTALL_ROOT/bin/csqldump >after.sql
90 diff before.sql after.sql >/dev/null 2>&1
91 if [ $? -eq 0 ]
92 then
93 echo Durability Works Fine
96 echo "INSERTING INTO TABLE"
97 echo "DEFAULT AUTOCOMMIT MODE ON"
98 if [ "$VALGRIND" = "true" ]
99 then
100 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/insert_a.sql 2>> $0.valgr
101 else
102 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/insert_a.sql >/dev/null 2>&1
103 if [ $? -ne 0 ]
104 then
105 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/drop_t2.sql
106 rm -f ${REL_PATH}/drop_t2.sql
107 kill -9 $pid
108 ipcrm -M 4444 -M 6666
109 exit 2;
113 if [ "$VALGRIND" = "true" ]
114 then
115 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csqldump 2>> $0.valgr
116 else
117 $CSQL_INSTALL_ROOT/bin/csqldump >before.sql
120 kill -9 $pid
121 ipcrm -M 4444 -M 6666
122 echo "Server Killed"
123 (( i +=1 ))
124 done
126 echo "Durablity = TRUE"
127 echo "Checking Durability"
128 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
129 pid=$!
130 echo "Server Started"
131 sleep 1
132 echo "Checking Durability"
133 $CSQL_INSTALL_ROOT/bin/csqldump >after.sql
134 diff before.sql after.sql >/dev/null 2>&1
135 if [ $? -eq 0 ]
136 then
137 echo Durability Works Fine
140 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/drop_t2.sql
141 rm -f ${REL_PATH}/drop_t2.sql
142 rm -f ${REL_PATH}/select_t2.sql
143 kill -9 $pid
144 ipcrm -M 4444 -M 6666
145 echo "Server Killed"
146 exit 0;