Some answers from Geosoft...

When we designed the OASIS database in 1992, we expected that the database
would eventually evolve into a full multi-user client-server database.  At
that time, client-server was pretty hot, so this was a natural expectation.
In order to be multi-user and client-server ready, we build the concept of
users (and super-users) into the database API, and we built symbol-locking
into the symbol access routines.

When a database is created, you must identify the super-user name and
password.  This is the only user that is able to do anything at all to the
database.  The Open_DB method requires the user name and password.  Geosoft
always creates databases with "SUPER" as the super-user, and no password.
The only exception is for some technical services projects where a customer
wanted to take advantage of these security features.  In these cases, we
were able to set-up read-only users and provide custom gx's that prompted
for user name and password.

As for symbol locking, this is a key requirement for a multi-user database.
We have not implemented the multi-user capabilities, but if we ever decide
to do this the locking features already exist.  Note that the Internet
server model is quite different from classic "client-server", so it is
unlikely we will ever implement full client-server.  In any case, here are
what the various options mean:

DB_LOCK_READONLY

Lets any number of users lock and read the same symbol and associated data.
This also saves time since we do not write associated data back to the
database when the symbol is unlocked.  If another user already has a
READWRITE lock on the symbol, this lock would fail.

DB_LOCK_READWRITE

Only one user can READWRITE lock a symbol.  This is the most expensive lock
since it forces a write when the symbol is unlocked.

DB_WAIT_NONE

This will fail immediately if any other user has a READWRITE lock.

DB_WAIT_INFINITY

This will wait until an existing READWRITE lock is released.

DB_OWN_SHARED

When a symbol is created, this indicates that this symbol will be shared and
accessible by all users of the database.

DB_OWN_USER

When a symbol is created, this indicates that this symbol will be accessible
only by the user that created the symbol.


Our recommendation:
===================

Frankly, it is now unlikely that we will ever implement a full multi-user
database.  In the Internet/Intranet world, the direction is to have data
servers that will isolate the OASIS montaj data appliance (that is running
your GXs) from the messiness of multi-user.  Hence, we recommend:

1. Always make the super-user "SUPER" with password "".

2. Always create symbols DB_OWN_SHARED.

2. Always use DB_WAIT_NONE, and choose DB_LOCK_READONLY or DB_LOCK_READWRITE
depending on what you will be doing with the symbol data.

I hope this explains this a bit better...

Ian
____________
Ian MacLeod
[EMAIL PROTECTED]
(416) 369 0111
fax 369 9599
_______________________________________________________
More mailing list info http://www.geosoft.com/support/listserv/index.html

Reply via email to