ESS_DBSTATE_T

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 TypeFieldDescription
ESS_DESC_TDescriptionThe database description (up to 80 characters)
ESS_BOOL_TLoadableFlag to indicate whether the database can be loaded (ESS_TRUE if the database is loadable)
ESS_BOOL_TAutoloadFlag 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_TAccessThe default access level to the database. See Bitmask Data Types (C) for a list of values this field can contain.
ESS_USHORT_TIndexTypeThe database index type (array or tree). This field can contain the following values:
  • ESS_INDEXTYPE_ARRAY

  • ESS_INDEXTYPE_AVL

For API releases 4 and later, the IndexType field is obsolete.
ESS_ULONG_TMaxMemThe maximum memory reserved for non-compressed data blocks in the database(in bytes)
ESS_ULONG_TMaxCompMemThe maximum memory reserved for compressed data blocks in database(in bytes)
ESS_BOOL_TCalcNoAggMissingFlag to suppress aggregation of members if all their children are missing (ESS_TRUE if missing values are not aggregated)
ESS_BOOL_TCalcNoAvgMissingFlag to suppress inclusion of missing members in calculating averages (ESS_TRUE if missing values are not included)
ESS_BOOL_TCalcTwoPassFlag to force two pass calculation when running full calculation of database (ESS_TRUE if two pass calculation is enabled)
ESS_BOOL_TCalcCreateBlockFlag 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_TCrDbNameThe name of associated currency database (valid in non-currency databases).
ESS_MBRNAME_TCrTypeMemberThe name of Currency Conversion type member (valid in non-currency databases)
ESS_USHORT_TCrConvTypeCurrency Conversion type (whether currency conversions are calculated by multiplication or division). Values:
  • ESS_CRCTYPE_DIV

  • ESS_CRCTYPE_MULT

ESS_ULONG_TMaxMemIndexMinimum index cache size. Value: 1048576. Set using the constant ESS_INDEXCACHEMIN_SIZE
ESS_ULONG_TIndexPageSize

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_TDataCompressOptional Flag to determine whether to compress blocks for this database.
ESS_USHORT_TDataCompressTypeThe data compression type used for write operations if the optional compression flag is set.
  • Bitmap—Uses a bitmap to represent data cells (the default).

  • Run-Length Encoding—Compresses any consecutive repetitive values.

  • No Compression—Does not compress the data.

ESS_ULONG_TRetrievalBufferSpecifies 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_TRetrievalSortBufferSpecifies 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_TcIOAccessFlagInUseThe 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_TbNoWaitIOThis 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_TIsolationLevelThe isolation level:
  • COMMITTED—Write locks on all affected data blocks restrict access until the transaction commits.

  • UNCOMMITTED(default)—Write locks are acquired and released as needed during the transaction.

ESS_BOOL_TPreImageThe 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_TcIOAccessFlagPendingThe type of I/O Access (direct or buffered) that Essbase will use. This setting takes effect after the next DBLoad (open operation).
ESS_LONG_TTimeOut

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_TCommitBlocksThe number of data blocks modified before performing the explicit commit (only used when isolation level is UNCOMMITTED).
ESS_ULONG_TCommitRowsThe number of rows of the input file to data load before performing the explicit commit (only used when isolation level is UNCOMMITTED).
ESS_ULONG_TnVolumesThe number of disk volume settings for this database.
ESS_DISKVOLUME_TDiskVolume[1]An array of disk volume settings.