On Tuesday 25 March 2008 20:29:03 Eric Bollengier wrote: > On Tuesday 25 March 2008 20:01:03 Peter Buschman wrote: > > At 19:48 25.3.2008, David Boyes wrote: > > > > The problem with all "libraries" is either porting, which apparently > > > > > >with > > > > > > > dbm > > > > is not a problem, or the license. About the only license that works > > > > > >with > > > > > > > Bacula is the BSD 3 clause license. Can you point me to code that is > > > > small > > > > and appropriately licensed? > > > > > >Gdbm (the GNU variant of dbm) can be obtained from ftp.gnu.org or the > > >Usual Sources. It's clean enough for Debian, but YMMV. > > GPL is uncompatible with bacula core... > > > >Ndbm (the 4.4BSD dbm and the one shipped (I think) on solaris) should be > > >already present, or in most distributions. It's used by sendmail, so > > >should be present anywhere there's sendmail. > > > > > >Whether these are clean enough for you to use, I don't have any way of > > >telling. Gdbm is known to work well on Linux, Windows and Solaris; AIX > > >has spotty reports, HP/UX also has spotty reports. Irix has ndbm. > > > > FWIW, all of the code for SQLite is in the public domain > > (http://www.sqlite.org/copyright.html). Although I haven't looked > > under the hood, it undoubtedly uses some kind of hash algorithm for > > indexing and the authors note that they moved from gdbm to their own > > library for performance reasons. Since SQLite compiles cleanly > > everywhere Bacula does, it is possible there might be a dbm-like api > > within easy reach and without license encumberments of any kind. > > SQlite is too big for just a hash usage, i don't think that you can use > only the hash-disk code directly. > > It's true that good libraries exist for this job. For example DB Berkeley > is present everywhere and the licence is compatible. But it add a > dependency on client side. > > We can also try to detect if the library is present, and failback to bacula > hash table code if not... ?
That would be pretty easy to do (let's say "trivial") -- a minor extension to ./configure and a few #ifdefs would do the job. The nice thing is that we currently have code that works and is fast. The only downside will be large datasets. ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Bacula-devel mailing list Bacula-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-devel