#!/bin/sh

###############
# database defs
###############
DBXML=cegodb.xml
DBNAME=cegodb
PAGESIZE=16384
ADMPORT=2000
DBPORT=2200
LOGPORT=3000
PIDFILE=./db/pid
ADMINUSER=cgadm
ADMINPWD=cgadm

###############
# tableset defs 
###############
TS=TS1
TSROOT=./db
TSTICKET=./db/tsticket.xml
SYSSIZE=100
TMPSIZE=100
LOGFILESIZE=1000000
LOGFILENUM=3
APPFILE=./db/data01.dbf
APPSIZE=1000
DBUSER=lemke
DBPWD=lemke

DEBUGLEVEL=DEBUG

### end of customizing ###

CEGO=../src/cego

rm -rf db
mkdir db
rm $DBXML

echo "Creating xml ..."
cat > $DBXML <<EOF
<?xml version="1.0" ?>
<!DOCTYPE CEGO_DB_SPEC>
<DATABASE NAME="$DBNAME" PAGESIZE="$PAGESIZE" ADMINPORT="$ADMPORT" LOGPORT="$LOGPORT" DATAPORT="$DBPORT" PIDFILE="$PIDFILE" MAXFID="1" MAXTSID="1"
 NUMRECSEMA="281" NUMSYSPAGESEMA="53" NUMDATAPAGESEMA="281" NUMIDXPAGESEMA="281" NUMRBPAGESEMA="281" NUMDATAFILESEMA="53" NUMBUFFERPOOLSEMA="31" 
 CSMODE="ON">
<MODULE NAME="ALL" LEVEL="$DEBUGLEVEL"></MODULE>
</DATABASE> 
EOF

echo "Creating admin user ...\c"
$CEGO --mode=adduser --dbxml=${DBXML} --user=${ADMINUSER}/${ADMINPWD} --role=admin
if [ $? -eq 0 ]
then
    echo "... operation ok"
else
    echo "... operation failed"
    exit 1
fi

echo "Defining tableset ...\c"
$CEGO --mode=define --tableset=${TS} -dbxml=${DBXML} --tsdef=tsroot:${TSROOT},tsticket:${TSTICKET},syssize:${SYSSIZE},tmpsize:${TMPSIZE},logfilesize:${LOGFILESIZE},logfilenum:${LOGFILENUM},appfile:${APPFILE},appsize:${APPSIZE} 
if [ $? -eq 0 ]
then
    echo "... operation ok"
else
    echo "... operation failed"
    exit 1
fi

echo "Creating database user ...\c"
$CEGO --mode=adduser --tableset=${TS} --dbxml=${DBXML} --user=${DBUSER}/${DBPWD} --role=ALL
if [ $? -eq 0 ]
then
    echo "... operation ok"
else
    echo "... operation failed"
    exit 1
fi

echo "Creating database role ...\c"
$CEGO --mode=addrole --dbxml=${DBXML} --role=ALL
if [ $? -eq 0 ]
then
    echo "... operation ok"
else
    echo "... operation failed"
    exit 1
fi

echo "Creating database role permission ...\c"
$CEGO --mode=addperm --dbxml=${DBXML} --role=ALL --permid=P1 --tableset=${TS} --perm=ALL --filter=ALL
if [ $? -eq 0 ]
then
    echo "... operation ok"
else
    echo "... operation failed"
    exit 1
fi


echo "Creating tableset ...\c"
$CEGO --mode=create --dbxml=${DBXML} --tableset=${TS}
if [ $? -eq 0 ]
then
    echo "... operation ok"
else
    echo "... operation failed"
    exit 1
fi
