#!/bin/sh


PROLOG=prolog

PATH=/usr/5bin:/usr/bin:/bin:$PATH
export PATH

USAGE="Usage: initdb -o -e user/passwd\n\
               \t-o initializes an ORACLE database\n\
               \t-e initializes an emulator database (overrides -o)"

if test $# -lt 2 
then
  echo $USAGE
  exit
fi

############### option handling

emulator=false
oracle=false

while getopts oeh opt
do
  case $opt in 
    e) emulator=true;;
    o) oracle=true;;
    h) echo $USAGE; exit
  esac
done
shift `expr $OPTIND - 1`

############### database initialization

if test $emulator = true
then
  echo "initializing emulator database '$1' (whole database is erased!) ..."

  rm $ORACLE_EMULATOR/DBS/`expr $1 : '\(.*\)/.*' \| $1` 1>/dev/null 2>&1

  grep '^[^/#]' dbinit |\
  sed "1 i\\
    ensure_loaded('$ORACLE_EMULATOR/oracle').\\
    sql(\'$1\')." |\
  sed "$ a\\
    commit;\\
    quit;\\
    halt." |\
  $PROLOG 1>/dev/null 2>&1
else
  echo "initializing oracle database '$1' (whole database is erased!) ..."

  sqlplus $1 <<EOF >/tmp/out1
    set heading off
    set pagesize 0
    set feedback off

    select 'drop ' || object_type || ' ' || object_name || ';'
    from user_objects

    spool /tmp/drop.lis
    /
    spool off

    start /tmp/drop.lis
    host rm /tmp/drop.lis
    exit
EOF
  rm -f /tmp/out1

  sqlplus $1 < dbinit > /tmp/out2
  rm -f /tmp/out2
fi


echo "done"
