SPUG: spug CPAN
John Cokos
jcokos at ccs.net
Wed Aug 16 14:02:35 CDT 2000
What I've got so far is about a 80% implementation of it
but needs more hands in the pot to think of things that I've
forgotten or overlooked, and some TLC. I started it
about 6 months ago, when I was first learning OOP, and
now with a higher skillset (and others to help out), it could
be trimmed down, and made more efficient.
John
========================================
John Cokos, President / CEO: iWeb Inc.
http://www.iwebsys.com
jcokos at ccs.net
========================================
----- Original Message -----
From: "Christopher Cavnor" <chris at enthusiasm.com>
To: "John Cokos" <jcokos at ccs.net>
Cc: <spug-list at pm.org>
Sent: Wednesday, August 16, 2000 11:25 AM
Subject: Re: SPUG: spug CPAN
> I would tend to align with this project. I have written a small mod with an OO interface that
> allows acts as a DBI wrapper for the application that uses it. The interface is generified and
> allows overloading (so that you can call $db_wrap->select() and get all results, or call
> $db_wrap->select(\%query) - where %query is a hash of column = value so that the select statement
> becomes "select * from table where column = value").
>
> The mod is limited, but could be used as a proof of bigger and better things.
> --
> Christopher Cavnor
> Software Design Engineer
> Enthusiasm.com
>
>
> John Cokos wrote:
>
> > Apologies, my finger slipped and I sent the mail before I finished it...
> >
> > Just some thoughts on the CPAN module to be written ...
> >
> > We kicked around a few ideas last evening, but never really
> > came to a final resolution on what the actual project will
> > be. Seems like there were a lot of application ideas presented,
> > but not many actual usable module ideas.
> >
> > So perhaps we could think of dividing our efforts into 2 parts
> > one: an appication, and two: a generic usable module.
> >
> > My personal preference is a module. My proposal is one
> > that I mentioned to a few people at Rock Bottom after the meeting:
> >
> > a Wrapper for DBI. I've gotten a good start on this, but it's
> > really a mess and needs TLC. Anyone that's coded with DBD
> > can relate to it's shortcommings, and how much code it can take
> > to get simple things done. The module I propose is a wrapper.
> >
> > Consider:
> > Current DBI Method:
> >
> > return("Some error") if($input{somevalue} !~ /someregexp/);
> > .... and so on for each field.
> >
> > my $SQL = qq^
> > UPDATE sometable SET
> > somecolumn = '$input{somevalue}',
> > somecolumn = '$input{somevalue}',
> > somecolumn = '$input{somevalue}',
> > somecolumn = '$input{somevalue}',
> > somecolumn = '$input{somevalue}',
> > somecolumn = '$input{somevalue}',
> > somecolumn = '$input{somevalue}',
> > somecolumn = '$input{somevalue}',
> > somecolumn = '$input{somevalue}',
> > ......
> > ^;
> > $sth = $dbh->prepare($SQL);
> > $rc = $sth->execute;
> >
> > if($DBI::errstr) { print "Failure .... \n"; }
> > else { print "OK\n"; }
> >
> > Proposed Module Method:
> > my ($statuscode, $message) = $sql->isql_update_table( table=>'sometable', values=>\%input );
> > print $message if( ! $statuscode );
> >
> > Much less code, for the developer (especially considering that a typical SQL
> > aplication has many many different inserts and updates like that one throughout
> > the code), and a consistent back end that
> > would match the input to the table rows, do error checking, input validation,
> > etc.....and retun a meaningful error message.
> >
> > Routines like that could be / should be written to handle selects statements
> > that give you the data as you want it instead of only one of the 3 ways DBD
> > allows for now, insert statements that do the extensive validations that the update
> > routine does, schema management, etc.
> >
> > Thoughts?
> >
> > John
> > ========================================
> > John Cokos, President / CEO: iWeb Inc.
> > http://www.iwebsys.com
> > jcokos at ccs.net
> > ========================================
> >
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> > POST TO: spug-list at pm.org PROBLEMS: owner-spug-list at pm.org
> > Subscriptions; Email to majordomo at pm.org: ACTION LIST EMAIL
> > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
> > For full traffic, use spug-list for LIST ; otherwise use spug-list-digest
> > Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> POST TO: spug-list at pm.org PROBLEMS: owner-spug-list at pm.org
> Subscriptions; Email to majordomo at pm.org: ACTION LIST EMAIL
> Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
> For full traffic, use spug-list for LIST ; otherwise use spug-list-digest
> Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/
>
>
>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
POST TO: spug-list at pm.org PROBLEMS: owner-spug-list at pm.org
Subscriptions; Email to majordomo at pm.org: ACTION LIST EMAIL
Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
For full traffic, use spug-list for LIST ; otherwise use spug-list-digest
Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/
More information about the spug-list
mailing list