Subject: | Several Tie::DBI issues - with patch |
Hi Todd, hi Lincoln,
at first I want to express my acknowledgment and thank for your great
work at Tie::DBI.
I'm unsure who is the primary maintainer now (does Todd just apply
some work, but main development is still at Lincoln or has Todd took
over the maintainership), so I address both.
While I take a short time out from updating DBD::AnyData to the
current DBD::File requirements, I start some work on Template::DBI
which supports Tie::DBI, too (just for the history of my suggestions).
I detected some errors in the Tie::DBI tests - and so I investigated
some time.
At first I've seen, your tests didn't realize that DBI ships a DBD
which is for most tests fully usable: DBD::DBM.
So I updated t/DBI.t (patch-aa) to allow DBI_DSN (DBI_USER, DBI_PASS)
environment variables can be used, too (and remove a "Useless
localization of scalar assignment at t/DBI.t line 130." warning).
Then I updated lib/Tie/DBI.pm (patch-ab) to support DBD::DBM (and all
other DBD::File based DBD's a bit better).:
bind and bindselect is fully supported by DBD::File (and derived
drivers), so I added all I know.
LISTFIELDS is not an ANSI SQL command (neither my PostgreSQL reference
book nor my SQL Bible name that command), - I added DBD::File derived
drivers to the list of DBD's which do not support them.
I suggest to convert this list into a CAN_LISTFIELDS (is expected to
be shorted and will simplify logical expressions evaluating it).
Tie::DBI::STORE has a minor logical issue:
eval { local $dbh->{PrintError} = 0; ... }; will return the result of
$dbh->STORE( "PrintError", $origValue ); at the end of the eval block.
Fixed that.
_run_query need to $dbh->quote() when not $self->{CanBindSelect}
(Tie::DBI::_quote seems not to work - I didn't investigate why).
That's all and it runs fine now \o/
I would be glad if you join us at dbi-dev@perl.org to keep up-to-date
on DBI and DBD development.
Further you're welcome to join daily debates at irc://irc.perl.org/dbi
Best regards,
Jens
Subject: | patch-ab |
Message body not shown because it is not plain text.
Subject: | patch-aa |
Message body not shown because it is not plain text.