★ wanayoo — archive 1999 http://linux.techass.com/projects/xdb/Nouvelle recherche | Portail wanayoo
linux.techass.com
"Tell Bill where to go today!"

Home/What's New
Products
Projects

Technology Associates Homepage


Alien Technology?

Powered by Linux!
(of course)

SourceForge Logo xdb
[ Status | Documentation | Downloads | CVS | Mailing Lists | Developer Info | License | Credits | Contact ]

Welcome

Welcome to the home of XDB, the XBase compatible C++ class library formerly known as xBase :). XDB started out as merely a bugfix and enhancement of the xBase version 1.8.1 class library, but as of June 2000 Gary Kunkel (the original author of the xBase library), passed the "torch" on to us. Gary still plans to be an active member of the development team (thank whichever god/God you deem necessary).

The original xBase website is still available here.

With the exception of these web pages, the project is being hosted by SourceForge at the XDB SourceForge Project Page.


What is it?

From the original description of xBase, XDB is a colletion of specifiations, programs, utilities and a C++ class library for manipulating Xbase type datafiles and indices

What we have here is not only a C++ class library compatible with older .dbf, .ndx and .ntx files, and various utilities, but a viable database development environment for future projects requiring a lightweight database engine.

We define XBase here to mean any dBase, Clipper, FoxPro, etc. compatible database (including index and memo files). Currently, XDB supports DBF (dBase and other) database files, NDX (dbase) and NTX (Clipper) index files, and DBT (dBase and other) memo field files. xBase (with a lowercase 'x') means the xBase library. We hope to add support for other XBase file formats in the future.

We intend to provide complete backwards compatibility with the original xBase library.

We welcome any bugfixes and/or enhancements. Please see the developer section (below) for more details.


Current Status

The current stable version of XDB is 1.2.0. The following is a list of enhancements from xBase1.8.1:
  • Fixed locking code (and other portions of the library) so that it actually works in a multi-user environment.
  • Added "real" delete support so that deleted records are actually removed and their space reclaimed. Note, that this differs from the original xBase (i.e. dBase) handling where deleted records are not removed/reclaimed until the database is "packed". This is an optional feature which is disabled by default, to preserve compatibility.
  • Various performance enhancements, which shouldn't affect compatility (please report any problems).
  • Added support for variable length NDX node sizes (version 1.2.0). This is a performance enhancement that should only be used by new programs that do not need backwards compatibilty with other XBase applications.

We are currently in the process of merging the current XDB source tree with the latest development version of xBase (1.9.2) from the CVS sources. Hopefully, this will be completed soon and a new development version will be available for testing. Once testing is complete, we hope to release a new version, probably as version 2.0.0 (to get the version numbers in line)!.


Documentation

Currently, the only (real) documentation available is the original xBase documentation (which is quite good) for version 1.8.1 here. This documentation is also included with the source.

Our changes should be completely backwards compatible with the original library. However, in the near future we will be providing new documentation, in the mean time this should work quite well.

Note that when building programs, you should replace all includes of the form "xbase/XXX.h" with "xdb/XXX.h" and that you should link against -lxdb rather than -lxbase (for *nix systems, anyway)

We have recently decided to use the Doxygen program to document XDB and a preliminary version of the Doxygen generated documenation is available here. Please let us know what you think.


Downloads

Note: These files are also available from the XDB SourceForge Project Page.


CVS Access

Anonymous readonly access to CVS is available to everyone. Please see the XDB SourceForge Project Page for details.

If you would like CVS write access, please see the "Developer Info" section, below.


Mailing Lists

We currently have two mailing lists available:
xdb-users
For users of XDB. This is a forum for discussion of the use and programming of XDB. It is monitored by the XDB developers, so user support questions should be directed to this list for help from XDB users as well as developers.

xdb-devel
For developers of XDB to discuss issues related to the development of XDB (including bugs, new features, etc.). Please try to keep user issues on the xdb-users list. Users may want to subscribe to this list to keep abreast of what's happening with XDB.

Mailing lists for the XDB project are available from the XDB SourceForge Project Page.

Please note that we have decided NOT to automatically subscribe members of the xBase mailing lists to the new lists, as they probably want to decide for themselves if they would like to subscribe to the new mailing lists (and we hope they will).


Known Bugs and ToDo's

  • Merge xBase CVS sources (done, please test against the current version in CVS).
  • Finish new documentation (using Doxygen, still underway)
  • Make new RPM's and Win32 libraries available
  • Add support for Perl, Python, Tcl/Tk, and Java
  • NTX indexes seem to have a problem with duplicate keys.
  • Exception/error handling does not yet correctly handle problems with locks (i.e. locks may still be in effect if a non-lock related problem occurs). This should happen rarely, in practice, but should be noted (and fixed).


Developer Info

We need developers! If you are interested please contact the project manager, Derry Bryson at derry@techass.com, directly. If you would like CVS write access, you will need a SourceForge ID and SSH/SSL support setup (see the documentation at SourceForge).

If you don't want to become an "official" developer, patches and bug reports are also welcomed.

If you want to become an official developer, I would suggest obtaining and familiarizing yourself with the current version from CVS and monitoring and reviewing the archives from the developers mailing list.


License

XDB is released under the GNU LGPL license. This means, among other things, that it can be used to develop commercial applications as long as the appropriate considerations are made for the LGPL license.


Credits

  • The xbase development team: thanks for the tremendous work you put into the original development of this library.
  • SourceForge: this is such an incredible resource for open source projects like this one.

Contact

Please direct all questions, comments, bug reports, bug fixes, etc. to the appropriate mailing list.

All other correspondance (including problems with this web page) should be directed to Derry Bryson at derry@techass.com


Copyright © 2000 Derry Bryson. All Rights Reserved.