| 
									
										
										
										
											2003-01-04 18:53:14 +00:00
										 |  |  | #	@(#)README	8.1 (Berkeley) 6/4/93 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This package implements a superset of the hsearch and dbm/ndbm libraries. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Test Programs: | 
					
						
							|  |  |  | 	All test programs which need key/data pairs expect them entered | 
					
						
							|  |  |  | 	with key and data on separate lines | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-22 09:23:22 -05:00
										 |  |  | 	tcreat3.c | 
					
						
							|  |  |  | 		Takes | 
					
						
							|  |  |  | 			bucketsize (bsize), | 
					
						
							| 
									
										
										
										
											2003-01-04 18:53:14 +00:00
										 |  |  | 			fill factor (ffactor), and | 
					
						
							| 
									
										
										
										
											2017-12-22 09:23:22 -05:00
										 |  |  | 			initial number of elements (nelem). | 
					
						
							|  |  |  | 		Creates a hash table named hashtest containing the | 
					
						
							| 
									
										
										
										
											2003-01-04 18:53:14 +00:00
										 |  |  | 		keys/data pairs entered from standard in. | 
					
						
							|  |  |  | 	thash4.c | 
					
						
							|  |  |  | 		Takes | 
					
						
							| 
									
										
										
										
											2017-12-22 09:23:22 -05:00
										 |  |  | 			bucketsize (bsize), | 
					
						
							|  |  |  | 			fill factor (ffactor), | 
					
						
							| 
									
										
										
										
											2003-01-04 18:53:14 +00:00
										 |  |  | 			initial number of elements (nelem) | 
					
						
							|  |  |  | 			bytes of cache (ncached), and | 
					
						
							|  |  |  | 			file from which to read data  (fname) | 
					
						
							|  |  |  | 		Creates a table from the key/data pairs on standard in and | 
					
						
							|  |  |  | 		then does a read of each key/data in fname | 
					
						
							|  |  |  | 	tdel.c | 
					
						
							|  |  |  | 		Takes | 
					
						
							|  |  |  | 			bucketsize (bsize), and | 
					
						
							|  |  |  | 			fill factor (ffactor). | 
					
						
							|  |  |  | 			file from which to read data (fname) | 
					
						
							|  |  |  | 		Reads each key/data pair from fname and deletes the | 
					
						
							|  |  |  | 		key from the hash table hashtest | 
					
						
							|  |  |  | 	tseq.c | 
					
						
							|  |  |  | 		Reads the key/data pairs in the file hashtest and writes them | 
					
						
							|  |  |  | 		to standard out. | 
					
						
							|  |  |  | 	tread2.c | 
					
						
							|  |  |  | 		Takes | 
					
						
							|  |  |  | 			butes of cache (ncached). | 
					
						
							|  |  |  | 		Reads key/data pairs from standard in and looks them up | 
					
						
							|  |  |  | 		in the file hashtest. | 
					
						
							|  |  |  | 	tverify.c | 
					
						
							|  |  |  | 		Reads key/data pairs from standard in, looks them up | 
					
						
							|  |  |  | 		in the file hashtest, and verifies that the data is | 
					
						
							|  |  |  | 		correct. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | NOTES: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The file search.h is provided for using the hsearch compatible interface | 
					
						
							| 
									
										
										
										
											2017-12-22 09:23:22 -05:00
										 |  |  | on BSD systems.  On System V derived systems, search.h should appear in | 
					
						
							| 
									
										
										
										
											2003-01-04 18:53:14 +00:00
										 |  |  | /usr/include. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The man page ../man/db.3 explains the interface to the hashing system. | 
					
						
							|  |  |  | The file hash.ps is a postscript copy of a paper explaining | 
					
						
							|  |  |  | the history, implementation, and performance of the hash package. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | "bugs" or idiosyncracies | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If you have a lot of overflows, it is possible to run out of overflow | 
					
						
							|  |  |  | pages.  Currently, this will cause a message to be printed on stderr. | 
					
						
							|  |  |  | Eventually, this will be indicated by a return error code. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If you are using the ndbm interface and exit without flushing or closing the | 
					
						
							|  |  |  | file, you may lose updates since the package buffers all writes.  Also, | 
					
						
							|  |  |  | the db interface only creates a single database file.  To avoid overwriting | 
					
						
							|  |  |  | the user's original file, the suffix ".db" is appended to the file name | 
					
						
							|  |  |  | passed to dbm_open.  Additionally, if your code "knows" about the historic | 
					
						
							| 
									
										
										
										
											2017-12-22 09:23:22 -05:00
										 |  |  | .dir and .pag files, it will break. | 
					
						
							| 
									
										
										
										
											2003-01-04 18:53:14 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | There is a fundamental difference between this package and the old hsearch. | 
					
						
							|  |  |  | Hsearch requires the user to maintain the keys and data in the application's | 
					
						
							|  |  |  | allocated memory while hash takes care of all storage management.  The down | 
					
						
							|  |  |  | side is that the byte strings passed in the ENTRY structure must be null | 
					
						
							|  |  |  | terminated (both the keys and the data). |