blob: a846445add9f25d01ed35319d9d8b12df6caaa49 [file] [log] [blame]
#!/usr/bin/env bash
#
# This script makes it easier to launch various Derby tools
# Usage: "sh derby.sh <command>"
# where <command> is one of "start, stop, ij, look"
#
function usage
{
printf "\n\tUsage: \t%s\n" "${0##//} <command>"
printf "\t\t%s\n" "Where <command> is one of start, stop, ij, runtimeinfo, ping, sysinfo, help, serverhelp, dblookhelp "
}
# this localBuildProperties.shsource file is to ease local builds to override some variables.
# It should not be used for production builds.
source localBuildProperties.shsource 2>/dev/null
if [[ "${#}" -ne "1" ]]
then
printf "\n\tERROR: \t%s\n" "Wrong number of arguments."
usage
exit 1
fi
export DERBY_INSTALL=/shared/eclipse/derby/derby10.11.1.1
# where the Derby libraries reside
export CSLIB=${DERBY_INSTALL}/lib
# where the DBs live
export DBROOT=/shared/eclipse/databases
# name of the default DB
export DBNAME=perfDB
# the Java VM
export JAVA_HOME=/shared/common/jdk1.7.0-latest
export JAVACMD=${JAVA_HOME}/bin/java
#MacOS: NSC="-Dderby.system.home=$DBROOT -Dderby.storage.fileSyncTransactionLog=true org.apache.derby.drda.NetworkServerControl"
# besides databases, DBROOT contains derby.properties
export NSC="-Dderby.system.home=${DBROOT} -jar $DERBY_INSTALL/lib/derbyrun.jar"
export CLASSPATH="${CSLIB}/derby.jar:${CSLIB}/derbytools.jar:${CSLIB}/derbynet.jar:${CSLIB}/derbyrun.jar:${CSLIB}/derbyclient.jar"
export eclipse_perf_dbloc_value=${eclipse_perf_dbloc_value:-"//build.eclipse.org:1527"}
# Port and HOST also need to be defined in /shared/eclipse/databases/derby.properties, for example:
#derby.drda.host=192.168.1.10
#derby.drda.portNumber=1527
#derby.drda.startNetworkServer=true
#derby.system.bootAll=true
#derby.drda.keepAlive=true
case $1 in
start )
# temporarily use 'noSecurityManager'
$JAVACMD -Xms256M -Xmx256M $NSC server start -noSecurityManager 1>derbyout.log.txt 2>derbyerr.log.txt &
RC=$?
if [[ $RC != 0 ]]
then
echo "derby start returned non-zero return code. RC: $RC"
fi
;;
help )
$JAVACMD $NSC
;;
serverhelp )
$JAVACMD $NSC server
;;
dblookhelp )
$JAVACMD $NSC dblook
;;
ping )
$JAVACMD $NSC server ping
;;
runtimeinfo )
$JAVACMD $NSC server runtimeinfo
;;
stop )
$JAVACMD $NSC server shutdown
;;
ij )
$JAVACMD $NSC ij
#$JAVACMD -Dij.protocol=jdbc:derby: -Dij.database=$DBROOT/$DBNAME org.apache.derby.tools.ij
;;
# need work, here
look )
#$JAVACMD com.ihost.cs.tools.cslook -d jdbc:derby:$DBROOT/$DBNAME
$JAVACMD $NSC dblook -d jdbc:derby:${eclipse_perf_dbloc_value}/${DBROOT}/${DBNAME}
;;
sysinfo )
$JAVACMD $NSC sysinfo
;;
* )
printf "\n\tERROR: \t%s\n" "unknown command: $1"
usage
;;
esac