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