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

Darren Duncan darren at darrenduncan.net
Fri Aug 27 22:36:36 GMT 2010

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

More information about the DBD-SQLite mailing list