just FYI, note the typo

- DBD::Oracle (requires DBD::Orcale 0.60 or higher)

:)

--Geoff

> -----Original Message-----
> From: Gerald Richter [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, January 06, 2000 3:27 PM
> To: Dbi-Users@Isc. Org; Modperl-Announce
> Subject: ANNOUNCE: DBIx::Recordset-0.20
> 
> 
> The URL
> 
>     ftp://ftp.dev.ecos.de/pub/perl/dbi/DBIx-Recordset-0.20-beta.tar.gz
> 
> has entered CPAN as
> 
>   file: $CPAN/authors/id/GRICHTER/DBIx-Recordset-0.20-beta.tar.gz
>   size: 74149 bytes
>    md5: 1c62da99c88b86474064a5de8f01a931
> 
> While the last release of DBIx::Recordset was really a long 
> time ago I have
> continously worked on it and enhanced it (see Changes below) 
> and it's tested
> with even more DBD drivers now.
> I just didn't have the time to complete the docs and make a 
> new release.
> Hopefully this will change in the future. Now I have taken 
> the time and here
> is it...
> 
> Enjoy
> 
> Gerald
> 
> 
> DBIx::Recordset is a perl module which handles a lot of 
> always repeating
> tasks in database access for you.
> 
> The goal is to make standard database access 
> (select/insert/update/delete)
> easier to handle (e.g. web application or scripts to enter/retrieve
> data to/from a database). 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.
> The programmer only has to supply the absolutely necessary 
> information, the
> rest is done by DBIx::Recordset.
> 
> 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.
> 
> 
> An introduction can be viewed online at
> 
>   http://perl.apache.org/embperl/Intrors.pod.cont.html
> 
> 
> DBIx::Recordset use the DBI API to access the database, so it 
> should work
> with
> every database for which a DBD driver is available. I (or 
> other people) have
> successfully used DBIx::Recordset with the following DBD drivers:
> 
> - DBD::mSQL
> - DBD::mysql
> - DBD::Pg
> - DBD::Solid
> - DBD::ODBC
> - DBD::Oracle (requires DBD::Orcale 0.60 or higher)
> - DBD::Sybase
> - DBD::CSV
> - DBD::Informix
> 
> Changes since 0.19-beta:
> 
>   - Fixed a problem with perl 5.004_04. Spotted by Paul J. Schinder.
>   - Added entry for DBD::Informix in Compat.pm send by Kelly Peet
>   - Added outer join syntax for DBD::Informix
>   - undef in !Filter passed to Recordset constructor overrides
>     filter-function for TableAttr.
>   - Fixed a problem with PrevNextForm and MoreRecord spotted by
>     Richard Chen and David M. Davission.
>   - Fixed some problems with eg/search.pl with help from
>     Richard Chen.
>   - Added date and time datatype to PostgreSQL quoting with help
>     from James Bishop.
>   - Added LastError function which returns the last error message
>     and code. This solves problems where the DBI object is already
>     out of scope and the $DBI::errstr isn't available anymore.
>   - Now all setup parameters (the ones starting with !), can also
>     be preset via DBIx::Database -> TableAttr.
>   - Fix a problem, that an error that sets $@ inside of DESTROY
>     will clear out an earlier error message. Based on a patch from
>     Dean Brettle.
>   - !Filter can take a thrid argument, which will cause
>     DBIx::Recordset to always execute the Input Filter
>   - Fixed a problem inside Flush, which will report sometime
>     'Not a scalar reference..'
>   - DBIx::Recordset handle uppercase field and tablesnames correctly
>     now. This is important to work with Oracle.
>   - New Parameter !TableFilter allows you to specify only a subset
>     of tables from the database/tablespace to work with
>   - !TableFilter is taken in account as prefix when searching
>     for links
>   - Added NeedNullInCreate for ODBC to work with MS SQL Server
>   - Recordset Object didn't get the DBHandle from Database object if
>     specified as !DataSource. Now it does. (Database object must
>     be created with !KeepOpen)
>   - !Filter can take rqINSERT or rqUPDATE as Argument after subref,
>     which causes the Filter to always execute on INSERT and/or UPDATE,
>     regardless, if there is a value for the field or not.
>   - Added methods TableName, TableNameWithoutFilter, TableFilter and
>     PrimKey.
>   - Support multiple Database object with different !TableFilter.
>   - !LongNames is now also supported for SELECTs which select not all,
>     but a specified number of fields (i.e. fields are ne '*').
>   - DBIx::Database TableLink method, returns all Links for a given
>     table when no linkname is given.
>   - Added more tests to ensure that new feature do not break old ones.
>   - removed call to non existing method $dbh->begin and call
>     $dbh->commit and $dbh->rollback only when AutoCommit is off, so
>     the DBIx::Recordset transaction methods, can be called 
> regardless, if
>     the DB supports transactions or not. Patch from Alexander 
> Smishlajev.
>   - make clean removes test.log and make realclean remove privious
>     configuration. Patch from Alexander Smishlajev.
>   - !DataSource can be a DBI database handle. Patch from Alexander
> Smishlajev.
>   - New method Dirty check if there is at leat one dirty row 
> in a recordset.
>     Patch from Alexander Smishlajev.
>   - DROP test tables at end of test. Patch from Alexander Smishlajev.
>   - DBIx::Database now makes an connect to the database if 
> KeepOpen is set
>     and the object is taken from an already stored one.
>   - Flush will call finish on open statement handles to avoid 
> statement
>     handles that stay open to long.
>   - Add new parameter !DoOnConnect, which lets you specify 
> any SQL statement
>     that should be execute after each connect.
>   - PrevNextForm could now take a hash ref as parameter and
>     addtionaly generate first, last and goto buttons
>   - Documentation updates.
>   - Added patch from Klaus Reger to avoid warning about 
> undefined value
>     in DESTROY.
>   - Added more datatypes to quote for Pg and Oracle. Patch 
> from Klaus Reger.
>   - Undef values in where expression are transfored to "is 
> null" operators,
>     also when using placeholders.
>   - DBIx::Recordset now uses always bind_param, to avoid problems with
> quoting
>     and to speed up things. This means DBD drivers which does 
> not support
>     placesholdes will not work anymore with DBIx::Recordset, but all
>     DBD drivers I know, supports now placesholder, so there 
> should be no
> problem.
>     This also remove an potetial insecure eval form the 
> BuildWhere function.
>   - DBIx::Recordset::Flush will update all dirty rows, also 
> if some of them
>     can't be written to the
>     database. Patch from Alexander Smishlajev.
>   - DBIx::Recordset::Row::Flush make sure that exactly one 
> row is updated.
> Based
>     on a patch from Alexander Smishlajev.
>   - By setting $FetchsizeWarn to zero, you can now make 
> DBIx::Recordset
> return
>     the value of $sth -> rows, when the FETCHSIZE method is 
> called by Perl.
>     This feature is still experimental, because I don't what 
> different DBMS
>     returns in $sth -> rows, after an SELECT. Patch from Robert.
>   - By setting $PreserveCase, you can cause DBIx::Recordset to _not_
> translate all
>     names to lowercase. Per default DBIx::Recordset 
> translates all names
> (tablenames/
>     fieldnames) to lowercase to let application work with 
> different DBMS.
>   - Updated docs of DBIx::Compat.
>   - If the DBMS supports it, DBIx::Recordset will use the LIMIT/OFFSET
> keywords if you
>     only want to fetch a limited number of row from the database (for
> parameters
>     $start and $max). Patch from Robert.
>   - Added an indroduction to DBIx::Recordset (based on my 
> talk on the 1999
> Perl conference)
>     which is viewable with perldoc Intrors.pod
> 
> 
> 
> -------------------------------------------------------------
> Gerald Richter    ecos electronic communication services gmbh
> Internetconnect * Webserver/-design/-datenbanken * Consulting
> 
> Post:       Tulpenstrasse 5         D-55276 Dienheim b. Mainz
> E-Mail:     [EMAIL PROTECTED]         Voice:    +49 6133 925151
> WWW:        http://www.ecos.de      Fax:      +49 6133 925152
> -------------------------------------------------------------
> 

Reply via email to