Previous Topic

Next Topic

Multi-user standalone

The multi-user standalone model has the same issues with exchanging files described in File Migration.

However, sharing files between platforms simultaneously introduces additional complications with byte order and alignment, and adds the issue of record locking.

  • Byte order is critical. Applications expecting different byte orders cannot seamlessly share files in this model.

    Note: the c-tree Server does allow seamless file sharing!

    However, the UNIFRMAT define allows HIGH_LOW applications to store and retrieve data in LOW_HIGH format instead of HIGH_LOW. This allows the files to be shared. If a record schema is present in the form of a DODA, data records will be adjusted automatically. See the “c-tree Plus Features” chapter for more information on UNIFRMAT. Record Schemas describes the DODA.

  • All applications sharing c-tree Plus files must use the same alignment settings. If not, the application developer is responsible for ensuring record layouts are consistent.
  • Locking between cross-platform applications introduces the complications of different locking standards and network file sharing mechanisms.
    • In multi-user standalone mode, c-tree Plus uses three different locking systems to deal with the different locking standards used by various operating systems. Any combination of systems sharing files must use the same locking method with the same settings or they will not properly identify each other’s locks. See Multi-User Concepts for information on locking methods and their implementation.
    • Different network file sharing systems handle locks in different ways. Sometimes, this leads to incompatible locking systems between applications. When mixing applications from different environments, verify that locks are working. A simple test is to use a sample application, such as ctixmg, a c-tree Plus example program. In one instance of the application, enable locking and add a record (which locks that record automatically). On the other platform, open ctixmg, enable locking and attempt to read the record added by the other application. If ctixmg returns a error DLOK_ERR (42), locking is functioning properly. Otherwise, there is a locking issue requiring troubleshooting.
    • Note, the c-tree Server relieves the programmer of many of the issues regarding heterogeneous networking and data integrity as described in the following sections.