Any news on CPAN bug 32309 in DBI - faulty definition of DBIS for big-endian 64-bit machines with MU

Any news on CPAN bug 32309 in DBI - faulty definition of DBIS for big-endian 64-bit machines with MU

am 29.01.2008 22:16:03 von jonathan.leffler

------=_Part_17580_23239120.1201641363345
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

CPAN Bug 32309 was created recently, but I'm told that the underlying
problems was first reported in 2003 (though I only see DBI bugs dating back
4 years or so, so I can believe that the original bug report has now been
lost). The new bug entry includes a plausible solution (albeit not as a
patch file, but it is a one-line change).

http://rt.cpan.org/Public/Bug/Display.html?id=32309

It does not appear to have been fixed in DBI 1.601. The problem appears not
to affect most people - it requires a big-endian machine (such as IBM
PowerPC) running in 64-bit mode[*] where 'sizeof(int) != sizeof(void *)'
with MULTIPLICITY (or PERL_OBJECT or PERL_CAPI if I'm reading
DBIXS.hcorrectly) set.

Is there a reason why this cannot be fixed - or should not be fixed?
Colleagues of mine in India have asked about this. Is there a timeline I
can offer them for when this might be fixed in a general release of DBI?

--
Jonathan Leffler #include
Guardian of DBD::Informix - v2007.0914 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease to be
amused."

[*] 64-bit mode: or it might be on a 32-bit machine with 16-bit ints, I
suppose, but that's not a plausible choice these days.

------=_Part_17580_23239120.1201641363345--

Re: Any news on CPAN bug 32309 in DBI - faulty definition of DBIS

am 30.01.2008 14:38:56 von Tim.Bunce

I've been too busy recently for various reasons to give it much time.

The macro is complex because (as I recall) it was setup to be an lvalue.
ActiveState supplied the patch many years ago when they added PERL_OBJECT.
The tricky question is: do some drivers still need it to be an lvalue?
I think the answer is no.

I suggest someone test and post a patch here that others can try out
on a variety of drivers.

Tim.

On Tue, Jan 29, 2008 at 01:16:03PM -0800, Jonathan Leffler wrote:
> CPAN Bug 32309 was created recently, but I'm told that the underlying
> problems was first reported in 2003 (though I only see DBI bugs dating back
> 4 years or so, so I can believe that the original bug report has now been
> lost). The new bug entry includes a plausible solution (albeit not as a
> patch file, but it is a one-line change).
>
> http://rt.cpan.org/Public/Bug/Display.html?id=32309
>
> It does not appear to have been fixed in DBI 1.601. The problem appears not
> to affect most people - it requires a big-endian machine (such as IBM
> PowerPC) running in 64-bit mode[*] where 'sizeof(int) != sizeof(void *)'
> with MULTIPLICITY (or PERL_OBJECT or PERL_CAPI if I'm reading
> DBIXS.hcorrectly) set.
>
> Is there a reason why this cannot be fixed - or should not be fixed?
> Colleagues of mine in India have asked about this. Is there a timeline I
> can offer them for when this might be fixed in a general release of DBI?
>
> --
> Jonathan Leffler #include
> Guardian of DBD::Informix - v2007.0914 - http://dbi.perl.org
> "Blessed are we who can laugh at ourselves, for we shall never cease to be
> amused."
>
> [*] 64-bit mode: or it might be on a 32-bit machine with 16-bit ints, I
> suppose, but that's not a plausible choice these days.