The objective of the GNADE project is to provide various packages which are allowing Ada 95 applications to access relational data base procducts, mainly SQL RDBMS.
New with this Release (1.5.0) in adittion to some bug fixes:
Features of the Release:
This release of the GNADE project is intended for building with GNAT (the GNU Ada compiler) on the platforms Linux, Solaris and Windows NT/95/2000.
The GNU Public License (GPL) applies with the following extension to all components of this release
As a special exception, if other files instantiate generics from GNADE Ada units, or you link GNADE Ada units or libraries with other files to produce an executable, these units or libraries do not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU Public License.
The documentation has been put under the Free GNU Documentation License.
The authors and copyright holders of the GNADE project are:
Jürgen Pfeifer | juergen.pfeifer@gmx.net | |
Michael Erdmann | Michael.Erdmann@snafu.de | |
Sune Falck | sunef@hem.passagen.se | |
Julio Cano | julius_bip@yahoo.com | |
Dimitry Anisimikov | anisimkov@yahoo.com | |
François Fabien | fr.fabien@infonie.fr | |
Stephen Leake | stephen_leake@acm.org | |
Denis Chalon | denis.chalon@itris.fr | |
Bon Lam | c.lam@student.utwente.nl |
Special regards to the following persons which have contributed to the project:
Pascal Obry | p.obry@wanadoo.fr |
James Hopper | jhopper@woh.rr.com |
Vasile V. Alaiba | alaiba@ozland.ro |
Andreas Almroth | andreas@almroth.com |
Bug Reports | http://sourceforge.net/projects/gnade | M.Erdmann |
GNADE Discussions | http://lists.sourceforge.net/lists/listinfo/gnade-develop | M.Erdmann |
Project Page | http://gnade.sourceforge.net/ http://sourceforge.net/projects/gnade |
M.Erdmann |
Dev. Coordination | Michael.Erdmann@snafu.de | Michael Erdmann |
Feature Req, | Short Description | Version | Status |
---|---|---|---|
540161 | Exception in statements | 1.3 | complete |
552327 | Support of gnat 3.14 | 1.3.3 | complete |
563921 | Explicit Database Connection | 1.3.4b | complete |
590779 | Preprocessor invokation | 1.3.7 | complete |
591707 | pkg-config support | 1.3.7a | complete (see Notes) |
688243 | Support of OS/X | 1.4.2 | complete |
Note 1- If okg-config is found on a system, the systemwide installation script will install the package descriptor in the path which is given in the file etc/config.site:
site_pkgconfig_path=<your path>
If nothing is given /usr/local/lib/pkgconfig is assumed.
Even the GNADE project except for the native data base bindings is expected to work with all ODBC compliant data base products. The following products are known to work with GNADE assuming, that you are using the correct driver manager.
Component | Description | Version | OS | Distribution/Source of the release |
---|---|---|---|---|
PostgreSQL | PostgreSQL Database | 7.0.3 7.2 |
Linux - Redhat 7.0 Linux - SuSe 7.0 Solaris Linux - Debian 2.2, 3.0 Windows NT/2000 |
www.postgresql.org |
Mimer | Mimer SQL RDBMS | 8.2(.4G) | Solaris Linux Windows NT | www.mimer.com |
MySQL | MySQL Database MyODBC | 3.23.22 2.50.36-1 |
Linux | www.mysql.com |
3.23.35a 2.50.36 |
Windows 2000 | www.mysql.com | ||
3.23.47 3.51.02 |
Windows 98 | www.mysql.com | ||
MS SQL Server | 7.0 | Windows 2000 | Microsoft | |
SQL Server 2000 | Windows 2000 | Microsoft | ||
Oracle | Lite | 8i | Windows 95 | Oracle |
SQLite | SQLite emb. Database | 2.8.2-1 | Linux | www.sqlite.org |
The GNADE project installation procedure provides for theses product test data bases. If your data base is not listed below, the GNADE project will be very likely usable but the test data base has to be installed manually.
The following Driver Managerare known to work with this and/or previous releases:
Component | Description | Version | Operating System | Comments |
---|---|---|---|---|
unixODBC | ODBC Driver Manager | 2.2.3 | Linux | www.unixodbc.org |
2.0.5 | Solaris 8 | www.unixodbc.org | ||
2.1.1-7 | Linux Debian | www.unixodbc.org | ||
MS ODBC | ODBC Driver Manager | 3.5.10 | Windows 95, 98 | Microsoft |
The iODBC 3.04 implementation on Solaris seems to have a problem with the handling of cursor states. It should not be used.
Database Product | Version | Comments |
---|---|---|
PostgreSQL | 7.03 | Thin binding |
MySQL | Thick binding | |
Oracle OCI | 8i lite | Oracle Call Interface |
Beside of the ODBC and the native bindings, the project provides add on components as:
ADBC
The ADBC interface is a highly experimental package which works on top of PostgreSQL and MySQL. Since the interface is completly unstable it is not recommentded to use this interface in application at the current point in time. Since the interest in the Ada community was quite low it is questionable whether the development of this interface will be continued.
Contributed Tools
Tools are not part of this release. Constributed code is released as separate packages since they do not depend on a certain version of the GNADE environment.
Compiler | Version | Operating Systems |
---|---|---|
GNAT | 3.13p | Linux, Windows |
GNAT | 3.14p | Linux (Debian, Redhat, SuSe), Solaris 8, Windows |
GNAT | 3.15p | |
GNAT | 3.15a | Win98 |
This section contain an overview of known, fixed problems and restrictions (limitations). Please report all errors via the error report system at the source forge project page.
Problems reported earlier then 1.2.0 are listed in the release note 1.4.0
Bug Ref. | Fixed in | Short Description | Comments |
---|---|---|---|
477766 | 1.2.0 | longblob not correctly handled | gnu-db-mysql.adb, gnu-db-mysql.ads |
538349 | 1.3.1 | SELECT sum(valeur) incorrect translated | esql_parser.adb updated |
533949 | 1.3.1 | Firsttime installation with MimerSQL failes | gnade.mimer.sql |
538350 | 1.3.1 | Null value not handled correctly | esql_parser.adb |
540160 | 1.3.1 | Wrong cursor state in case of failed que | gnu-db-esql_support-odbc.adb |
540163 | 1.3.1 | Debug granularity | esql_parser.adb |
543343 | 1.3.2 | Case sensitve cursors | esql_parser.adb |
552325 | 1.3.3 | configure fails on Solaris 2.8 | configure.in, configure.gues |
553343 | 1.3.3 | odbc demo raises Need_Data exception | demo.gpq |
554383 | 1.3.3 | odbc demo does not return any value | odbc bindings |
554929 | 1.3.3 | esql moves 'pragma Source_Reference' | esql-translator (driver.adb) |
557135 | 1.3.4 | make install fails (invalid option -C) | A resoable desfault will be assumed. |
555169 | 1.3.4 | segmentation fault in SQLSetEnvAttr | odbc bindings updated |
562994 | 1.3.4 | Gigi Error with Solaris 8 | odbc bindings changes |
562998 | 1.3.4 | Assert & Debug are not passed to ODBC | sharedlib.sh.in, staticlib.sh.in changed |
563257 | 1.3.4a | ODBC bindings does not compile on Win 98 | gnadevars.sh changed |
563259 | 1.3.4a | ODBC shared lib always build | makefile updated |
563332 | 1.3.4a | gesql insert useless spaces in query | esql_parser updated |
563769 | 1.3.4b | Subpackages are not evaluated correctly | esql_parser updated |
565952 | 1.3.5 | Domain Qualification not handled | esql_parser updated |
565951 | 1.3.5 | SQL Strings are not handled correctly | esql_parser updated |
566413 | 1.3.5a | static libraries not build for adbc | Makefile modified |
566414 | 1.3.5a | Useless printouts in gesql | esql_parser updated |
566429 | 1.3.5a | esql & debugcode not compilable any more | esql_parser updated |
568396 | 1.3.6a | config.gpq missing | MANIFEST updated |
567600 | 1.3.6a | gesql translator includes odbc bindings | esql_parser updated |
567553 | 1.3.6a | FeeBSD build chmod failes | makefiles |
566635 | 1.3.6a | FreeBSD Makefile Problems (1.3.5a) | Makefiles |
585539 | 1.3.7 | mysql and prosgresql does not link | Makefiles |
590569 | 1.3.7 | Default cursor does not work | esql_parser.adb, esql_support.odbc |
597264 | 1.3.7a | postgreSQL sdk not installed but native | Makefiles, autoconf.in, .. |
602598 | 1.3.7a | makeliv.ali should be removed from distr | staticlib.sh, sharedlib.sh |
609204 | 1.3.7b | debian: install failes | install.sh |
612521 | 1.3.7d | pkg-config contains unbuild natives | makefiles, configure.in |
640172 | 1.4.1 | odbc example failes to link | makefile, configure.in |
640171 | 1.4.1 | make clean failes in mysql sample | makefiles |
637947 | 1.4.1 | sql_standard package missing | rpm spec. |
637949 | 1.4.1 | SuSe 8.1 installation failes | Makefile(s) |
637951 | 1.4.1 | rpm build failes on SuSe 8.1 | Makefile |
637952 | 1.4.1 | Sample database with MimerSQL 8.2.4G | mimer.sql |
659298 | 1.4.1 | rpm does not contain the *.o and *.ali | gnade.spec, rpmfiles.sh |
659301 | 1.4.1 | rpm samples are not compilable | gnade-config, Makefile |
659418 | 1.4.1 | standalone example does not work | gnade-config, Makefile |
700087 | 1.4.2 | odbc example failes with mimer | dynamic.gpq |
700088 | 1.4.2 | unixODBC is not preferenced | configure.in |
724091 | 1.4.3 | Memory leak in MySQL bindings | mysql bindings |
730626 | 1.4.3 | Cursros not correctly closed | esql_support |
733462 | 1.4.3 | Close cursor failes in case of insert | esql_support |
758450 | 1.4.3a | rpm not build | MANIFEST file |
758452 | 1.4.3a | postgres samples not compilable | Makeifle of psotgres sample |
758462 | 1.4.3a | rpm failes if oracle bindings are included | ./configure script |
805896 | 1.5.0 | gnade config creates useless -l | gnade-config |
813238 | 1.5.0 | odbc.ini and odbcinist.ini nor correctly placed | Makefile |
813239 | 1.5.0 | make of the adbc sample failes | Makefile |
813243 | 1.5.0 | snadalone example does not compile | Makefile |
813615 | 1.5.0 | sqlite sample does not compile correctly | Makefile |
813617 | 1.5.0 | distribution build for sqlite does not work | MANIFEST |
Bug Ref. | Short Description | Comments |
---|---|---|
411141 | Missing ";" for "EXEC SQL DECLARE DB01 D" | This problem may be bypassed by putting a semicolon in the source code. |
Ename : Char (1..21); Dept_Name : Char (1..21); Location : Char (1..21);
The GNADE code and the documentation is distributed in the following files:
File | Contents |
---|---|
gnade-src-1.4.2.tar.gz | Complete GNADE source code distribution GNU compressed tar file |
gnade-src-1.4.2.zip | Complete GNADE source code distribution as ZIP file. |
gnade-1.4.2-xx.src.rpm | Source rpm used to build the binary packages |
gnade-1.4.2-xx.i686.rpm | Linux binaries and executables in RPM format. |
The installation of this software requires the following components:
Component | Version | Origin |
---|---|---|
gzip | 1.2.4 | GNU |
unzip | 5.42 | Infozip |
zip | 2.2 | Infozip |
tar | - | GNU or native |
autoconf | 2.52 | GNU |
gmake | 3.79.1 | GNU |
gnat | 3.14p, 3.13p | ACT distribution (ftp://cs.ny.edu/) |
gawk | 3.0.3 | GNU |
rpm | www.rpm.org (only if rpm is to be installed) |
$ gunzip -c gnade-src-<version>.tar.gz | tar xvf - $ cd gnade-src-<version> $ ./configure [ --sampledb=<rdbms> [ native(s) ]
This allows you to specify for which RDBMS product you wish to create a sample data bases and for which RDBMS products you wish to build native bindings. If nothing is given only the ODBC based parts will be build.
The following RDBMS prducts are supported.
If the value is omitted because your data base product is not listed,, all subsequent steps regarding the data base installation may be skipped and you have to install the test database manually.
Depending on the installation of the data base you have specified in the configure script command, you have to execute the following step either by using a DBA account our you may use your own user account
$ su ..dba.. $ gmake createuser
After the database and the database user has been configured, the ODBC interface has to be configured. The directory ./samples/sample_db contains sample files for the unixODBC driver manager. The files odbc.ini.sample odbcinst.ini.sample have to be copied to /etc/odbc.ini and /etc/odbcinst.ini.sample.
After the creation of the data base user, the final build may be done by:
$ gmake
Test code is located in the directory ./samples. In order to test the functionality of the ODBC interface use the examples in ./odbc or ./esql.
In order to install the build products on your system login as root and execute the following command in the installation directory of this package:
make install
The makefile will run a script which installs all components on your system that they are available to other users as well. The target directories are specified in the etc/site.config file.
In case of upgrading from 1.4.1 to a higer version please perform the following steps prio to the installation of the package:
cd /usr/lib ; rm libgnade*
cd /usr/bin; rm gesql gnade-config
cd /usr/lib/ada; rm -rf gnade
or if you have installed the rpm package, simply run:
rpm -e <gnade-package>
Include the new location of the GNADE environment both in the PATH variable and in the loader configuration:
In /etc/profile.local add
PATH=$PATH:/usr/local/gnade/bin ; export PATH
In/etc/ld.so.confadd the line /usr/local/gnade/lib and execute
ldconfig -v
The installation of the executable package done by executing the following command:
rpm -ivh gnade-1.4.0-4.i686.rpm.
This will install the production results at the following places in the filesystem:
libraries - /usr/lib/libgnade*
documentation - /usr/share/doc/gnade-1.4.0
binaries - /usr/bin
Since this is the first rpm release no deinstallation has to be done.
The GNADE project provides tools which are add on packages to the GNADE source packages. The following tools are installable with this distribution:
For the installation please follow the procedure below after you have installed the GNADE source release.
In order to install the tool run as root in the installation directory of GNADE the command:
make install
Since the installation procedure installs also the GNADE release ensure that the current status is usable for systemwide installation.
If this installation procedure fails you may use the Makefile in the directory ./win32. This will require some manual adoptions but it is a starting point.
In any case if you encounter a problem please contact the GNADE team asap.
For window users a zip file is provided. In order to install perform the following steps:
> unzip gnade-src-<version>.zip > cd gnade-src-<version>/win32 > make
Please note, this works with or without Cygwin installed.
Note that the Windows distribution of GNAT is in two parts; the standard GNAT tools in gnat-3.14p-nt.exe and the extra Windows tools and libraries in gnatwin-3.14p.exe. Both must be installed.
$Id: note_1.5.0.html,v 1.2 2003/09/27 19:08:12 merdmann Exp $