CONTENTS -------- This distribution contains executables, libraries and includes needed for VROOM. It also contains tools to manage databases, to install Vroom server and create clients. There is also a user manual and a description of Vroom API. Here is the list of contents : readme read before use licence licence document LIB Vroom client library : libvroom.a INCLUDE client includes TEMPLATE templates for collections BIN contains vr_init, vr_server, vr_admin et vr_shell TEST root of examples TEST/VROOM directory for vr_admin TEST/SCHEMA schemes examples (directory) TEST/LIB library examples (directory) MAKE_INC makefiles directory SWAP swap zone for Vroom client BASE directory for Vroom databases BASE/VOLUME databases volumes BASE/SYSTEM system files DOC Vroom user manual (PostScript) RSC root of Sns RSC/bin sns_server and sns_check programs RSC/doc RSC user manual (PostScript) RSC/log Sns configuration file bug.report a framework for bugs reports. DO A TEST -- - ---- The do_a_test file is a script in to test persistance on a small example. Other examples stand in TEST directory. IMPORTANT --------- You have to read following paragraph. It contains documentation bugs, restrictions due to version 1.2 of Vroom and known bug list. DIFFERENCE between v1.2 - v1.1 ------------------------------ Version 1.2 includes a small mechanism for problem detection during commit. In this version, in case of a client or a server crash during commit, database is said to be "potentially damaged". Message : WARNING ! BASE MAY BE DAMAGED appears when the server start for this database, and during client connexion and commit. Use of the database remains possible, but its consistency is not guaranteed. It is better to restore an older version of this database from an archive. This operation suppress the previous message. SOFTWARE-BUS --> RSC -------------------- Communication tool between client and server was replaced in this version with equivalent tool named RSC. All about the Software Bus in the documentation is without interest. For more information, you can consulte RSC user manuel. This version of RSC is a beta-test version. Process "locator" from Software bus is replaced by sns_server. Process "swbs" from Software bus is replaced by sns_check. ERRATA ------ Some bugs remain in the documentation. Page 6. 2. Classes move class in cluster Page 6. 7. command quit in vr_shell does not work. You must use ^C. command commit validates the database modifications. USED RESTRICTION ---- ----------- Lock mode 1andN is not available in this version of Vroom. Modes 1orN (default mode) and NandN are available. Changing the lock mode for an object is valid only after commit. Lock waiting is determined by an environment variable : VROOM_TIMEOUT which give the maximum waiting delay (in secondes) for lock. If this delay is reached, exception : VR_kERR_DEADLOCK is raised. It replaces exception VR_kERR_VIOL_LOCK. If the exception is not catched, it starts client 'exit()'. Else, it is better to call 'vr_abort()' in the exception bloc. The client can now continue. Both solutions keep database consistency. In this version, commit is not safe. If you stop client or server during commit, database consistency can't be guaranteed. Commit end is reached when: * on the client, program continues * on the server, whith message : Fin commit If a client or server crash occurs during commit, data consistency cannot be guaranteed. In this case, it is better to start with a previous database version. You can manage database organisation with vr_shell tool. It is available only for cluster, class, and name management (cf page. 6, 7). Volume management should not be used. You have to commit all database management commands (commit command) in order to validate your modifications. VROOM version 1.2 does not include object garbage collector. In order to guarantee that no object becomes unreachable and occupies useless room, it may be useful to define a collection (SeqX or ListX) of all objects of each class. This collection should be updated in the constructor and the destructor of the class. KNOWN BUGS ----- ---- Comments /* ... */ between classes in schemas file (.sch) are not allowed. This leads to compilation errors. It is better to use '//' comments. Database name (for example 'test' in the test package) should not be prefixed with 'oz_' ou 'g_'. SOME ADVICE ---- ------ There is a strong link between database schema, metabase and files generated from vr_admin. In order to keep these elements consistent, it is better to follow next rules : - keep in the makefile the dependence list : schema ---------> .cc ------> librairy vr_admin CC+ar - init the system as often as you need : vr_init -b rm VROOM/* during schema change. For example, this is necessary when you suppress a class. VROOM is a database system but you have to regularly save schema and database files, for reliability and restoring purpose. Corresponding directories are in file repert.sys (ex: test.system, test.volume and test.schema). BETA-TESTS ----- ----- This version 1.2 of Vroom is a beta-test version. All problems or bugs can be reported to : homond@masi.ibp.fr Tools vr_init, vr_server, vr_admin, ... send a lot of messages in order to be sure that they are running. A continuous scrolling shows that it works... _______________________ END _______________________________________