exp changes and test case modification as we do not support mmap to
[csql.git] / test / durability / recovery / test016.ksh
blobcfa03c054f6c9dc9dfbf5f64faf989706d91e5ed
1 #!/bin/ksh
2 # Testing Durability in Share Memory Architecture.
3 # set DURABILITY=true and MMAP=false in csql.conf
4 # Start csqlserver.
5 # Then create a table t1 in CSQL Client.
6 # Set MAX_SYS_DB_SIZE=10MB and MAX_DB_SIZE=33554432
7 # Create a table say t1 having 10k record with no index.
8 # Create a table say t1 having 10k record with UNIQUE HASH Index.
9 # Create a table say t1 having 10k record with UNIQUE TREE Index.
10 # Create a table say t1 having 10k record with PRIMARY KEY on INT field.
11 # Create a table say t1 having 10k record with PRIMARY KEY on CHAR field.
12 # kill the currently running Server.
13 # Restart the server.
14 # csqldump should dump the database with table and index information
16 CSQL_CONF=${PWD}/durability/recovery/csql.conf
17 REL_PATH=.
18 if [ -s "$CSQL_CONF" ]
19 then
20 REL_PATH=${PWD}/durability/recovery
23 i=1
24 while [[ $i -lt 6 ]];do
25 j=1
26 while [[ $j -lt 2001 ]];do
27 echo "INSERT INTO t$i VALUES($j,'LAKSHYA_CSQL$j');"
28 (( j +=1 ))
29 done >>${REL_PATH}/ins_t$i.sql
30 (( i +=1 ))
31 done
33 i=1
34 while [[ $i -lt 6 ]];do
35 echo "DROP TABLE t$i;"
36 (( i +=1 ))
37 done >>${REL_PATH}/drop_5table.sql
39 rm -f /tmp/csql.conf
40 rm -rf /tmp/csql/db
41 mkdir -p /tmp/csql/db
42 cp -f $REL_PATH/csql.conf /tmp
43 echo SYS_DB_KEY=5555 >>/tmp/csql.conf
44 echo USER_DB_KEY=7777 >>/tmp/csql.conf
45 echo MAX_SYS_DB_SIZE=10485760 >>/tmp/csql.conf
46 echo MAX_DB_SIZE=33554432 >>/tmp/csql.conf
47 echo DURABILITY=true >>/tmp/csql.conf
48 echo MMAP=false >>/tmp/csql.conf
49 export CSQL_CONFIG_FILE=/tmp/csql.conf
51 echo "Durablity = TRUE"
52 echo "Server Started"
53 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
54 pid=$!
55 sleep 3
57 if [ "$VALGRIND" = "true" ]
58 then
59 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/create_5teble.sql 2> $0.valgr
60 else
61 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/create_5teble.sql >/dev/null 2>&1
62 if [ $? -ne 0 ]
63 then
64 i=1
65 while [[ $i -lt 6 ]];do
66 rm -f ${REL_PATH}/ins_t$i.sql
67 (( i +=1 ))
68 done
69 rm -f ${REL_PATH}/drop_5table.sql
70 kill -9 $pid
71 ipcrm -M 5555 -M 7777
72 exit 1;
76 i=1
77 while [[ $i -lt 6 ]];do
78 if [ "$VALGRIND" = "true" ]
79 then
80 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/ins_t$i.sql 2>> $0.valgr
81 else
82 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/ins_t$i.sql >/dev/null 2>&1
84 (( i +=1 ))
85 done
86 if [ $? -ne 0 ]
87 then
88 i=1
89 while [[ $i -lt 6 ]];do
90 rm -f ${REL_PATH}/ins_t$i.sql
91 (( i +=1 ))
92 done
93 if [ "$VALGRIND" = "true" ]
94 then
95 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/drop_5table.sql 2>> $0.valgr
96 else
97 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/drop_5table.sql
99 rm -f ${REL_PATH}/drop_5table.sql
100 kill -9 $pid
101 ipcrm -M 5555 -M 7777
102 exit 2;
104 if [ "$VALGRIND" = "true" ]
105 then
106 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csqldump 2>> $0.valgr
107 else
108 $CSQL_INSTALL_ROOT/bin/csqldump >${REL_PATH}/before.sql
111 sleep 10
112 kill -9 $pid
113 ipcrm -M 5555 -M 7777
114 echo "Server Killed"
115 echo ""
116 echo DURABILITY=true >>/tmp/csql.conf
117 echo "Checking Durability"
118 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
119 pid=$!
120 echo "Server Started"
121 sleep 35
123 if [ "$VALGRIND" = "true" ]
124 then
125 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csqldump 2>> $0.valgr
126 else
127 $CSQL_INSTALL_ROOT/bin/csqldump >${REL_PATH}/after.sql
130 echo ""
131 sleep 1
132 diff ${REL_PATH}/before.sql ${REL_PATH}/after.sql
133 if [ $? -eq 0 ]
134 then
135 echo Durability Works Fine
139 while [[ $i -lt 6 ]];do
140 rm -f ${REL_PATH}/ins_t$i.sql
141 (( i +=1 ))
142 done
143 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/drop_5table.sql
144 rm -f ${REL_PATH}/drop_5table.sql
145 kill -9 $pid
146 ipcrm -M 5555 -M 7777
147 exit 0;