windows fixes for test directory
[csql.git] / test / durability / recovery / test006.ksh
blob292818ac826ea1e28950f1b7dadf8363049af94a
1 #!/bin/ksh
2 # Autocommit Checking
3 # set DURABILITY to true in csql.conf
4 # Start csqlserver. Then create a table in CSQL Client.Insert 5 Records.
5 # make Set autocommit off. insert another 5 records and Rollback.
6 # Kill the Server.
7 # Again Restart the Server by setting DURABILITY=true .
8 # select should Display 1st 5 records.
9 #
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
28 echo "SELECT * FROM t2;" >${REL_PATH}/select_t2.sql
29 echo "drop table t2;" >${REL_PATH}/drop_t2.sql
31 echo "Durablity = TRUE"
32 echo "Server Started"
33 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
34 pid=$!
35 sleep 2
36 echo "CREATING TABLE"
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_t2.sql 2> $0.valgr
40 else
41 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/create_t2.sql
42 if [ $? -ne 0 ]
43 then
44 rm -f ${REL_PATH}/select_t2.sql
45 rm -f ${REL_PATH}/drop_t2.sql
46 kill -9 $pid
47 ipcrm -M 4444 -M 6666
48 exit 1;
52 echo "INSERTING INTO TABLE"
53 echo "DEFAULT AUTOCOMMIT MODE ON"
54 if [ "$VALGRIND" = "true" ]
55 then
56 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/ins_rollback.sql 2>> $0.valgr
57 else
58 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/ins_rollback.sql
59 if [ $? -ne 0 ]
60 then
61 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/drop_t2.sql
62 rm -f ${REL_PATH}/select_t2.sql
63 rm -f ${REL_PATH}/drop_t2.sql
64 kill -9 $pid
65 ipcrm -M 4444 -M 6666
66 exit 2;
70 if [ "$VALGRIND" = "true" ]
71 then
72 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csqldump 2>> $0.valgr
73 else
74 $CSQL_INSTALL_ROOT/bin/csqldump >before.sql
77 kill -9 $pid
78 ipcrm -M 4444 -M 6666
79 echo "Server Killed"
81 echo ""
82 echo "Durablity = TRUE"
83 echo "Checking Durability"
84 $CSQL_INSTALL_ROOT/bin/csqlserver >/dev/null 2>&1 &
85 pid=$!
86 echo "Server Started"
87 sleep 2
89 if [ "$VALGRIND" = "true" ]
90 then
91 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csqldump 2>> $0.valgr
92 else
93 $CSQL_INSTALL_ROOT/bin/csqldump >after.sql
96 diff before.sql after.sql >>/dev/null 2>&1
97 if [ $? -eq 0 ]
98 then
99 echo Durability Works Fine
102 if [ "$VALGRIND" = "true" ]
103 then
104 valgrind --tool=memcheck --leak-check=full $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/drop_t2.sql 2>> $0.valgr
105 else
106 $CSQL_INSTALL_ROOT/bin/csql -u root -p manager -s ${REL_PATH}/drop_t2.sql
109 rm -f ${REL_PATH}/select_t2.sql
110 rm -f ${REL_PATH}/drop_t2.sql
111 rm -f before.sql after.sql
112 kill -9 $pid
113 ipcrm -M 4444 -M 6666
114 exit 0;