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
