in reply to Re^3: "You passed 0 parameters where 1 required" error using DBD::CSV, an INNER JOIN, and a WHERE clause
in thread "You passed 0 parameters where 1 required" error using DBD::CSV, an INNER JOIN, and a WHERE clause

Thank you.

What are the chances of getting this bug squashed in the near future? Or, what version(s) of the module(s) should I revert to?

planetscape
  • Comment on Re^4: "You passed 0 parameters where 1 required" error using DBD::CSV, an INNER JOIN, and a WHERE clause

Replies are listed 'Best First'.
Re^5: "You passed 0 parameters where 1 required" error using DBD::CSV, an INNER JOIN, and a WHERE clause
by Tux (Canon) on Jun 29, 2011 at 07:02 UTC

    Your best bet for now is to disable the test in these cases. The original test was (very) wrong and the new test is incomplete and thus broken for now. The new code could look something like:

    my @req_prm = $stmt->params (); unless (@req_prm == 1 && ref $req_prm[0] eq "SQL::Statement::Param" +) { my $n_req = @req_prm == 1 && ref $req_prm[0] ? $req_prm[0]->num + : scalar @req_prm; unless ($n_req == (my $nparm = @$params)) { my $msg = "You passed $nparm parameters where $n_req requir +ed"; $sth->set_err ($DBI::stderr, $msg); return; } }

    But do not see this as a fix, as it is cowardly running away from problems hiding in the dark.


    Enjoy, Have FUN! H.Merijn