[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Announcement ... SQLClient for GNUstep
From: |
Richard Frith-Macdonald |
Subject: |
Announcement ... SQLClient for GNUstep |
Date: |
Tue, 27 Apr 2004 09:27:10 +0100 |
An initial version of theSQLClient library is now available.
What is the SQLClient library?
The SQLClient library is designed to provide a simple interface to SQL
databases for GNUstep applications. It does not attempt the sort of
abstraction provided by the much more sophisticated GDL2 library, but
rather allows applications to directly execute SQL queries and
statements.
The major features of the SQLClient library are -
* Simple API for executing queries and statements... a variable
length sequence of comma separated strings and other objects (NSNumber,
NSDate, NSData) are concatenated into a single SQL statement and
executed.
* Support multiple sumultaneous named connections to a database
server in a thread-safe manner.
* Support multiple simultaneous connections to different database
servers with backend driver bundles loaded for different database
engines. Clear, simple subclassing of the abstract base class to enable
easy implementation of new backend bundles.
* Configuration for all connections held in one place and
referenced by connection name for ease of configuration control.
Changes via NSUserDefaults can even allow reconfiguration of client
instances within a running application.
* Thread safe operation... The base class supports locking such
that a single instance can be shared between multiple threads.
What backend bundles are available?
Current backend bundles are -
* ECPG - a bundle using the embedded SQL interface for postgres.
This is based on a similar code which has been in production use
for over eighteen months, so it should be reliable.
* Postgres - a bundle using the libpq native interface for postgres.
This is the preferred backend as it allows 'SELECT FOR UPDATE',
which the ECPG backend cannot support due to limitations in the
postgres implementation of cursors. The code is however not as well
tested as the ECPG interface.
* MySQL - a bundle using the mysqlclient library for *recent* MySQL.
I don't use MySQL... but the test program ran successfully with a
vanilla install of the MySQL packages for recent Debian unstable.
* Oracle - a bundle using embedded SQL for Oracle.
Completely untested... may even need some work to compile... but
this *is* based on code which was working about a year ago.
No support for BLOBs yet.
Where can you get it? How can you install it?
The SQLClient library is currently only available via CVS from the
GNUstep CVS repository.
See <https://savannah.gnu.org/cvs/?group=gnustep>
You need to check out gnustep/dev-libs/SQLClient
To build this library you must have a basic GNUstep environment set
up...
* The gnustep-make package must have been built and installed.
* The gnustep-base package must have been built and installed.
* You must hace sourced the GNUstep.sh script (from gnustep-make)
to set up environment variables needed for building this.
* If this environment is in place, all you should need to do is run
'make' to configure and build the library, 'make install' to install
it.
* Then you can run the test programs.
* Your most likely problems are that the configure script may not
detect the database libraries you want... Please figure out how to
modify configure.ac so that it will detect the required headers and
libraries on your system, and supply na patch.
Bug reports, patches, and contributions (eg a backend bundle for a new
database) should be entered on the GNUstep project page
<http://savannah.gnu.org/support/?group-gnustep>
- Announcement ... SQLClient for GNUstep,
Richard Frith-Macdonald <=