This database state structure gets and sets the state parameters for a specific database. All fields in this structure can be modified using the API. See also the ESS_DBINFO_T and ESS_DBSTATS_T structures, which contain additional database information that cannot be modified.
typedef struct ESS_DBSTATE_T { ESS_DESC_T Description; ESS_BOOL_T Loadable; ESS_BOOL_T Autoload; ESS_ACCESS_T Access; ESS_SHORT_T IndexType; ESS_ULONG_T MaxMem; ESS_ULONG_T MaxCompMem; ESS_BOOL_T CalcNoAggMissing; ESS_BOOL_T CalcNoAvgMissing; ESS_BOOL_T CalcTwoPass; ESS_BOOL_T CalcCreateBlock; ESS_DBNAME_T CrDbName; ESS_MBRNAME_T CrTypeMember; ESS_USHORT_T CrConvType; ESS_ULONG_T MaxMemIndex; ESS_ULONG_T IndexPageSize; ESS_BOOL_T DataCompress; ESS_USHORT_T DataCompressType; ESS_ULONG_T RetrievalBuffer; ESS_ULONG_T RetrievalSortBuffer; ESS_BYTE_T cIOAccessFlagInUse; /* new for 6.5 ESS_BOOL_T bNoWaitIO; /* new for 6.5 ESS_USHORT_T IsolationLevel; ESS_BOOL_T PreImage; ESS_BYTE_T cIOAccessFlagPending; /* new for 6.5 ESS_LONG_T TimeOut; ESS_ULONG_T CommitBlocks; ESS_ULONG_T CommitRows; ESS_ULONG_T nVolumes; ESS_DISKVOLUME_T DiskVolume[1]; } ESS_DBSTATE_T, *ESS_PDBSTATE_T, **ESS_PPDBSTATE_T;
The fields are:
Data Type | Field | Description |
---|---|---|
ESS_DESC_T | Description | The database description (up to 80 characters) |
ESS_BOOL_T | Loadable | Flag to indicate whether the database can be loaded (ESS_TRUE if the database is loadable) |
ESS_BOOL_T | Autoload | Flag to indicate whether the database will be loaded automatically be loaded when the application is started (ESS_TRUE if the database will be automatically loaded) |
ESS_ACCESS_T | Access | The default access level to the database. See Bitmask Data Types (C) for a list of values this field can contain. |
ESS_USHORT_T | IndexType | The database index type (array or tree). This field can contain the following values:
|
ESS_ULONG_T | MaxMem | The maximum memory reserved for non-compressed data blocks in the database(in bytes) |
ESS_ULONG_T | MaxCompMem | The maximum memory reserved for compressed data blocks in database(in bytes) |
ESS_BOOL_T | CalcNoAggMissing | Flag to suppress aggregation of members if all their children are missing (ESS_TRUE if missing values are not aggregated) |
ESS_BOOL_T | CalcNoAvgMissing | Flag to suppress inclusion of missing members in calculating averages (ESS_TRUE if missing values are not included) |
ESS_BOOL_T | CalcTwoPass | Flag to force two pass calculation when running full calculation of database (ESS_TRUE if two pass calculation is enabled) |
ESS_BOOL_T | CalcCreateBlock | Flag to force creation of data block on constant assignment calc equation (only valid for sparse dimensions). Set to ESS_TRUE if blocks are forcibly created. |
ESS_DBNAME_T | CrDbName | The name of associated currency database (valid in non-currency databases). |
ESS_MBRNAME_T | CrTypeMember | The name of Currency Conversion type member (valid in non-currency databases) |
ESS_USHORT_T | CrConvType | Currency Conversion type (whether currency conversions are calculated by multiplication or division). Values:
|
ESS_ULONG_T | MaxMemIndex | Minimum index cache size. Value: 1048576. Set using the constant ESS_INDEXCACHEMIN_SIZE |
ESS_ULONG_T | IndexPageSize | Size of index page in which buffer pool is constructed in (in bytes). Minimum index page size. Value: 1024. Set using the constant ESS_INDEXPAGEMIN_SIZE Maximum page size for the IndexPageSize field. Value: 8192. Set using the constant ESS_INDEXPAGEMAX_SIZE |
ESS_BOOL_T | DataCompress | Optional Flag to determine whether to compress blocks for this database. |
ESS_USHORT_T | DataCompressType | The data compression type used for write operations if the optional compression flag is set.
|
ESS_ULONG_T | RetrievalBuffer | Specifies the size, in bytes, of the server buffer that holds extracted row data cells before they are evaluated by the RESTRICT, TOP, or BOTTOM commands. The default is 10240 bytes. The minimum is 2048 bytes and the maximum is 102400000 bytes. |
ESS_ULONG_T | RetrievalSortBuffer | Specifies the size, in bytes, of the server buffer that holds the data to be sorted during a retrieval. The minimum is 2048 bytes and the maximum is 102400000 bytes. |
ESS_BYTE_T | cIOAccessFlagInUse | The type of I/O Access in use by the active current database. The two types of access are ESS_IO_ACCESS_BUFFERED and ESS_IO_ACCESS_DIRECT. Even when cIOAccessFlagPending has been set to ESS_IO_ACCESS_DIRECT, some operations might still require buffering. Also direct access may not be supported on a given platform. This field is read only. |
ESS_BOOL_T | bNoWaitIO | This controls whether or not Essbase will wait for certain direct I/O operations to finish. This only applies on platforms that support direct I/O and if cIOAccessFlag is ESS_IO_ACCESS_DIRECT. This field is read only. The default is TRUE. |
ESS_USHORT_T | IsolationLevel | The isolation level:
|
ESS_BOOL_T | PreImage | The flag to read previously committed data during read-only requests. This flag can only be set for COMMITTED access. The default is YES. |
ESS_BYTE_T | cIOAccessFlagPending | The type of I/O Access (direct or buffered) that Essbase will use. This setting takes effect after the next DBLoad (open operation). |
ESS_LONG_T | TimeOut | The timeout interval in seconds. This can only be set for COMMITTED access. -1 is Indefinite wait. 0 is Immediate access, no wait (the default). n is the specified interval in seconds. |
ESS_ULONG_T | CommitBlocks | The number of data blocks modified before performing the explicit commit (only used when isolation level is UNCOMMITTED). |
ESS_ULONG_T | CommitRows | The number of rows of the input file to data load before performing the explicit commit (only used when isolation level is UNCOMMITTED). |
ESS_ULONG_T | nVolumes | The number of disk volume settings for this database. |
ESS_DISKVOLUME_T | DiskVolume[1] | An array of disk volume settings. |