adding test scripts
[csql.git] / test / durability / recovery / test015.ksh
blob9d8c88a4d3a607fc931b29887d2552319f81ea9c
1 #!/bin/ksh
2 # set DURABILITY = true in csql.conf
3 # Start csqlserver.
4 # Then create a table t1 in CSQL Client.
5 # Create tree index idx1 on t1(f1);
6 # Create the same tree index idx1 on t1(f1);
7 # kill the currently running Server.
8 # Restart the server.
9 # csqldump should dump the database with table and index information
11 CSQL_CONF=${PWD}/durability/recovery/csql.conf
12 REL_PATH=.
13 if [ -s "$CSQL_CONF" ]
14 then
15 REL_PATH=${PWD}/durability/recovery
18 rm -f /tmp/csql.conf
19 rm -f /tmp/csql/db/*
20 mkdir -p /tmp/csql/db
21 cp -f $REL_PATH/csql.conf /tmp
22 echo SYS_DB_KEY=4444 >>/tmp/csql.conf
23 echo USER_DB_KEY=6666 >>/tmp/csql.conf
24 echo DURABILITY=true >>/tmp/csql.conf
25 export CSQL_CONFIG_FILE=/tmp/csql.conf
27 echo "Durablity = TRUE"
28 echo "Server Started"
29 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
30 pid=$!
31 sleep 2
33 echo "CREATE TABLE laks(f1 int);" >${REL_PATH}/create.sql
34 echo "DROP TABLE laks;" >${REL_PATH}/drop.sql
36 echo "CREATE TABLE laks(f1 int);"
37 if [ "$VALGRIND" = "true" ]
38 then
39 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/create.sql 2> $0.valgr
40 else
41 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/create.sql >/dev/null 2>&1
42 if [ $? -ne 0 ]
43 then
44 kill -9 $pid
45 ipcrm -M 4444 -M 6666
46 rm -f ${REL_PATH}/create.sql
47 rm -f ${REL_PATH}/drop.sql
48 exit 1;
53 echo "CREATE INDEX idx1 on laks(f1) TREE;" >${REL_PATH}/indexcreate.sql
54 echo "CREATE INDEX idx1 ON laks(f1) TREE;"
55 if [ "$VALGRIND" = "true" ]
56 then
57 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/indexcreate.sql 2>> $0.valgr
58 else
59 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/indexcreate.sql >/dev/null 2>&1
60 if [ $? -ne 0 ]
61 then
62 kill -9 $pid
63 ipcrm -M 4444 -M 6666
64 rm -f ${REL_PATH}/create.sql
65 rm -f ${REL_PATH}/drop.isql
66 rm -f ${REL_PATH}/indexcreate.sql
67 exit 2;
71 if [ "$VALGRIND" = "true" ]
72 then
73 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/indexcreate.sql 2>> $0.valgr
74 else
75 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/indexcreate.sql >/dev/null 2>&1
76 if [ $? -ne 0 ]
77 then
78 kill -9 $pid
79 ipcrm -M 4444 -M 6666
80 rm -f ${REL_PATH}/create.sql
81 rm -f ${REL_PATH}/drop.isql
82 rm -f ${REL_PATH}/indexcreate.sql
83 exit 3;
87 if [ "$VALGRIND" = "true" ]
88 then
89 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csqldump 2>> $0.valgr
90 else
91 $CSQL_INSTALL_ROOT/bin/csqldump >${REL_PATH}/before.sql
94 kill -9 $pid
95 ipcrm -M 4444 -M 6666
96 echo "Server Killed"
97 echo ""
98 echo DURABILITY=true >>/tmp/csql.conf
99 echo "Checking Durability"
100 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
101 if [ $? -ne 0 ]
102 then
103 echo "Server could not be Started"
104 rm -rf /tmp/csql/db
105 mkdir -p /tmp/csql/db
106 kill -9 $pid
107 ipcrm -M 4444 -M 6666
108 rm -f ${REL_PATH}/create.sql
109 rm -f ${REL_PATH}/drop.sql
110 rm -f ${REL_PATH}/indexcreate.sql
111 exit 4;
113 pid=$!
114 echo "Server Started"
115 sleep 2
117 if [ "$VALGRIND" = "true" ]
118 then
119 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csqldump 2>> $0.valgr
120 else
121 $CSQL_INSTALL_ROOT/bin/csqldump >${REL_PATH}/after.sql
124 echo ""
125 diff ${REL_PATH}/before.sql ${REL_PATH}/after.sql >/dev/null 2>&1
126 if [ $? -eq 0 ]
127 then
128 echo Durability Works Fine
131 rm -f ${REL_PATH}/create.sql
132 rm -f ${REL_PATH}/drop.sql
133 rm -f ${REL_PATH}/before.sql ${REL_PATH}/after.sql
134 rm -f ${REL_PATH}/indexcreate.sql
135 kill -9 $pid
136 ipcrm -M 4444 -M 6666
137 exit 0;