#!/bin/sh

.  _PATH_TO_INSTALL_/bin/Definitions

$PG_CREATEUSER --superuser --createdb --no-adduser --no-createrole -U $PGADMIN $PGUSER 
$PG_CREATEDB -U $PGUSER $PGDB

SqlQuery "create table spooledfiles ( filename varchar(100) );"

# Table de dcodage des prefixes

SqlQuery "create table geozones_list ( id serial8, level int4, regexp_prefix varchar(100) primary key, explanation varchar(500) );"

cat $ETC/prefixes.txt | sed 's/#.*//g' | grep -v '^$' | sed 's/'"'"'/&&/g' | sed 's/\([^	]*\)	\([^	]*\)	\(.*\)/insert into geozones_list values ( DEFAULT, \1, '"'"'^\2'"'"', '"'"'\3'"'"' );/g' | $PSQL -qtA '' -F '\t' -U $PGUSER $PGDB

# Meta description des donnes

SqlQuery "create table meta_columndesc ( id serial8, ColumnName varchar(64) primary key, ColumnDesc varchar(64), DataType varchar(2), Size int8 );"
SqlQuery "create index i_cdesc_1 on meta_columndesc ( ColumnName );"

SqlQuery "create table meta_indexes ( id serial8 primary key, tablename varchar(100), name varchar(100), type varchar(10) );"
SqlQuery "create index i_indexes_1 on meta_indexes ( name );"

SqlQuery "create table meta_indexesdesc ( id serial8 primary key, indexid int8 references meta_indexes(id), ColumnName varchar(64));"

SqlQuery "create index i_inddesc on meta_indexesdesc ( indexid );"

# Stockage des donnes

SqlQuery "create table taxdata ( id serial8 primary key, SourceFilename varchar(100) );"

SqlQuery "insert into meta_columndesc values ( DEFAULT, 'id', 'Id', ' ', 0 );"
SqlQuery "insert into meta_columndesc values ( DEFAULT, 'sourcefilename', 'SourceFilename', 'L', 100 );"

SqlQuery "create table geozones ( id serial8, taxdataid int8 references taxdata(id), match varchar(50), lmatch int4, level int4, final int4, zone text, subzone varchar(500) );"


# Rsum des donnes contenues dans la base

SqlQuery "create table summaries ( id serial8 primary key, name varchar(100), value text );"

SqlQuery "create index i_summaries_1 on summaries ( name );"

# Intituls CallType

SqlQuery "create table calltypes ( calltype varchar(2) primary key, description varchar(100) );"

SqlQuery "insert into calltypes values ('0', 'PublicNetworkOutgoingCall');"
SqlQuery "insert into calltypes values ('1', 'PublicNetworkOutgoingCallThroughPrivateNetwork');"
SqlQuery "insert into calltypes values ('2', 'PrivateNetworkCall');"
SqlQuery "insert into calltypes values ('3', 'LocalCall');"
SqlQuery "insert into calltypes values ('4', 'PublicNetworkIncomingCall');"
SqlQuery "insert into calltypes values ('5', 'PublicNetworkIncomingCallThroughPrivateNetwork');"
SqlQuery "insert into calltypes values ('6', 'Unspecified');"
SqlQuery "insert into calltypes values ('7', 'PrivateNetworkOutgoingCallToPublicNetwork');"
SqlQuery "insert into calltypes values ('8', 'PrivateNetworkOutgoingCallToPrivateNetwork');"
SqlQuery "insert into calltypes values ('9', 'PublicNetworkIncomingCallToPrivateNetwork');"
SqlQuery "insert into calltypes values ('10', 'PrivateNetworkIncomingCallToPrivateNetwork');"
SqlQuery "insert into calltypes values ('11', 'PublicOrPrivateNetworkOutgoingCallThroughPrivateNetwork');"
SqlQuery "insert into calltypes values ('12', 'PublicOrPrivateNetworkIncomingCallThroughPrivateNetwork');"
SqlQuery "insert into calltypes values ('13', 'PrivateNetworkIncomingCall');"
SqlQuery "insert into calltypes values ('14', 'LocalToLocal');"

SuperQuery "vacuum analyze;"
