NAME
    Dimedis::Sql - Database Independent SQL Layer

DESCRIPTION
    This module allows to create database independent applications
    with Perl, not only on the data transport layer, as provided by
    DBI, but also on the SQL layer. It defines methods for SQL
    operations, for which the different RDBMS are not compatible
    with their SQL language.

    Dimedis::Sql can interact with Dimedis::Ddl, which generates
    DDL code to create database objects in a database independent
    manner. Refer to the correspondent manpage for details.

    Dimedis::Sql currently supports the following RDBMS:
    
      * Oracle
      * MySQL  (>= 4.0.13)
      * Microsoft MS-SQL
      * Sybase SQL Anywhere
      * Sybase Adaptive Server
      * Informix
      * PostgreSQL

    Support for other RDBMS can be added easily by implementing
    corresponding Dimedis::SqlDriver:: modules.
    
SYNOPSIS
    use Dimedis::Sql;
    
    # Construction and initialization
    my $sqlh = new Dimedis::Sql ( ... );
    $sqlh->install ( ... );

    # Basic I/O operations
    my $seq_id    = $sqlh->insert ( ... );    # also blob insertion
    my $modified  = $sqlh->update ( ... );    # also blob updates
    my $blob_sref = $sqlh->blob_read ( ... );

    # Handle different database schemas on one DBI connection
    $sqlh->use_db ( ...)
    my $db_prefix = $sqlh->db_prefix ( ...)

    # Handy methods for arbitrary SQL execution
    my $modified = $sqlh->do ( ... );
    my $href = $sqlh->get ( ... );
    my @row  = $sqlh->get ( ... );

    # Create database specific code for specific operations
    my ($from, $where) = $sqlh->outer_join ( ... );
    my $cond = $sqlh->cmpi ( ... );
    my $where = $sqlh->contains ( ... );

    # Get compatibility flags of the current connected
    # database system
    my $feature_href = $sqlh->get_features;

    Additionally two programs for database independent export and
    import are shipped with Dimedis::Sql:
    
      dsql_import
      dsql_export

INSTALLING Dimedis::Sql
    perl Makefile.PL
    make
    make test
    make install

DOCUMENTATION
    Currently the documentation of this module is available in
    German only. There are several manpages:
    
      Dimedis::Sql
        The Dimedis::Sql API itself, and how you use it from
	within your programs.

      dsql_export
      dsql_import
        The export/import programs provide their own manpages.

NOTE
    The module name Dimedis::Sql is subject to change, because
    having the company's name in the module's namespace isn't
    a good idea for publically available modules. Namespace
    suggestions are welcome, please send them to the author.

AUTHOR
    Joern Reder <joern AT dimedis.de>

COPYRIGHT
    Copyright (C) 1999-2003 by dimedis GmbH, 50672 Koeln, Germany

    All Rights Reserved.

    This library is free software; you can redistribute it and/or
    modify it under the same terms as Perl itself.

SEE ALSO
    DBI, Dimedis::Ddl
