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:

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