Perl

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • DBD::ODBC works in perl 5.8.7 but fails in 5.8.8 and above

    0 answers - 1742 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    19-Sep-2006 Steve Hay wrote:
    Martin J. Evans wrote:
    >19-Sep-2006 Tim Bunce wrote:

    Tue, Sep 19, 2006 at 02:47:18PM +0100, Martin J. Evans wrote:
    I never really
    got to the root of the problem but it appears:
    in dbdimp.c did a:
    svGrow(phs->sv, 50+1)
    but
    SvLEN(phs->sv) returns 52!
    DBD::DBC does not expect this so the test fails. Since this is
    continuing to fail in all Perl versions since 5.8.8 I really would
    like to get this sorted out. I've checked through the perl changes files
    and
    I cannot see anything that looks a possibility. Does anyone know why
    If phs->sv is a SVt_NULL and you do:
    SvUPGRADE(phs->sv, SVt_PVNV)
    svGrow(phs->sv, 50+1)
    svGrow should really be SvGRW. In fact there's no svGrow in perl
    [later] or in DBD::DBC. I'll assume you meant SvGRW and your
    shift key got out of step.
    >
    >Yes I did.
    >

    SvLEN(phs->sv) returns 52 in 5.8.8 onwards
    I've not been following this thread at all, but seeing the above made
    this spring to mind:
    um=24665
    Perl has always been at liberty to allocate more memory than was
    requested if it thinks that would be a good idea, and that is exactly
    what it does as of the above patch (#24665) in order to reduce the
    number of realloc()'s that might be required.
    That patch was integrated into 5.8.8.
    Thanks Steve, this sounds like it would cause the affect I'm seeing and was
    introduced in the right perl version too. With this information I should be
    able to work on a fix to DBD::DBC.
    Thanks again.
    Martin

Re: DBD::ODBC works in perl 5.8.7 but fails in 5.8.8 and above


max 4000 letters.
Your nickname that display:
In order to stop the spam: 8 + 8 =
QUESTION ON "Perl"

EMSDN.COM