[comp.databases] C/Database Toolchest Question

MARK@NCSUVM.BITNET (Mark Hellkamp) (02/07/89)

I have seen an advertisment for the C/Database Toolchest from Mix Software for
$19.95. Does anyone know if this product has any merrit or is it just a waste
of twenty bucks. Any info on this product or on any similar products would be
appreciated.


Mark Hellkamp
MARK@NCSUVM.BITNET

nigel@hpdsla.HP.COM (nigel clunes) (02/16/89)

I have purchased the product C/database toolchest and so far I have been impressed with
it. It appears to be a complete low level database tool kit. Note, I did say low
level (In my case it is what I wanted). You do not get a query language or any
of the related features. Those type of features would be implemented on top
of the C/database toolchest.


Features :-
    
     - ISAM front end.
     - Uses B+ trees.
     - Variable length keys in the B+ trees.
     - The only limits, in terms of capacity, I have found are imposed
       by the OS I am using, not the software. As my OS has very large
       resource limits, I dought that I will hit any of them.
     - Clear, well written source.
     - Easy to port.
     - Has it own cache system built in for file access.
       You have full control and access the cache system.
       I am making heavy use of the cache features and they
       seem to work fine.


It took me a day an a half to port it to a UN*X system. I took so long
to do the port because of an error on my part. It would normally take
about 2 hours to do the port.

I would suggest you buy the source code option (extra $10).

The manual is very well written. It assumes no background in databases, therefore
the first few chapters can be skipped.

If you are planning to port it to a non IBM PC machine, then there are two things
to watch (well there were only two in my case). The source code disc codes the
complete source. There are multiple copies for some files, each copy is for a 
different compiler. I chose to use the version for the Microsoft 5.0 C comipler
as my base for the port. If you do this, I would suggest that you get a copy
of the Microsoft 5.0 C compiler documenation. It helps when you get undefined
externals at link time and you have to find an equivalent routine on you system
(or write your own).

1. The memory comparsion routine that it uses compares all alphas as upper case.
   Simple fix, put in your own version of a routine that does not.

2. The move memory routine (copies a block of memory for one location to another)
   handles overlapping address in the source and destination correctly. Make sure
   your version does, if not, then write your own. Again this is a minor effort.


   Well I hope this helps with you. If you have any further questions post them
   to this base note and I will answer them if I can.

   It was this "feature" that took me a day and half to track down. 




   Nigel (DropBear) Clunes.

nigel@hpdsla.HP.COM (nigel clunes) (02/22/89)

Since I posted my last response to this base note I have recieved
a number of requests for information on where and how to get
the C/Database Toolchest. So instead of replying to each
request, I will put the information here. I hope this helps.




 C/Database ToolChest    $19.95US plus postage.     
 Source                  additional $10US.

 In order to get the source you must buy the C/Database ToolChest
 (this is how you get the manual).

 Note, if you are ordering from out side of the US the cost is about 
 %25 higher (this is only a guess).


 The product is ordered from,

       Mix Software
       1132 Commerce Drive
       Richardson, Texas 75081
       U.S.A.

 Sorry, I do not have their telephone number.



 *******************************************************************
 Here are my answers to other questions I have been asked.


 Is the C/Database ToolChest multi-user?

   NO. I have been looking into what it would take to make it
   multi-user. While I have not yet arrived at a total solution, 
   I think it can be done. I am looking into a server/client model



 Does C/Database have transaction management?

   NO. I have solved this problem. I don't think it will require
   much effort to implement the following features.

      - Begin Work      (Start a transaction)
      - Commit Work     (End a transaction and commit the work into
			 the database)
      - RollBack Work   (Abort the transaction and do not record the
			 changes in the database)

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

   Well I hope this helps you.

   If you have any more questions, post them here and I will answer them
   as best I can.


   Nigel (DropBear) Clunes.