Very minor...
In ph_type.t on line 127: ok(0, !defined $tmp->{es}->{c});
A test is made to make sure that an empty string inserted into
a CHAR column comes back as null (undef).
However, at line 97:
$tmp = $dbh->selectall_hashref(qq{
SELECT name, vc, length(vc) as len, nvl(vc,'ISNULL') as isnull
FROM $table
}, "name");
The select statement does not actually request that the CHAR column "C" be
returned. So, of course it's *always* going to be undef, since it's not
present in the hashref returned by the selectall_hashref, so the test
would always succeed, even if the colunm in the DB is not null.
For reference, the table definition is:
CREATE TABLE $table (name VARCHAR2(2), vc VARCHAR2(20), c CHAR(20))
So the proposed fix would be:
*** ph_type.t Thu Apr 3 11:53:23 2003
--- ph_type.t.fix Thu Apr 3 11:53:42 2003
***************
*** 95,101 ****
$dbh->trace($test_info->{ts}) if $test_info->{ts};
$tmp = $dbh->selectall_hashref(qq{
! SELECT name, vc, length(vc) as len, nvl(vc,'ISNULL') as isnull
FROM $table
}, "name");
ok(0, keys(%$tmp) == 3);
--- 95,101 ----
$dbh->trace($test_info->{ts}) if $test_info->{ts};
$tmp = $dbh->selectall_hashref(qq{
! SELECT name, vc, length(vc) as len, nvl(vc,'ISNULL') as isnull, c
FROM $table
}, "name");
ok(0, keys(%$tmp) == 3);
---
Tom