CommitLevel

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

CommitLevel

Declaration

CommitLevel: TApolloCommitLevel;

 

TApolloCommitLevel = (clFull, clNormal, clNone)

 

alternatively, use 0, 1 or 2.

 

Note: C++Builder must use the number 2 instead of clNone. There is a naming conflict with a C++Builder constant.

Description

Determines how Apollo manages data buffers. This property has a significant affect on performance.

clFull (slowest performance)

Always write data to disk. Flushes both Apollo and Windows buffers. It is the slowest mode, but most secure. This mode can be used by applications that require the highest level of guarantee that data be written to disk. Performance is hindered because no buffering is used.

clNormal (optimal performance)

Always flush Apollo buffers but let Windows decide when to write data to disk. Normal mode of operation and is recommended.

clNone (fastest performance)

(Note: 2 for C++Builder)

Do not force the flushing of any buffers, letting Apollo and Windows manage the writing of data to disk as required. Fastest mode but should be used in single user mode only. Since there is no locking, this level is recommended for Readonly tables that are shared between different applications, such as data on a CD. This level is also safe for accessing shared tables by the same application. If you are not sure that data will be accessed for write operations outside of your application, then do not use clNone (or 2).

See the sample in ..\Engine\CommitLevel for a good comparison of these settings.

Generally, it is recommended that you use clNormal. It offers safe locking and great performance. clFull is good for "must save data" environments where users tend to not formally save record data. clFull fixes that. clNone (or 2) is great for single-user apps since its so fast.