Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!yale!ox.com!emv From: oz@nexus.YorkU.CA (Ozan Yigit) Newsgroups: comp.archives Subject: [ultrix...] sdbm is available. Keywords: dbm,ndbm,sdbm Message-ID: <1990Dec15.220221.25375@ox.com> Date: 15 Dec 90 22:02:21 GMT References: <19039@yunexus.YorkU.CA> Sender: emv@ox.com (Edward Vielmetti) Reply-To: oz@nexus.YorkU.CA (Ozan Yigit) Followup-To: comp.unix.ultrix,comp.unix.questions,comp.unix.internals,comp.sources.d,comp.databases,comp.os.minix,comp.windows.x,news.software.b,comp.lang.perl,comp.mail.sendmail Organization: York U. Communications Research & Development Lines: 52 Approved: emv@ox.com (Edward Vielmetti) X-Original-Newsgroups: comp.unix.ultrix,comp.unix.questions,comp.unix.internals,comp.sources.d,comp.databases,comp.os.minix,comp.windows.x,news.software.b,comp.lang.perl,comp.mail.sendmail Archive-name: database/dbm/sdbm/1990-12-13 Archive: nexus.yorku.ca:/pub/oz/sdbm.shar.Z [130.63.9.1] Original-posting-by: oz@nexus.YorkU.CA (Ozan Yigit) Original-subject: sdbm is available. Reposted-by: emv@ox.com (Edward Vielmetti) A complete clone of Berkeley's ndbm, called sdbm is available. It is currently ftp-able from nexus.yorku.ca [130.63.9.1] as pub/oz/sdbm.shar.Z. points of interest: + A complete functional clone of ndbm, using a fast and simple external hashing algorithm: "Dynamic Hashing" (1978) by P.-A. Larson. + sdbm is fully public domain. There is no pedantic, overbearing or infectious copyright/left to put up with. It is unconditionally yours, and everybody-else's. You can do whatever you like with it. + sdbm is faster and safer than ndbm, but shares the same shortcomings: limited size records, holes. On the other hand, ndbm needs no apologies: it has proven itself to be extremely useful within its limitations. The sdbm pagefiles are smaller than ndbm, and contain fewer holes. + sdbm has some additional flexibility due to a more generic database setup routine which allows you to use application-specific database naming conventions. It also allows the replacement of the hash function. + sdbm uses the same pagefile format ndbm uses, and the distribution comes with some rudimentary (read: hacky) tools and routines that can process these pagefiles. Even if you choose not to use sdbm, you can still take advantage of this additional information about pagefiles. + sdbm is *not* database compatible with ndbm. This is due to the hash functions used in ndbm and sdbm, and to the order in which the page addresses are generated. + sdbm provides enough infrastructure for you to be able to experiment with other algorithms, especially the so-called "directory-less" external hashing algorithms: linear hashing, spiral storage etc. The code is [I think] clean, easy to understand and compatible. I look forward to comments, suggestions, improvements. enjoy... oz --- [NOTE to all beta users: the copyright that accompanied the beta release is now dropped. Also, this distribution contains an important bugfix due to Liam R Quin of SoftQuad. Please contact me if you have no FTP access.] --- Where the stream runneth smoothest, | Internet: oz@nexus.yorku.ca the water is deepest. - John Lyly | UUCP: utzoo/utai!yunexus!oz