Libraries
INI Library
Log Library
List Library
odbcinst
This is a library of functions to help other code work with INI files. I am thinking that a future, enhanced, version of this may become a stock Linux lib; allowing more common use of INI files as a standard format of new config files. In the meantime, it is used heavily by ODBC Config and driver setup libs This library amounts to a logging facility. It is used by ODBCINST and the unixODBC Driver Manager. This will either get enhanced or replaced over the comming months (probably enhanced). I would like to see it use UNIX logging. This library provides a set of small and simple functions for; creating, managing, and deleting a single or doubly linked list. These functions serve to consolidate ad-hoc linked list code in unixODBC and to provide a foundation for cursor support.

This library provides applications, and other unixODBC components, the ability to read/write ODBC System Information without regard to where or how this information is stored. It implements all major API's from the MS'isms and adds a few convenience functions. One enhancement is the addition of a few APIs for working with ODBC Config programs in a KDE/Qt based environment..
Tree Library SQI Library SQP Library
This library has been created to allow the storage of parsed SQL.  This library implements an ultra-lite SQL Engine which uses text files for storage. It is complemented by an ODBC driver to allow for a very open DBMS for small data sets. It is highly recommended that all use of SQI be made via its ODBC driver; doing so will allow the data source to be scaled up to a full DBMS as required and without recompiling the source.

Development of SQI was driven by the desire to incorporate ODBC support into KDE and by the concerns of having to implement a full DBMS to allow its use. SQI is lite and open enough to satisfy these concerns.

This library is a lex/yacc based SQL parser. It was ripped out of SQI so that a common SQL parse engine could be provided to all parts of unixODBC; in particular to Drivers and non-SQL based data sources. Its current understanding of the SQL syntax is quite limited but this should be extended in the future. Also; the Tree lib should be used in some future version to store the SQL syntax in a much more realistic manner.
Command Line Tools
odbcinst is a command line tool which has been created for allowing people who are developing the install scripts/RPMs for Drivers to be able to easily create/remove entries in odbc.ini and odbcinst.ini. This command line tool is a compliment to the share library of the same name (libodbcinst.so). This tool is a part of the odbcinst component of unixODBC.

isql is a command line tool which allows the user to execute SQL in batch or interactively. It has some interesting options such as an option to generate output wrapped in an HTML table.

News
28.APR.99 Linked List Lib

A serious bug has been fixed in LST. Somewhere along the line the init for nItems was removed. This caused wierd behavour all over the place. It has been fixed.


04.APR.99 Linked List lib

A linked list lib (liblst.so) has been added to the list of components in unixODBC. This linked list lib will be used during the enhancement of some of the drivers (ie the mSQL driver). The linked list lib may also be used to replace the ad-hoc linked list code elsewhere in unixODBC. This lib has been introduced in unixODBC Alpha 2.0.1.


21.FEB.99 isql command line tool

A new 'monitor' tool has been created and is called isql. isql is more than an interactive tool to submit SQL to a data source. isql can be used in batch mode to extract data to a 'delimted' file and it can be used to generate results wrapped in HTML.

isql has just been released as a component in unixODBC Alpha 1.0.0 and will be included in all future versions. Check it out and let us know what you think!


10.FEB.99 ODBCINST Lib in Beta

Mostly code cleanup issues remaining. A bit more testing required. Being heavily used by the LinuxODBC DataManager and ODBCConfig as well as the LinuxODBC DriverManager.


10.FEB.99 LOG Lib in Beta

Debugging issues with this lib seem to have ceased. All features of this lib will continue to be tested as a side affect of testing LinuxODBC components which use it.


10.FEB.99 INI Lib in Beta

The INI Lib has undergone some enhancements (ie iniAppend()) and significant testing since its Alpha stage. This lib will continue to be tested as LinuxODBC moves toward release 1.0


28.JAN.99 Created libodbcinst.so. This is an installer/setup API coded to be compatible with the MS spec. 
Created a command line tool called odbcinst. This is an interface to the libodbcinst API that can be used by install script/RPM writers.

26.JAN.99
The following enhancements have been made;
added iniObjectUpdate and iniPropertyUpdate
added iniObjectInsert and iniPropertyInsert
added iniCommit
enhanced iniPropertySeek

Not much left to do on this lib. Some ideas are;
add iniRollback
preserver comments (and other stuff between objects)
streamline the code a bit


24.JAN.99
The INI Library has been rewritten to allow for much more flexible use.
iniOpen now loads complete INI file into memory
iniOpen can optionaly create a new INI (if file does not exist)
iniPropertySeek improved to allow optional filter on Object, Property and Value
iniObjectDelete and iniPropertyDelete added
iniObjectNext and iniPropertyNext added
iniObjectEOL and iniPropertyEOL added

Some functions coming soon are;
iniObjectUpdate and iniPropertyUpdate
iniObjectInsert and iniPropertyInsert
iniCommit