Octopus Administrator's Guide
Octopus Architectural Concepts

Previous Topic:
Octopus Classes of Service
Chapter Index
Next Topic:
Octopus Architectural Components


Octopus Execution Modes

Octopus can be set to operate in several distinct execution modes: Read-only (the default), Public Update, Private Update, and On-Demand Database (ODDB). The different execution modes are enabled by specifying the appropriate value for the OctoRunMode parameter in the desired OCTOPUS section of the SAND CDBMS configuration file, as described below.


When Octopus is set to operate in Read-only mode (OctoRunMode=ReadOnly), only SELECT statements can be successfully executed; execution of any other SQL commands (such as CREATE..., DROP..., ALTER..., INSERT, DELETE, or UPDATE) will have no effect. This is the default setting for an Octopus instance.

Public Update

When Octopus is set to operate in Public Update mode (OctoRunMode=PublicUpdate), any command other than SELECT, and all subsequent commands in the same transaction, are executed on the Updatable OctoEng (unless "non-persistent updates" are enabled); once the COMMIT [WORK] command completes successfully, changes are published to all users by automatically refreshing the virtual database version used by the other OctoEng’s. In Public Update mode, it is also possible to connect using the SAND CDBMS Data Loader (ndlm) and import data to the database. The changes can be permanently saved by executing the SET UPDATE KEEP CHANGE command.

Private Update

When Octopus is set to operate in Private Update mode (OctoRunMode=PrivateUpdate), clients are able successfully to execute non-SELECT SQL commands that alter their private version of the database, and then work with this altered version within the same transaction. However, unless "non-persistent updates" are enabled, they cannot successfully execute the COMMIT [WORK] command, and are forced to roll back any changes at the end of their session. The version of the database seen by other users is not affected. This option is useful in allowing data analysts to create temporary tables for use in exploratory querying. Note that it is not possible to import data using ndlm when operating in Private Update mode.

On-Demand Database (ODDB)

When a client connects to Octopus in On-Demand Database mode (OctoRunMode=ODDB) and references a database name other than the one defined for the Octopus instance, Octopus will look for the appropriate [DATABASE database-name] section in the nucleus.ini file. If found, an instance of that database will be started in either a read-only or updatable mode.