# 
# =========================================
#  Melati logical database definition file
# =========================================
# 
# This file specifies how Melati should map the "logical database name"
# which it expects to see as the first element of the pathinfo in each
# incoming HTTP request to the JDBC connection details.
#
# Given the example URL
#
#   http://zippy.com/<zone>/org.melati.admin.Admin/<logical db>/Main
#
# the entries examined are:
#
#   org.melati.LogicalDatabase.<logical db>.class
#
#     The Java class for the application-specific database schema, if one
#     was defined in a Data Structure Definition file or 
#     org.melati.poem.PoemDatabase if not.
#
#  org.melati.LogicalDatabase.<logical db>.url
#
#     The JDBC URL for the actual DBMS database
#     A minimal, localhost URL might be: 
#     jdbc:postgresql:melatitest
#     jdbc:hsqldb:hsql://dist/melati/db/melatitest
#     jdbc:mysql:///melatitest
#
#  org.melati.LogicalDatabase.<logical db>.user
#
#     The JDBC  username under which to connect to the database.
#     Postgres:
#     Depending on your access policy (e.g. `/usr/lib/pgsql/pg_hba.conf'),
#     `postgres' may be a good choice.
#     MySQL:
#     (With no regard as to the security implications)
#     Create a user and password with all access rights:
#     GRANT ALL PRIVILEGES ON [dbname].* to [user]@[hostname] identified by
#    '[password]'"
#     where user is 'melati' and so is the password.
#     Mckoi:
#     'test' works out of the box.
#     HSQLDB: 
#      sa is the default
#     MS SQL: 
#      Whatever user owns the db - must have create table rights
#     Oracle: 
#      Whatever user owns the db - suggest create a user called MELATI:
#      CREATE USER MELATI IDENTIFIED BY MELATI;
#      GRANT CREATE TABLE TO MELATI;
#      GRANT RESOURCE to MELATI;
#      GRANT CREATE SESSION TO MELATI;
#
#  org.melati.LogicalDatabase.<logical db>.pass
#
#     The JDBC password associated with the username.  
#     Postgres:
#     Depending on your access policy, `*' may well work fine.
#     MySQL:
#     Use password defined above.
#     Mckoi:
#     'test' works out of the box.
#     HSQLDB:
#     null works out of the box.
#
#  org.melati.LogicalDatabase.<logical db>.maxtransactions
#
#     The size of the transaction pool.
#
#

# Used by the web site for the interactive tests

org.melati.LogicalDatabase.melatitest.class=org.melati.poem.PoemDatabase
org.melati.LogicalDatabase.melatitest.dbmsclass=org.melati.poem.dbms.Hsqldb
org.melati.LogicalDatabase.melatitest.url=jdbc:hsqldb:/dist/melati/db/melatitest
org.melati.LogicalDatabase.melatitest.user=sa
org.melati.LogicalDatabase.melatitest.pass=
org.melati.LogicalDatabase.melatitest.maxtransactions=4
org.melati.LogicalDatabase.melatitest.addconstraints=true
org.melati.LogicalDatabase.melatitest.logsql=false
org.melati.LogicalDatabase.melatitest.logcommits=false

# Used by the website for the example

org.melati.LogicalDatabase.contacts.class=org.melati.example.contacts.ContactsDatabase
org.melati.LogicalDatabase.contacts.dbmsclass=org.melati.poem.dbms.Hsqldb
org.melati.LogicalDatabase.contacts.url=jdbc:hsqldb:/dist/melati/db/contacts
org.melati.LogicalDatabase.contacts.user=sa
org.melati.LogicalDatabase.contacts.pass=
org.melati.LogicalDatabase.contacts.maxtransactions=4
org.melati.LogicalDatabase.contacts.addconstraints=true
org.melati.LogicalDatabase.contacts.logsql=false
org.melati.LogicalDatabase.contacts.logcommits=false

# Used by the unit tests 

org.melati.LogicalDatabase.poemtest.class=org.melati.poem.test.TestDatabase
org.melati.LogicalDatabase.poemtest.dbmsclass=org.melati.poem.dbms.Hsqldb
org.melati.LogicalDatabase.poemtest.url=jdbc:hsqldb:/dist/melati/db/poemtest
org.melati.LogicalDatabase.poemtest.user=sa
org.melati.LogicalDatabase.poemtest.pass=
org.melati.LogicalDatabase.poemtest.maxtransactions=4
org.melati.LogicalDatabase.poemtest.addconstraints=true
org.melati.LogicalDatabase.poemtest.logsql=false
org.melati.LogicalDatabase.poemtest.logcommits=false

# Used by the unit tests

org.melati.LogicalDatabase.melatijunit.class=org.melati.poem.PoemDatabase
org.melati.LogicalDatabase.melatijunit.dbmsclass=org.melati.poem.dbms.Hsqldb
org.melati.LogicalDatabase.melatijunit.url=jdbc:hsqldb:/dist/melati/db/melatijunit
org.melati.LogicalDatabase.melatijunit.user=sa
org.melati.LogicalDatabase.melatijunit.pass=
org.melati.LogicalDatabase.melatijunit.maxtransactions=4
org.melati.LogicalDatabase.melatijunit.addconstraints=true
org.melati.LogicalDatabase.melatijunit.logsql=false
org.melati.LogicalDatabase.melatijunit.logcommits=false

# Used by the unit tests

org.melati.LogicalDatabase.bad.class=org.melati.poem.PoemDatabaseNOT
org.melati.LogicalDatabase.bad.dbmsclass=org.melati.poem.dbms.Hsqldb
org.melati.LogicalDatabase.bad.url=jdbc:hsqldb:mem:bad
org.melati.LogicalDatabase.bad.user=sa
org.melati.LogicalDatabase.bad.pass=
org.melati.LogicalDatabase.bad.maxtransactions=4
org.melati.LogicalDatabase.bad.addconstraints=true
org.melati.LogicalDatabase.bad.logsql=false
org.melati.LogicalDatabase.bad.logcommits=false

