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
> -------------------------------------------------------------
>