Mailing List Archive

ANNOUNCE: DBIx::Recordset 0.21
The URL

ftp://ftp.dev.ecos.de/pub/perl/dbi/DBIx-Recordset-0.21.tar.gz

has entered CPAN as

file: $CPAN/authors/id/G/GR/GRICHTER/DBIx-Recordset-0.21.tar.gz
size: 79854 bytes
md5: 1611ee535c75afa1a515a2b8bfb77e3a

DBIx::Recordset is a perl module for abstraction and simplification of
database access.

The goal is to make standard database access (select/insert/update/delete)
easier to handle and independend of the underlying DBMS. Special attention
is
made on web applications to make it possible to handle the state-less access
and to process the posted data of formfields, but DBIx::Recordset is not
limited to web applications.


The main features of DBIx::Recordset are:

- it has a compact interface, normaly only one function call is necessary
for setup and data retrival/inseration/deletion

- it takes care about type conversion and quoting

- it is able to access/modify tables via arrays and hashs

- it can automaticly create sub-objects for tables which are logical linked
together

- it can automatily create joins based on logical links

- it has input/output filters on a per field/per type basis

- it can create WHERE expression from a hash, which is especially usefull in
a cgi environement, where you can simply pass all paramters posted to your
cgi
script to DBIx::Recordset and DBIx::Recordset creates an corresponding
SELECT.

- it can create previous/next buttons for html output

- it works together with HTML::Embperl for easily genration of HTML output

- it has an own database abtraction class DBIx::Compat which gives all the
necessary information, so that DBIx::Recordset is able to work with
different database systems

- The new class DBIx::Database is able to retrieve and store meta infomation
of the database in a centralised location, which can be used for later
setup. This is also usefull when running under mod_perl, because you can
do
all the setup and configuration work at webserver startup time, speeding
up
your scripts when a actual request is processed.


DBIx::Recordset use the DBI API to access the database, so it should work
with
every database for which a DBD driver is available (see also DBIx::Compat)


For more information look at perldoc DBIx::Recordset.
An introduction to DBIx::Recordset can be view with perldoc Intrors.pod.
The introduction can also be viewed online at

http://perl.apache.org/embperl/Intrors.pod.cont.html

DBIx::Recordset is tested with (but should also work with other DBMS)

- DBD::mSQL
- DBD::mysql
- DBD::Pg
- DBD::Solid
- DBD::ODBC
- DBD::Oracle
- DBD::Sybase
- DBD::CSV
- DBD::Informix

Changes since 0.20:

- Fixed problem with wrong StartRecordNo, which will also cause
problems with prev and next. Spotted by Alexander Siegel.
- Fixed problem that FETCHSIZE also returns one to much.
Spotted by Robert.
- Fixed the $last attribute of Search. Spotted by Roman Maeder.
- Fixed a bug in FETCHSIZE spotted by Robert.
- Allow different Filters for \\field and field in select.
- Fixed a problem with bind_param and LONGVARCHAR together
with DBD::ODBC
- Applied patch from Rob McMillin to the documentaion, which
corrects my bad english.
- DBIx::Recordset now supports serials fields. It is able
to insert a value from a sequence into a record upon insert
and return the value (for databases which supports sequences)
or simply return the value of last serial field (for databases
which does support serial/autoincrment fields)
- For DBMS with does not support sequences, there are two new
classes (DBIx::Recordset::DBSeq/FileSeq) which emulates sequences
in a DB table or the filesystem (see !SeqClass parameter)
- Execute now retrievs always the correct record after an INSERT
when a serial fields is specified. (and serial fields are supported
by the DBMS)
- Documented the $where parameter, which allows to pass a literal
SQL WHERE expresseion. (See SYNOPSIS)
- Added the $values parameter, so you can now pass parameters which
should be bind to the placeholders in the expression given
with $where. This allows more complex WHERE expressions to be setup.
- Wrote a short SYNOSIS sections, which gives some examples to make
it easier to start with DBIx::Recordset.
- Multiple values for a single field could now be also passed as
array ref.
- !TableFilter parameter is now always used as prefix, so only
thoses tables which starts with the prefix given in !TableFilter
are deteced by DBIx::Database.
- Removed the error message that zero record are updated instead
of one, because this were sometimes not correct. Spotted by
Roman Maeder.
- Fixed a problem which occurs when you access a linked table
for the first time (e.g. $set{-to}{foo}). Spotted by
Andrej Mikus.
- Removed a lot of -w warnings.

Enjoy

GErald


-------------------------------------------------------------
Gerald Richter ecos electronic communication services gmbh
Internetconnect * Webserver/-design/-datenbanken * Consulting

Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz
E-Mail: richter@ecos.de Voice: +49 6133 925151
WWW: http://www.ecos.de Fax: +49 6133 925152
-------------------------------------------------------------