#!/bin/ksh
#
# script to start TANGO database 
#


#
# Internal function
#
checkmysql() {

    	bidon=`${PS} | grep mysql | grep -v grep | wc -l`
	if [ ${bidon} -ge ${NO_PS} ] 
	then
		return=0
	else
		return=1
	fi
}


#
# Internal function
#
checkdatabaseds() {
    	bidon=`${PS} | grep DataBaseds | grep -v grep | wc -l`
	if [ ${bidon} == 3 ] 
	then
		return=0
	else
		return=1
	fi
}


#
# Internal function
#
mykillall() {
    	bidon=`${PS} | grep DataBaseds | grep -v grep | awk '{print $2}'`
	for i in ${bidon}
	do
	  kill -9 $i
	done
}


#
# Check the platform used
#
OS=`uname -s`

#
# Settings common  to all platforms
#
DATABASEDSHOME=$TANGOHOME/cppserver/dbase/bin
export LD_LIBRARY_PATH=$TANGOHOME/lib/suse64:$TANGOHOME/lib:$TANGOHOME/lib:$LD_LIBRARY_PATH

#
# Platform specific settings
#
case "${OS}" in
    "Linux")
	# get all boot stuff
	. /etc/rc.config

	PS="ps auxc"
	NO_PS=4
	ECHO="/bin/echo -e"

	MYSQLHOME=/usr/bin
	datadir=/var/mysql
	pid_file=/var/run/mysqld.pid
	mysql_daemon_user=root

  	SAFE_MYSQLD="safe_mysqld \
		    --user=$mysql_daemon_user \
		    --pid-file=$pid_file \
		    --datadir=$datadir"
	TANGO_LOG="/var/log/tango.log"
    ;;
    *)
    ${ECHO} "Not supporting operating system: " ${OS}
    exit 1
esac



#
# Main part
#
case "$1" in
    start)
        ${ECHO} -n "Starting TANGO database"

	# first start the MySQL database server
	'date' >> ${TANGO_LOG}
	${ECHO} "Starting MySQL" >> ${TANGO_LOG}
	${MYSQLHOME}/${SAFE_MYSQLD} >> ${TANGO_LOG} &

	# wait for a while before checking status
	sleep 3
	#checkmysql
	#if [ ${return} = 1 ]
	#then
	#        ${ECHO} "$rc_failed"
	#	exit 1
	#fi

	# then start the database device server
	'date' >> ${TANGO_LOG}
	${ECHO} "Starting Database Server" >> ${TANGO_LOG}
	${DATABASEDSHOME}/DataBaseds 1 -OAport 10000 >> ${TANGO_LOG} &

	# wait for a while before checking status
	sleep 1
	checkdatabaseds
	if [ ${return} = 1 ]
	then
	        ${ECHO} "$rc_failed"
		exit 1
	fi

	${ECHO} "$rc_done"
    ;;
    stop)
        ${ECHO} -n "Shutting down TANGO database"

	# first shutdown the database device server
	'date' >> ${TANGO_LOG}
	${ECHO} "Stoping Database Server" >> ${TANGO_LOG}
	mykillall

	# then shutdown MySQL database
	'date' >> ${TANGO_LOG}
	${ECHO} "Stoping MySQL" >> ${TANGO_LOG}
	${MYSQLHOME}/mysqladmin -u=root shutdown >> ${TANGO_LOG}  2>&1 
	${ECHO} "$rc_done"
    ;;
    restart)
        $0 stop  && sleep 3 &&  $0 start 
    ;;
    status)
	checkmysql
	if [ ${return} = 0 ]
	then
		${ECHO} "MySQL OK"
	else
		${ECHO} "MySQL No process"
	fi

	checkdatabaseds
	if [ ${return} = 0 ]
	then
		${ECHO} "Database OK"
	else
		${ECHO} "Database No process"
	fi

    ;;
    *)
    ${ECHO} "Usage: $0 {start|stop|status|restart}"
    exit 1
esac

exit 0

