#!/bin/sh
#-------------------------------------------------------------------------
#
# createdb.sh--
#    create a postgres database
#
#    this program runs the monitor with the "-c" option to create
#    the requested database.
#
# Copyright (c) 1994, Regents of the University of California
#
#
# IDENTIFICATION
#    $Header: /usr/local/cvsroot/pgsql/src/bin/createdb/createdb.sh,v 1.11 1998/09/03 02:12:14 momjian Exp $
#
#-------------------------------------------------------------------------

CMDNAME=`basename $0`

MBENABLED=EUC_JP
MB=

if [ -z "$USER" ]; then
	if [ -z "$LOGNAME" ]; then
		if [ -z "`whoami`" ]; then
			echo "$CMDNAME: cannot determine user name"
			exit 1
		fi
	else
		USER=$LOGNAME
		export USER
	fi
fi

dbname=$USER

PASSWDOPT="";

while test -n "$1"
do
	case $1 in
		--help) usage=1;;

		-a) AUTHSYS=$2; shift;;
		-h) PGHOST=$2; shift;;
		-p) PGPORT=$2; shift;;
		-u) PASSWDOPT=$1;;
		-D) dbpath=$2; shift;;
		-E)
			if [ -z "$MBENABLED" ];then
				echo "$CMDNAME: you need to turn on MB compile time option"
				exit 1
			fi
			MB=$2
			MBID=`pg_encoding $MB`
			if [ -z "$MBID" ];then
				echo "$CMDNAME: $MB is not a valid encoding name"
				exit 1
			fi
			shift;;
		-*) echo "$CMDNAME: unrecognized parameter $1"; usage=1;;
		 *) dbname=$1;;
	esac
	shift;
done

if [ "$usage" ]; then
	if [ -z "$MBENABLED" ];then
		echo "Usage: $CMDNAME -a <authtype> -h <server> -p <portnumber> -D <location> [dbname]"
		exit 1
	else
		echo "Usage: $CMDNAME -a <authtype> -h <server> -p <portnumber> -D <location> -E <encoding> [dbname]"
		exit 1
	fi
fi

if [ -z "$AUTHSYS" ]; then
	AUTHOPT=""
else
	AUTHOPT="-a $AUTHSYS"
fi

if [ -z "$PGHOST" ]; then
	PGHOSTOPT=""
else
	PGHOSTOPT="-h $PGHOST"
fi

if [ -z "$PGPORT" ]; then
	PGPORTOPT=""
else
	PGPORTOPT="-p $PGPORT"
fi

if [ -z "$dbpath" ]; then
	location=""
else
#	if [ ! -d "$dbpath"/base ]; then
#		echo "$CMDNAME: database creation failed on $dbname."
#		echo "directory $dbpath/base not found."
#		exit 1
#	fi
	location="with location = '$dbpath'"
fi
if [ -z "$MBENABLED" -o -z "$MB" ]; then
	encoding=""
else
	encoding="encoding = '$MB'"
	if [ -z "$location" ];then
		encoding="with $encoding"
	fi
fi

psql $PASSWDOPT -tq $AUTHOPT $PGHOSTOPT $PGPORTOPT -c "create database $dbname $location $encoding" template1

if [ $? -ne 0 ]; then
	echo "$CMDNAME: database creation failed on $dbname."
	exit 1
fi

exit 0
