DBD::Mem - a DBI driver for Mem & MLMem files |
DBD::Mem - a DBI driver for Mem & MLMem files
use DBI; $dbh = DBI->connect('dbi:Mem:', undef, undef, {}); $dbh = DBI->connect('dbi:Mem:', undef, undef, {RaiseError => 1});
# or $dbh = DBI->connect('dbi:Mem:'); $dbh = DBI->connect('DBI:Mem(RaiseError=1):');
and other variations on connect()
as shown in the the DBI manpage docs and
<DBI::DBD::SqlEngine metadata|DBI::DBD::SqlEngine/Metadata>.
Use standard DBI prepare, execute, fetch, placeholders, etc., see QUICK START for an example.
DBD::Mem is a database management system that works right out of the box. If you have a standard installation of Perl and DBI you can begin creating, accessing, and modifying simple database tables without any further modules. You can add other modules (e.g., SQL::Statement) for improved functionality.
DBD::Mem doesn't store any data persistently - all data has the lifetime of
the instantiated $dbh
. The main reason to use DBD::Mem is to use extended
features of the SQL::Statement manpage where temporary tables are required. One can
use DBD::Mem to simulate VIEWS
or sub-queries.
Bundling DBD::Mem
with the DBI manpage will allow us further compatibility checks
of the DBI::DBD::SqlEngine manpage beyond the capabilities of the DBD::File manpage and
the DBD::DBM manpage. This will ensure DBI provided basis for drivers like
the DBD::AnyData2 manpage or the DBD::Amazon manpage are better prepared and tested for
not-file based backends.
There're no new meta data introduced by DBD::Mem
. See
Metadata in the DBI::DBD::SqlEngine manpage for full description.
If you need help installing or using DBD::Mem, please write to the DBI users mailing list at mailto:dbi-users@perl.org or to the comp.lang.perl.modules newsgroup on usenet. I cannot always answer every question quickly but there are many on the mailing list or in the newsgroup who can.
DBD developers for DBD's which rely on DBI::DBD::SqlEngine or DBD::Mem or use one of them as an example are suggested to join the DBI developers mailing list at mailto:dbi-dev@perl.org and strongly encouraged to join our IRC channel at irc://irc.perl.org/dbi.
If you have suggestions, ideas for improvements, or bugs to report, please report a bug as described in DBI. Do not mail any of the authors directly, you might not get an answer.
When reporting bugs, please send the output of $dbh->mem_versions($table)
for a table that exhibits the bug and as small a sample as you can make of
the code that produces the bug. And of course, patches are welcome, too
:-).
If you need enhancements quickly, you can get commercial support as described at http://dbi.perl.org/support/ or you can contact Jens Rehsack at rehsack@cpan.org for commercial support.
This module is written by Jens Rehsack < rehsack AT cpan.org >.
Copyright (c) 2016- by Jens Rehsack, all rights reserved.
You may freely distribute and/or modify this module under the terms of either the GNU General Public License (GPL) or the Artistic License, as specified in the Perl README file.
the DBI manpage for the Database interface of the Perl Programming Language.
the SQL::Statement manpage and the DBI::SQL::Nano manpage for the available SQL engines.
the SQL::Statement::RAM manpage where the implementation is shamelessly stolen from to allow DBI bundled Pure-Perl drivers increase the test coverage.
the DBD::SQLite manpage using dbname=:memory:
for an incredible fast in-memory database engine.
DBD::Mem - a DBI driver for Mem & MLMem files |