Re: Perl 5.13.3+ MAY BREAK COMPILED DRIVERS - Please test DBI 1.613_71!

Darren Duncan <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbd-sqlite,gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <[email protected]>
Tim Bunce wrote [to dbi-dev]:
> Short version:
> 
> Please download build test *and install* DBI 1.613_71, then download build
> and test any compiled drivers you use to check they work with DBI 1.613_71.
> 
> Let us know about any failures *and* successes.
> 
> Also grep the source code of the driver to see if it defines
> PERL_POLUTE. If it does, let us know.
> 
> Long version:
> 
> Perl 5.13.3+ removes support for PERL_POLUTE. PERL_POLUTE enables use of
> old-style variables names, without the PL_ prefix (e.g. sv_undef instead
> of PL_sv_undef).
> 
> The DBI has, for many years, enabled PERL_POLUTE mode in DBIXS.h, so
> it's likely that compiled drivers are use some old-style variables names.
> These drivers won't work with Perl 5.13.3+.
> 
> To aid testing for this, the DBI 1.613_71 doesn't enabled PERL_POLUTE mode.
> 
> So please test compiled drivers against DBI 1.613_71.

I didn't try to build them with DBI 1.613_71, but I did a grep search for 
PERL_POLLUTE in the latest CPAN versions of DBD-SQLite and DBD-Pg.

* DBD-SQLite-1.30_05 *does* #define PERL_POLLUTE, once in SQLiteXS.h

* DBD-Pg-2.17.1 does not have any PERL_POLLUTE

Obviously, then, DBD::SQLite will need an update to fix this problem, though it 
sounds like the fix should be some relatively simple symbol renaming.

I could probably do this, but not until at least a few days from now when I have 
more time to do that *and* test it.

-- Darren Duncan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.