Does DBI change behavior across platforms?

From: Rob Kinyon (Rob.Kinyon_at_progressive-medical.com)
Date: 07/26/04

  • Next message: Thomas Cullen: "Steps to install DBI/DBD when AIX server doesn't have a C compile r"
    Date: Mon, 26 Jul 2004 13:40:38 -0400
    To: <dbi-users@perl.org>
    
    

    Using DBD::Mock, I've got a number of tests I'm using to validate my
    class that has-a DBI object. One set of tests verifies that I will
    return undef if handed the following SQL statements:

                SELECT 1 AS value FROM

                SELECT 1 AS value (with a bind param passed in)

                SELECT 1 AS value FROM foo WHERE x = ? (with no bind param
    passed in)

     

    On RH 9, perl 5.8.0 threading, DBI1.43, DBD::Mock 0.11 - this throws the
    following error (typed in, not cut'n'paste):

     

    Assertion I == (((((SV *) (name_av))->sv_flags & 0x00008000)) ?
    Perl_mg_size(((PerlInterpreter
    *)pthread_getspecific((*Perl_Gthr_key_ptr(((void *)0)))))), (SV *)
    name_av) : ((XPVAV*) *name_av)->sv_any)->xav_fill)+1 failed: file
    "DBI.xs", line 1638 at /usr/lib/perl5/site_perl/5.8.0/DBD/Mock.pm line
    372

     

    On Solaris 2.9, Perl 5.8.0 non-threading, DBI 1.43, DBD::Mock 0.11 - no
    error is thrown.

     

    DBD::Mock is an extremely basic DBD, which doesn't do any validation
    whatsoever of what's passed in. (The author and I have discussed adding
    this feature, but I am not taking advantage of it.)

     

    Is this a threading/non-threading thing or a Solaris/Redhat thing or a
    I'm-being-stupid thing? I don't have any other Perl's built. I could,
    but it would be a while before I found the time at work to build
    different Perls. (It's on the list for next month ... I hope.)

     

    Thanks,

    Rob Kinyon
      
    CONFIDENTIALITY NOTICE: The information in this electronic transmission and any documents accompanying it may contain confidential information belonging to the sender, which is legally privileged. The information is intended only for the use of the individual or entities named above. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this transmission in error, please destroy the message in its entirety.


  • Next message: Thomas Cullen: "Steps to install DBI/DBD when AIX server doesn't have a C compile r"