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

Reply via email to