home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 255.lha / Isam / README < prev    next >
Text File  |  1989-06-13  |  7KB  |  160 lines

  1.  
  2.           The ISAM File System
  3.          **********************
  4.  The ISAM File System functions provide an easy way of programming relational
  5. data base systems using the (I)ndex (S)equential (A)ccess (M)ethod. Included
  6. is the Amiga link file (library) for use with own programs. The routines are
  7. written in C and compiled under Lattice 4.0.
  8.  
  9. This is version 0.9 BETA release of the functions. (I tested it with a small
  10. program but had no time to do more testing in a complex data base system with
  11. more files open etc.)
  12.  
  13. Also, the ISAM.lib is no real library yet. You simply get ALL the ISAM
  14. functions linked with your program. The functions use the malloc/free
  15. standard routines, which allocate some bytes for their own use when
  16. requesting memory, but they are compatible with every C compiler (and other
  17. systems). If you have problems linking the ISAM.lib to your program (eg a
  18. function is used your compiler does not have), please tell me. Here's a list
  19. of all external symbols ISAM.lib uses:
  20.  
  21. _open, _close, _read, _write, _lseek, _malloc, _free, _stricmp -> the
  22.                             standard functions every C compiler should have.
  23. _access -> a UNIX function which tests file accessibility
  24. (__base)
  25. __xcovf
  26. _CXM22, _CXM33
  27.  
  28.  
  29. Now, a VERY important note:
  30.  
  31. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  32.  
  33.       The Author makes no  warranty  of  any  kind with respect to  the
  34.  
  35.       documentation or the  software  described  therein,  its quality,
  36.  
  37.       performance,   merchantability,   or  fitness  for  a  particular
  38.  
  39.       application.  The Author shall not be liable for errors contained
  40.  
  41.       herein or for incidental or  consequential  damages in connection
  42.  
  43.       with the use of this product.
  44.  
  45.  
  46. -----------------------------------------------------------------------------
  47.  
  48. This software is PUBLIC DOMAIN. It is freely distributable in public domain
  49. series, BBSs etc., on condition that the following files are included and
  50. remain unchanged:
  51.  
  52. README           - this file
  53. ISAM.doc         - the documentation describing each function
  54. ISAM.h           - the Lattice-C 4.0 header file for C programs
  55. ISAM.lib         - the link library containing the functions
  56. demo.c           - a program demonstrating the use of the ISAM functions
  57. demo.lnk         - linkage information for demo.c
  58. demo             - executable demo
  59. Demo.info        - icon for demo
  60. compile.doc      - how to compile the demo
  61.  
  62. If you use the functions in PUBLIC DOMAIN programs or programs for your own
  63. personal use, please send me just that much money you think this software is
  64. worth to develop future versions of it.
  65.  
  66. Please, put a note in your program (in its title page and documentation) that
  67. says:
  68.    "This software uses the ISAM File System Functions Vx.x by Kai Ploog"
  69. or a similar statement!
  70.  
  71.  
  72. This version is NOT for commercial use. It is only free for use in
  73. non-commercial programs, like public domain and private ones, and the
  74. copyright stays with the author, anyway.
  75.  
  76. For commercial use, please contact me.
  77.  
  78.  
  79. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  80.  
  81. If you find any bugs or have any suggestions to improve this software or
  82. have questions, please write to me!
  83. Since this is only a BETA release, I need your help (in form of bug reports)
  84. to release a (hopefully) bug-free version.
  85.  
  86.  
  87. My address is:
  88.                  Kai Oliver Ploog
  89.                  A.d. Huehnerhecke 1
  90.                  6074 Roedermark  (near Frankfurt/Main)
  91.                  West-Germany
  92.  
  93. Hope you'll enjoy this software!
  94.  
  95.  
  96. PS: I have an Amiga 2000B (1Meg), a C= 1084 monitor, two disk drives (no
  97. HD) and a Star NL-10 printer connected via my old Commodore 64.
  98. I'd find it very interesting, if everyone who publishes programs in public
  99. domain series would also mention which system configuration/hardware he/she
  100. uses.
  101.  
  102.  
  103. *****************************************************************************
  104.  
  105. Documentation:
  106. --------------
  107.  
  108. ISAM stands for Index Sequential Access Method. That means, every single
  109. record on the disk is accessed via a key hold in memory. This principle is
  110. very efficient for complex data bases with many records. The key list in
  111. memory has to be updated after every change or before exiting your program
  112. (automatically done with every change or when closing the ISAM file, see
  113. ISAM.doc). The keys are held in a double-chained list, so the max amount of
  114. records only depends on your system memory and (hard) disk space. For
  115. example, if you have a 512K Amiga with 300K free and your key field (eg the
  116. name in an address file) is 30 characters max, you can have up to 7300
  117. records (addresses)! If you have a disk drive (880K) connected to your Amiga
  118. and only have that 300K free, one record can have 123 characters to exactly
  119. fill the disk with 7300 records. If you have a (very big...) hard disk and
  120. enough memory space, one ISAM File can have up to 4,294,967,295 (4 GIGA !)
  121. bytes/characters (sorry that it isn't more, but it depends on the system...
  122. but find a hard disk that has 4096 mega bytes!)
  123.  
  124. Okay, here are some more facts, compared with a famous data base system for
  125. MS-DOS computers (I cannot give the name here because I want no troubles with
  126. the law of some countries):
  127.  
  128.                                |   ISAM File System    |     d???? III+
  129. -----------------------------------------------------------------------------
  130. No. files open at a time       |             ML        |              10
  131. Max field length               |           65,536      |           4,000
  132. Max fields per record          |           65,536      |             128
  133. Max record length              |           65,536      | ? (less than 4,000)
  134. Max records per file           |    4,294,967,295      |   1,000,000,000
  135. Max file size                  |    4,294,967,295 (ML) |          ? (ML)
  136.  
  137. ML = machine limit
  138.  
  139.  
  140.  
  141. The routines are entirely written in portable C source (using standard
  142. library functoins), but I possibly will release an Amiga'ized version, for
  143. example as a system library at a later time (when it is supposed to be
  144. bug-free). This version should be fast, but I didn't test it with many
  145. records (in the Amiga'ized version it will become even faster). Also, you
  146. still need the C.LIB routines of your C compiler to use this version.
  147.  
  148. Look in the ISAM.doc, ISAM.h and demo.c files for more information about how
  149. to write programs with my routines. (It is very easy, so I don't write more
  150. documentation than necessary.)
  151.  
  152.  
  153. I hope you will use the ISAM File System extensively and help to release
  154. future versions!
  155.  
  156.  
  157.  
  158.      KAI,  4/5/1989
  159.  
  160.