NAME
    DBD::InterBase - DBI driver for InterBase RDBMS server

SYNOPSIS
      use DBI;
      
      $dbpath = '/home/edwin/perl_example.gdb';
      $dsn = "DBI:InterBase:database=$dbpath;host=puskom-4;ib_dialect=3";

      $dbh = DBI->connect($dsn, '', '', {AutoCommit => 0}) 
        or die "$DBI::errstr";

      $dbh = DBI->connect($dsn, '', '', {RaiseError => 1}) 
        or die "$DBI::errstr";

      $sth = $dbh->prepare("select * from SIMPLE") or die $dbh->errstr;
      $sth->execute;

      while (@row = $sth->fetchrow_array))
      {
        print @row, "\n";
      }

      $dbh->commit or warn $dbh->errstr;
      $dbh->disconnect or warn $dbh->errstr;  

    For more examples, see eg/ directory.

DESCRIPTION
    This DBI driver currently is a wrapper around IBPerl, written in
    pure perl. It is based on the DBI 1.13 specification dan IBPerl
    0.8p2.

    Connecting with InterBase-specific optional parameters

    InterBase allows you to connect with specifiying ib_role,
    ib_protocol, ib_cache, ib_charset, ib_separator, ib_dateformat,
    and ib_dialect. These parameters can be passed to InterBase via
    $dsn of DBI connect method. Eg:

      $dsn = 'dbi:InterBase:database=/path/to/data.gdb;ib_dialect=3';

PREREQUISITE
    * InterBase client
      Available at http://www.interbase.com/,

    * IBPerl 0.8 patch 2, by Bill Karwin
      Available at http://www.karwin.com/ibperl/

INSTALLATION
    Run:

      # perl Makefile.PL

    Here you will be prompted with some questions due to the
    database that will be used during 'make test'.

      # make
      # make test (optional)

    The database you specify when running Makefile.PL should has
    been existed before running 'make test', otherwise you will get
    'Invalid DBI handle -1' error message.

      # make install

WARNING
    InterBase specific behaviour:

    * $sth->{NAME} available after the first fetch
    * $sth->{NUM_OF_FIELDS} available after the first fetch
    * $dbh->do() doesn't return number of records affected
    * $sth->execute() doesn't return number of records
TESTED PLATFORMS
    This module has been tested on Linux (2.2.12-20), IBPerl 0.8p2,
    Perl 5.005_03, to access InterBase SuperServer 6.0 for Linux.

KNOWN BUGS
    This sequence won't work:

      $dbh->do($stmt); #any statement on table TBL
      $dbh->commit;
      $dbh->do("drop table TBL");

    Workaround: Change the commit with disconnect, and then connect
    again. This bug seems to occurs at IBPerl level. Try some
    examples in eg/ibperl directory.

BUG REPORTS
    Please send any bug report and patches to dbi-users mailing list
    (http://www.isc.org/dbi-lists.html) Any bug report should be
    accompanied with the script that got the problem, and the output
    of DBI trace method.

HISTORY
    Version 0.1, June 28, 2000

    Several connect() attributes specific to InterBase now use ib_
    prefix: ib_protocol, ib_role, ib_charset, ib_charset, and
    ib_cache.

    Several bug fixes and features addition:

    * `Separator' and `DateFormat' are obsolete. Use `ib_separator' and
    `ib_dateformat' instead.
    * `ib_dialect' attribute in `connect()' method.
    * `set_err' in `connect()', by Mark D. Anderson
    <*mda@discerning.com*>,
    * `tables()' method, by Michael Arnett <*marnett@mediaone.net*>,
    * `ping()' method, by Flemming Frandsen <*dion@swamp.dk*>, 
    and Mike Shoyher <*msh@e-labs.ru*>.
    * AutoCommit=>0 causes segfault within mod_perl, by Mike Shoyher 
    <*msh@e-labs.ru*>.
    Version 0.021, September 19, 1999

    Separator and DateFormat options works for prepare() and do().
    bind_param() now works. One more fix to AutoCommit behaviour.

    Version 0.02, July 31, 1999

    Alpha code. Major enhancement from the previous pre-alpha code.
    Previous known problems have been fixed. AutoCommit attribute
    works as expected.

    Version 0.01, July 23, 1999

    Pre-alpha code. An almost complete rewrite of DBIx::IB in pure
    perl. Problems encountered during handles destruction phase.

    DBIx::IB Version 0.01, July 22, 1999

    DBIx::IB, a DBI emulation layer for IBPerl is publicly
    announced.

TODO
    * Rigorous test under mod_perl and Apache::DBI
    * An xs version should be much powerful, and simplify the installation 
    process.
ACKNOWLEDGEMENTS
    Bill Karwin - author of IBPerl, Tim Bunce - author of DBI.

AUTHOR
    Copyright (c) 1999 Edwin Pratomo <ed.pratomo@computer.org>.

    All rights reserved. This is a free code, available as-is; you
    can redistribute it and/or modify it under the same terms as
    Perl itself.

SEE ALSO
    DBI(3), IBPerl(1).

