#!/bin/sh

version=26060301

cd "$(dirname "$0")"
pwd

dbconnstring=$1
user=$2
pwd=$3

echo dbconnstring: ${dbconnstring}
echo db user: ${user}
echo -n password:
printf "%0.s*" $(seq 1 ${#pwd})
echo

export ISC_USER=${user}
export ISC_PASSWORD=${pwd}

# check if procedure getsettings exists
checkifprocexists="select rdb\$procedure_name from rdb\$procedures where rdb\$procedure_name='GETCONFIGVALUE';"
sqlres=$(echo $checkifprocexists | /opt/kaskad/firebird/bin/isql ${dbconnstring} | tail -n 2 )
echo "$sqlres"

if [ -n "$sqlres" ]; then
    echo "getconfigvalue exists"
    getdbversion="select resvalue from getconfigvalue('ksdbversion');";
    sqlres=$(echo $getdbversion | /opt/kaskad/firebird/bin/isql ${dbconnstring} | tail -n 2 )
fi


if [ -z "$sqlres" ]; then
    sqlres="0"
fi

echo "script version: ${version}. dbversion is ${sqlres}"

if [ -z "$sqlres" ] || [ ${sqlres} -lt ${version} ]; then
    echo "db version is lower then sript's one. Run update scripts"

    sqlres=$(cat init1.sql | /opt/kaskad/firebird/bin/isql ${dbconnstring})
    echo $sqlres

    sqlres=$(cat init2.sql | /opt/kaskad/firebird/bin/isql ${dbconnstring})
    echo $sqlres

    # update version
    setdbversion="select resvalue from setconfigvalue('ksdbversion', '${version}');"
    echo $setdbversion
    sqlres=$(echo $setdbversion | /opt/kaskad/firebird/bin/isql ${dbconnstring} | tail -n 2 )
    echo $sqlres
elif [ ${sqlres} -eq ${version} ]; then
    echo VERSIONS ARE EQUAL. DB METADATA WERE NOT UPDATED
else
    echo WARNING: db version is newer then script"'" one
fi

echo 








































































