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.
The scope of this release is a bug fix in the ./configure and build procedure in order to detect if it is possible to build the native bindings. The arguments of the configure script have been changed (see installation hints below).
A slight change in the ESQL translator has been done. If you are using constructs like
Print_Employee(1, EXEC SQL INCLUDE DATABASE NAMED DB01; );
change them into
Print_Employee(1, EXEC SQL INCLUDE DATABASE NAMED DB01 );
Additionally the gesql supports a simple variable substitution (like gnatprep) by means of the -D command line switch.
The ADBC interface will not be installed system wide any more since it is still experimental and incomplete.
The release features:
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 |
Special regards to the following persons which have contributed to the project:
Pascal Obry | p.obry@wanadoo.fr |
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) |
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 | 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 |
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 | 1.8.12-2 | Linux | www.unixodbc.org |
2.0.5 | Solaris 8 | www.unixodbc.org | ||
2.1.1-7 | Linux Debian | www.unixodbc.org | ||
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, Solaris 8, Windows |
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 0.9o are listed in the release note 1.1.2.
Bug Ref. | Fixed in | Short Description | Comments |
---|---|---|---|
421587 | 0.9o | ObjectAda Unrestricted_Access not supported. | Unrestricted access is not used any more. |
425280 | 1.1.1 | Name of esql not changed every where | GNUmakefile updated |
425409 | 1.1.1 | sql_standard prefix not handled correct | gesql updated |
425410 | 1.1.1 | whenever sqlwarning faulty | gesql updated |
425510 | 1.1.1 | gpl.sgml missing in distribution | MANIFEST updated |
421586 | 1.1.2 | GNUmake on Windows 95 does not work | Makefile changed |
435712 | 1.1.2 | Wrong debug code generated | esql translator and esql_support updated |
427531 | 1.1.2 | gesql file corrupt but available | The output file will always be deleted if some error during translation occurred. |
427557 | 1.1.2 | gesql command line not correct evaluated | driver changed. |
427764 | 1.1.3 | Relastion missing error not recognized | Code generation has been changed |
427747 | 1.1.3 | help message shown twice | driver.adb changed |
427750 | 1.1.3 | Dynamic SQL DECLARE statement missing | documentation updated |
427748 | 1.1.3 | Some_Error exception undefine | code generator updated |
430075 | 1.1.3 | -noniso92 switch does not exist | code generator updated |
430077 | 1.1.3 | -noiso92 switch not evaluated | code generator updated |
429984 | 1.1.4 | Result evaluation done twice | code generator updated |
430751 | 1.1.4 | Notfound class not correctly evaluated | code generator updated |
430752 | 1.1.4 | not found exception raised twice | code generator updated |
430760 | 1.1.4 | Number of affrected rows missing is SQLC | code generator updated |
435982 | 1.1.5 | Wrong package name found | esql parser updated |
435872 | 1.1.5 | Debug information missleading | esql code generator updated |
437590 | 1.1.5 | Example simple does not work with MySQL | GNU.DB.SQLCLI and esql_support.odbc
updated. |
439149 | 1.1.5 | SQLCA Not inserted correctly | esql parser updated |
439151 | 1.1.5 | Handling of inner exception | -noiso92 switch changed to -iso92 switch |
439274 | 1.1.5 | Mimer SQL not correctly installed | Makefile updated |
439274 | 1.1.5 | MimerSQL, Tables of test db not found. | Documentation updated |
478056 | 1.1.6 | Move in ESQL raises exception | esql_support.adb updated |
470357 | 1.1.6 | simple.gpq does not handle conn. error | simple.gqp updated |
471060 | 1.1.7 | esql_parse does not compile | esql_parser.adb updated |
471082 | 1.1.7 | Useless evaluate code generated | esql_parser.adb updated |
473062 | 1.1.8 | Package name in host var. decl. not eval. | esql_parser.adb updated |
473104 | 1.1.8 | Query result not evaluated by gesql | esql_parser.adb updated |
473259 | 1.1.9 | esql samples do not complie | esql_parser.adb updated |
475736 | 1.1.10 | VARBINARY not handled correctly | gnu-db-esql_support-odbc.adb |
471061 | 1.1.10 | seperator for Win 9x not handled | GNUmakefile |
433671 | 1.1.10 | Win 2000 installation failes | modules.adb |
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 |
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.3.7a.tar.gz | Complete GNADE source code distribution GNU compressed tar file |
gnade-src-1.3.7a.zip | Complete GNADE source code distribution as ZIP file. |
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*1 | 2.52 | GNU |
gmake | 3.79.1 | GNU |
gnat | 3.14p, 3.13p | ACT distribution |
gawk | 3.0.3 | GNU |
$ 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.
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.3.7c.html,v 1.1 2002/09/16 17:14:29 merdmann Exp $