IntroductionDBISAM uses the standard ZLib compression algorithm for compressing data such as BLOB fields and remote session requests and responses to and from a database server. The ZLib compression is contained within the zlibpas and zlibcomp units (Delphi) or zlibpas and zlibcomp header files (C++).
Copyright and CreditsThe ZLib implementation in DBISAM was contributed by David Martin. The following are the citations and copyrights for both the code that was contributed as well as for the ZLib algorithm itself.
These units build upon a pascal port of the ZLib compression routines by Jean-loup Gailly and Mark Adler. The original pascal port was performed by Jacques Nomssi Nzali as contained in PasZLib which is based on ZLib 1.1.2. There are some errors in that port which have been fixed in this version. Although most of the code in this unit is derivative, there are some important changes (bug fixes). Nevertheless, this code is released as freeware with the same permissions as granted by the preceding authors (Gailly, Adler, Nzali).
Replacing the Default CompressionYou can replace the default compression implementation in DBISAM by using the events provided in the TDBISAMEngine component. Please see the Customizing the Engine topic for more information.
If you replace the default compression, keep in mind that you must make sure to not mix and match different compression implementations with various applications or servers that access the same databases and tables. Doing so can cause some serious problems and the potential for losing data since one application or server will not be able to read or write data that was compressed using a different compression implementation.