SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

$Id: README 10142 2004-09-20 01:01:07Z rafa $

Universal Embedded SQL Compiler (UESQLC)

This compiler provides a common way for accessing heterogeneous databases. UESQLC is based on Structured Query Language (SQL) as the standard query language for accessing data. This interface provides a high level of interoperability: a single application can access different SQL Database Management Systems (DBMS) through a common set of embedded SQL code (UESQL). This enables a developer to build and distribute a client/server application without targetting a specific DBMS. Database drivers can be added just creating a Code Description Mark-up Language (CDML) document (based on SGML) with the code corresponding to the new DBMS. Read README.uesql for more information about UESQL. We impose no restriction on the use of the UESQLC compiler output. The code produced by UESQLC is not considered a derived work of it. See COPYING for more information about the compiler license (GPL). See COPYING.LIB for more information about the libraries license (LGPL).

Benefits

  • Independence. Applications using UESQL code are not tied to any proprietary vendor solution.
  • Extensibility. Anybody can extend the available DBMS target translations.
  • Portability. Guaranteed portability of applications.

Platforms

Requires full support for name-spaces and exceptions. The compiler has been compiled and tested on the following platforms (maybe not recently):

Architecture GNU canonical name


  i586         i586-pc-linux-gnu
  i686         i686-pc-linux-gnu
  sun4u        sparc-sun-solaris2.6

Tools used on platform: i586-pc-linux-gnu

autoconf 2.53 GNU autoconf
automake 1.6.1 GNU automake

  bison       1.28     GNU parser generator
  gcc         3.1      GNU C compiler
  gcc-c++     3.1      GNU C++ support for gcc
  flex        2.5.4a   GNU fast lexical analyzer generator
  libtool     1.4.2    GNU libtool
  m4          1.4.1    GNU macro processor
  make        3.79.1   GNU make

Tools used on platform: i686-pc-linux-gnu

autoconf 2.53 GNU autoconf
automake 1.6.1 GNU automake

  bison       1.28     GNU parser generator
  egcs        3.1      GNU Experimental C compiler
  egcs-c++    3.1      GNU Experimental C++ support for gcc
  flex        2.5.4a   GNU fast lexical analyzer generator
  libtool     1.4.2    GNU libtool
  m4          1.4.1    GNU macro processor
  make        3.79.1   GNU make

Tools used on platform: sparc-sun-solaris2.6

  autoconf    2.12     GNU autoconf
  automake    1.3      GNU automake
  flex        2.5.4a   GNU fast lexical analyzer generator
  gcc         2.7.2.1  GNU C compiler
  gcc-g++     2.7.2.1  GNU C++ support for gcc
  libtool     1.2      GNU libtool
  m4          1.4      GNU macro processor
  make        3.76.1   GNU make
  yacc        1.16     Sun parser generator

When building the compiler you must pay attention to the compilation flags when using --with-comp-mode=optimize because it uses an huge amount of memory and processing power.

Available Target Translations

The next target translations are available:

Target (CDML file name) DBMS API API Version


  oracle-oci-7.x          Oracle Server  OCI    >= 7.0
  postgresql-jdbc-3.0     PostgreSQL     JDBC   >= 3.0
  postgresql-libpq-7.3.x  PostgreSQL     LIBPQ  >= 7.3.0
  odbc-3.x                Any            ODBC   >= 3.0

Test Environment

To prepare the appropriate environment for testing the supported targets, you must have the next elements:

  • A valid user in the DBMS named 'test' with password 'test' (it doesn't have to be a real user of the system, and even, it is advisable that it doesn't be). Warning!, this user must have permissions to create tables and catalogs.
  • A catalog owned by such user and named 'test'.

Issues specific to Target postgresql-libpq-7.3.x

This is an example of using PostgreSQL as the SQL server for tests. First, you have to connect to the SQL server as user 'postgres' (or whoever the server was installed by). Next, execute the following commands (in the next example, it will be used the user name 'test' and the SQL server host name 'sql_server_name'):

$ psql -h sql_server_name

Welcome to the POSTGRESQL interactive sql monitor: Please read the file COPYRIGHT for copyright terms of POSTGRESQL [PostgreSQL 6.5.3 on i686-pc-linux-gnu, compiled by gcc egcs-2.91.66]

       type \? for help on slash commands
       type \q to quit
       type \g or terminate with semicolon to execute query
     You are currently connected to the database: test

postgres=> create user test with password test createdb nocreateuser;

Then the user 'test' has been created. Now, he must own a catalog (named 'test', so do this:

$ createdb -h sql_server_name -u test Username: test
Password: test

So now, the environment is ready to run tests on the PostgreSQL server.

Finally, to run the tests, do this in the source root directory:

$ make check DBMS_SERVER_NAME=sql_server_name


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.