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</A>.

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
