adding test scripts
[csql.git] / test / durability / recovery / test018.ksh
blob38543ec4d5ffa72f123eec97925b4ba6dfbf74e4
1 #!/bin/ksh
2 # set DURABILITY to true in csql.conf
3 # Start csqlserver. Then create a table t1 with record size 20.
4 # kill the currently running Server.
5 # Again Restart the Server by setting DURABILITY=true and Open CSQL Client.
6 # Insert 1k records .
7 # Kill the server.
8 # Continue The same for 10 times. Each time table with records should be durable
9 # All should work Fine
12 CSQL_CONF=${PWD}/durability/recovery/csql.conf
13 REL_PATH=.
14 if [ -s "$CSQL_CONF" ]
15 then
16 REL_PATH=${PWD}/durability/recovery
19 rm -f /tmp/csql.conf
20 rm -f /tmp/csql/db/*
21 mkdir -p /tmp/csql/db
22 cp -f $REL_PATH/csql.conf /tmp
23 echo SYS_DB_KEY=4444 >>/tmp/csql.conf
24 echo USER_DB_KEY=6666 >>/tmp/csql.conf
25 echo "DURABILITY=true" >>/tmp/csql.conf
26 export CSQL_CONFIG_FILE=/tmp/csql.conf
28 echo "Durablity = TRUE"
29 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
30 pid=$!
31 echo "Server Started"
32 sleep 2
33 echo "CREATE TABLE t1(f1 int,f2 char(15));"
34 echo "CREATE TABLE t1(f1 int,f2 char(15));" >${REL_PATH}/cre_t1.sql
35 if [ "$VALGRIND" = "true" ]
36 then
37 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/cre_t1.sql 2> $0.valgr
38 else
39 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/cre_t1.sql >/dev/null 2>&1
40 if [ $? -ne 0 ]
41 then
42 rm -f ${REL_PATH}/cre_t1.sql
43 rm -f ${REL_PATH}/ins_1000.sql
44 kill -9 $pid
45 ipcrm -M 4444 -M 6666
46 exit 1;
47 fi
50 echo "SELECT COUNT(*) FROM t1;" >${REL_PATH}/sel.sql
51 i=1
52 while [[ $i -lt 11 ]];do
53 j=1
54 while [[ $j -lt 1001 ]];do
55 echo "INSERT INTO t1 VALUES($i$j,'CSQL$i$j');" >>${REL_PATH}/ins_1000.sql
56 (( j +=1 ))
57 done
58 if [ "$VALGRIND" = "true" ]
59 then
60 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -s ${REL_PATH}/ins_1000.sql 2>> $0.valgr
61 else
62 $CSQL_INSTALL_ROOT/bin/csql -s ${REL_PATH}/ins_1000.sql >/dev/null 2>&1
63 if [ $? -ne 0 ]
64 then
65 rm -f ${REL_PATH}/cre_t1.sql
66 rm -f ${REL_PATH}/ins_1000.sql
67 kill -9 $pid
68 ipcrm -M 4444 -M 6666
69 exit 1;
70 fi
72 $CSQL_INSTALL_ROOT/bin/csql -s ${REL_PATH}/sel.sql
73 rm -f ${REL_PATH}/ins_1000.sql
74 if [ "$VALGRIND" = "true" ]
75 then
76 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csqldump 2>> $0.valgr
77 else
78 $CSQL_INSTALL_ROOT/bin/csqldump >before.sql
81 kill -9 $pid
82 ipcrm -M 4444 -M 6666
83 echo "Server Killed"
85 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
86 pid=$!
87 echo "Server Started"
88 sleep 2
90 if [ "$VALGRIND" = "true" ]
91 then
92 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csqldump 2>> $0.valgr
93 else
94 $CSQL_INSTALL_ROOT/bin/csqldump >after.sql
97 diff before.sql after.sql
98 if [ $? -eq 0 ]
99 then
100 echo Durability Works Fine
102 (( i +=1 ))
103 rm -f before.sql after.sql
104 done
106 echo "DROP TABLE t1;" >drp.sql
107 $CSQL_INSTALL_ROOT/bin/csql -s ${REL_PATH}/drp.sql >/dev/null 2>&1
108 rm -f ${REL_PATH}/drp.sql
109 rm -f ${REL_PATH}/cre_t1.sql
110 rm -f ${REL_PATH}/sel.sql
111 kill -9 $pid
112 ipcrm -M 4444 -M 6666
113 exit 0;