XBSQL: An SQL Wrapper for the XBase library ------------------------------------------- Xbase DBMS (http://www.startech.keller.tx.us/xbase.html) is a C++ library which supports access to Xbase type datafiles and indexes (ie., .dbf and related files). It provides access at the record level to these files. XBSQL is a wrapper library which provides an SQL-subset interface to Xbase DBMS, built against xbase-1.8.1. This is the first release, so various things are still missing, however I think there is now sufficient functionality to make the library useful. In particular, the documentation is a bit thin. There is a simple command-line client xql which can be used as an example Documentation, such as it is, can be seen at http://www.quaking.demon.co.uk/xbsql.manual XBSQL currently supports: * create table tabname (column1, .....) * drop table tabname * insert into tabname values (expr1, ...) * insert into tabname (column1, ...) values (expr1, ...) * select expr1, ... from table1, ... where condition1, ... order by order1, ... * update tabname set col1 = expr1, ... where condition1, ... * delete from tabname where condition1, ... XBSQL supports expression names and table aliases, so you can SQL queries like: * select T1.a as Total1, T2.b as Total2 from MyTable T1, MyTable T2 where T1.x = T2.y XBSQL also supports single-column .ndx indexes, hence the following indexes the i and t columns. The library can make use of these indexes for simple join cases. * create table tabname (i integer index, t char(80) index) The following list contains SQL features that are currently missing. This should not be read as meaning that anything not listed is implemented! * Aggregate functions, including count(*) * group by and having * subselects * create table tabname as .... * alter table tabname .... XBSQL can be downloaded as source from ftp://195.92.31.34/pub/xbsql-0.1/xbsql-0.1.tgz All comments, feedback and bug reports welcome, please send to mike@quaking.demon.co.uk. This library has been developed with the support of theKompany.com (http://www.thekompany.com) and will be includedin the KDE-DB libraries (see http://www.thekompany.com/projects/kdb) Regards Mike Richardson Feb-01