[DBD-SQLite] Re: updating bundled SQLite to latest

Kenichi Ishigaki ishigaki at cpan.org
Sat Mar 28 08:14:10 GMT 2009

Hi Darren,

switching to amalgamated source isn't so hard.
Here's the instruction.

1) Remove all the sqlite sources (except dbdimp.[ch], ppport.h,
SQLite.xs, SQLite.h; these are DBD-SQLite stuff).

2) Download sqlite-amalgamation-3.6.11.tar.gz, extract it,
copy sqlite3.c, sqlite3.h, and maybe sqlite3ext.h to the
DBD-SQLite directory.

3) Apply the following patch to dbdimp.h

--- dbdimp.h.org	Sat Mar 28 12:59:49 2009
+++ dbdimp.h	Sat Mar 28 17:04:20 2009
@@ -4,7 +4,7 @@
 #define _DBDIMP_H   1
 #include "SQLiteXS.h"
-#include "sqliteInt.h"
+#include "sqlite3.h"
 /* 30 second timeout by default */
 #define SQL_TIMEOUT 30000

4) That's it. perl Makefile.PL && make test should work
for you now.

I'm afraid that the XS incompatibility you mentioned is
for switching from prior 3.6.0 to 3.6.x. As the amalgamated
source is made just by combining the separate sources
together, so there's no serious incompatibility, I think.


On Fri, 27 Mar 2009 22:28:45 -0700, Darren Duncan <darren at darrenduncan.net> wrote:

>Kenichi Ishigaki wrote:
>> Thanks for the heads-up. I updated the bundled library
>> to 3.6.11 (and fixed t/08create_function.t issue, too).
>> As for how to update, I run "getsqlite.pl" in the trunk
>> with <sqlite version to download>, and do some tweaks
>> if I find something wrong (like adding new files to the
>> repository, updating extensions, etc).
>> But I think we should switch to the amalgamated source
>> like DBD::SQLite::Amalgamation in the near future.
>> It's much easier to update.
>Thanks for your quick response.
>And I see you joined the list so no direct CC needed.
>I agree that we should go like DBD::SQLite::Amalgamation though I understand 
>from an IRC chat last night that there are unresolved issues with XS 
>compatability, with it not just being a drop-in replacement, so it may take 
>attention from someone good at C.  Mind you, Audrey must have gotten it to work 
>so in the near future we should see about merging in those changes.
>However, unless substituting it seems quite simple, I suggest putting that off 
>until our current version is stabilized and released production ready.  That 
>way, it would be easier to see empirically if we get various test failures from 
>the wider user base, whether it is due to changes for the Amalgamation or 
>whether it is unrelated to that.
>On another matter, I am getting a test failure on my machines with the CPAN 
>release.  Mac OS X 10.5.6 on 2 different arch, both Perl 5.8.9 and 5.10.0 (self 
>installed, not system), all with the latest DBI version.
>File 03insert.t returns not ok 9 with comments:
># Test 9 got: <UNDEF> (t/03insert.t at line 18)
>#   Expected: "4"
>#  t/03insert.t line 18 is: skip($unless_min_dbi, $dbh->last_insert_id(undef, 
>undef, undef, undef), 4 );
>Now this might be a known issue except that so far the CPAN testers say all 
>tests passed.  So I'm thinking maybe the tests need a newer version of Test.pm 
>or something, but the DBD::SQLite Makefile isn't requiring it.  I have version 
>1.25 with my 5.10 and my 5.8.9.  Hmm, maybe that's not it, but then what is 
>different about the CPAN testers that reported in, other than none of those 
>being Mac OS X?
>Is this a known problem with any of you?
>-- Darren Duncan
>DBD-SQLite mailing list
>DBD-SQLite at lists.scsys.co.uk

More information about the DBD-SQLite mailing list