Dec 102017
 
Convenient set of b-tree indexing routines in Turbo C to access data files with fixed-length records. Index key may be one of several types. Version 1.03.
File INDEX103.ZIP from The Programmer’s Corner in
Category C Source Code
Convenient set of b-tree indexing routines in Turbo C to access data files with fixed-length records. Index key may be one of several types. Version 1.03.
File Name File Size Zip Size Zip Type
ADR.MAK 256 112 deflated
ARCIT.BAT 128 72 deflated
IBLD.C 2816 896 deflated
IBLD.MAK 256 119 deflated
IDELETE.C 1987 849 deflated
INAMES 128 62 deflated
INDEX.DOC 27008 6908 deflated
INDEX.H 1664 645 deflated
INDEX.LIB 8192 3606 deflated
INDEX.MAK 896 325 deflated
INXDEFS.H 3232 1068 deflated
INXRTNS.C 8931 1910 deflated
IREADN.C 1971 778 deflated
IREADP.C 2048 780 deflated
IREBUILD.C 3328 1233 deflated
ISTART.C 3041 928 deflated
READ.ME 2432 1076 deflated

Download File INDEX103.ZIP Here

Contents of the READ.ME file








Revision notes for Version 1.03 (02/02/88)

This is the first general release since August, 1987. Therefore, the revision
notes for Version 1.02 will most likely apply to you.

**************************** VERY IMPORTANT ***************************

A bug was found in the delete function that sometimes caused problems. This
version fixes that bug. It is a good idea to rebuild your files using the
irebuild() function before doing anything else with them.

*****************************************************************************

NEW FUNCTIONALITY:

A new function, irebuild(), has been added to the package. This routine
removes deleted records from the index and data files, and balances the index
tree. The prototype for this function is:

int irebuild (char *old_fname, unsigned rec_size, unsigned offset,
char dupflag, int (*cmp_rtn)(), char *new_fname);

Which is exactly like the call to iopen() with the addition of the new_fname
parameter. See the file INDEX.DOC for more information on this function.

BUGS FIXED:
There were some problems deleting records in previous versions. The problems
have been fixed, with one major side-effect. The delete function no longer
moves index pointers around when deleting a record. This will not hurt your
application, but it may slow down searches when many records are deleted.
BUT, the irebuild() function will take care of this. The problems with
deleting records while sequentially scanning a file have been fixed.






Revision notes for Version 1.02 (11/04/87)

Those of you who are currently using previous versions must change your
programs in order to use this version. The following explains the changes
required.

The calling sequence for iopen() has been changed. The keytyp parameter has
been removed and the cmp_rtn parameter is now required. THERE ARE NO LONGER
ANY DEFAULT KEY TYPES. You must write your own key comparison routines and
pass the address of the routine in the cmp_rtn parameter. A new error code
(returned in ierrno) has been added. The valid I_NOCMP will be returned from
iopen() if the cmp_rtn parameter is NULL. I have included examples of key
compairson routines in the file CMPRTNS.C. See that file and the file
INDEX.DOC for more information.


 December 10, 2017  Add comments

Leave a Reply