#!/bin/sh

# ***************************************************************************
# *                 RELEX, Ltd. Linter DBMS source code                      *
# *              This is public source code of RELEX, Ltd.                   *
# *                                                                          *
# *      You have a royalty-free right to use, modify, reproduce and         *
# *     distribute the Sample Files (and/or any modified version) in         *
# *        any way you find useful, provided that you agree that             *
# *       RELEX has no warranty obligations or liability for any             *
# *           Sample Application Files which are modified.                   *
# *                                                                          *
# *                    Copyright (c) 2001 Relex, Inc.                        *
# *                                                                          *
# *                        All rights reserved.                              *
# ****************************************************************************
# AUTHOR:
# ----------------------------------------------------------------------------
# PURPOSE:
# ----------------------------------------------------------------------------
# REVISION HISTORY:
#  23.08.98  --          , Creation date
#  24.09.98 -- use lsyncd utility


SY00=`pwd` 
export SY00

if [ "$LINTER_DIR"A = A ]; then
  LINTER_DIR=..
fi
echo PATH=\'${PATH}\'
echo SY00=\'${SY00}\'
#exit 0
LINTER="\"$LINTER_DIR/bin/linter\" "
INL="\"$LINTER_DIR/bin/inl\" -u SYSTEM/MANAGER "
SLEEP='sleep 15'
LOADREL="\"$LINTER_DIR/bin/loarel\" -s 0 -u SYSTEM/MANAGER "
GENDB="\"$LINTER_DIR/bin/gendb\" "
SHUT="\"$LINTER_DIR/bin/shut\" -u SYSTEM/MANAGER "
SYNCD="$LINTER_DIR/bin/lsyncd"
CHKLIN="\"$LINTER_DIR/bin/chklinter\" -r -t 1"
NET_MBX=20561
LINTER_MBX=21563


n=1
sle()
{
sleep 1
echo $n
n=`expr $n + 1`
}


wait_linter()
  {
  for i in 1 3 10 15; do
    eval "$CHKLIN" && break
    sleep $i
  done
  }


while [ 1 -eq 1 ]; do
  NET_MBX=$LINTER_MBX
  export NET_MBX
  export LINTER_MBX
  eval "$CHKLIN" || break
  LINTER_MBX=`expr $LINTER_MBX + 1`
done

eval "$GENDB" "\"$LINTER_DIR/db/make_db.gdb\""
sle 1
eval "$LINTER"
wait_linter

#charecter sets v >= 6.0.0
if [ -f "$LINTER_DIR/dict/mbcps.sql" ]; then
  eval "$INL" -f "\"$LINTER_DIR/dict/cstables.sql\""
  sle 3
  eval "$INL" -f "\"$LINTER_DIR/dict/charsets.sql\""

  if [ -f "$LINTER_DIR/dict/setcp.sql" ]; then
    sle 3
    eval "$INL" -f "\"$LINTER_DIR/dict/setcp.sql\""
  fi
  sle 3

  eval "$INL" -f "\"$LINTER_DIR/dict/mbcps.sql\""
  sle 3

  eval "$SHUT"
  sle 3
  [ -x "$SYNCD" ] && "$SYNCD"
  sle 3
  eval "$LINTER"
  wait_linter
  eval "$INL" -f "\"$LINTER_DIR/dict/descmb.sql\""
  [ -f "$LINTER_DIR/dict/LINTER_CP" ] && {
    . "$LINTER_DIR/dict/LINTER_CP"
  }

  [ -f "$LINTER_DIR/dict/setcp.sql" ] && {
    eval "$INL" -f "\"$LINTER_DIR/dict/setcp.sql\""
  }
fi

eval "$INL" -f "\"$LINTER_DIR/dict/systab.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/dict/distr.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/dict/security.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/dict/extsec.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/dict/catalog.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/dict/ora_cat.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/dict/inkernel.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/dict/events.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/dict/cerrors.sql\""
sle 3

eval "$INL" -f "\"$LINTER_DIR/dict/search.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/dict/default.sql\""
sle 3


eval "$LOADREL" -t ERRORS  -f "\"$LINTER_DIR/dict/errors.lod\""
sle 3
sle 3
eval "$SHUT"
sle 3
[ -x "$SYNCD" ] && "$SYNCD"
sle 3
eval "$LINTER"
wait_linter
eval "$INL" -f "\"$LINTER_DIR/samples/sql/auto/cauto.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/samples/sql/auto/cperson.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/samples/sql/auto/cfinance.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/samples/sql/date/created.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/samples/sql/date/indexd.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/samples/sql/soccer/creates.sql\""
sle 3
eval "$INL" -f "\"$LINTER_DIR/samples/sql/soccer/indexs.sql\""
sle 3
eval "$LOADREL" -t AUTO -f "\"$LINTER_DIR/samples/db/lod/auto.lod\""
sle 3
eval "$LOADREL" -t PERSON  -f "\"$LINTER_DIR/samples/db/lod/person.lod\""
sle 3
eval "$LOADREL" -t FINANCE -f "\"$LINTER_DIR/samples/db/lod/finance.lod\""
eval "$INL" -f "\"$LINTER_DIR/dict/enaacc.sql\""
sle 3

eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_insdat.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_crttab.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_blob.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_retcur.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_callrc.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_case.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_cursor.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_eif.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_excep.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_goto.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_if.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_in.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_inout.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_out.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_packet.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_result.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_currc.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_while.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/proc/p_param.prc\""

eval "$INL" -f "\"$LINTER_DIR/samples/triggers/c_trtab.sql\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_adr.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_ads.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_air.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_ais.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_aucr.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_aucs.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_aur.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_aus.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_bdr.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_bds.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_bir.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_bis.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_bucr.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_bucs.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_bur.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_bus.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_iofdr.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_iofds.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_iofir.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_iofis.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_iofur.prc\""
eval "$INL" -f "\"$LINTER_DIR/samples/triggers/tr_iofus.prc\""

sle 3
eval "$SHUT"
sle 3
[ -x "$SYNCD" ] && "$SYNCD"
sle 3
exit 0


