FAQ
All,

I am pleased to announce that DBD::SQLite (Self Contained RDBMS in a Perl DBI
Driver) version 1.26_05 has been released on CPAN (by Adam Kennedy).

http://search.cpan.org/~adamk/DBD-SQLite-1.26_05/

This developer release bundles the brand-new SQLite version 3.6.19, which adds
support for enforcing SQL foreign keys. See http://sqlite.org/foreignkeys.html
for the details of the foreign key support that SQLite now has.

Also be sure to look at the section http://sqlite.org/foreignkeys.html#fk_enable
, because you have to enable a pragma on each connect to use the foreign keys
feature; it isn't yet on by default for backwards compatibility purposes.

As I imagine many of you have been pining away for SQLite to support this
feature for a long while, you'll want to dig in right away.

TESTING NEEDED!

Please bash the hell out of the latest DBD::SQLite and report any outstanding
bugs on RT. Test your dependent or compatible projects with it, which includes
any DBMS-wrapping or object persistence modules, and applications.

And especially try actually using foreign keys with SQLite.

As the official release announcement says: "This release has been extensively
tested (we still have 100% branch test coverage). [The SQLite developers]
consider this release to be production ready. Nevertheless, testing can only
prove the presence of bugs, not their absence. So if you encounter problems,
please let us know."

See also http://www.sqlite.org/changes.html for a list of everything else that
changed in SQLite itself over the last few months.

If you want in to DBD::SQLite development, then join the following email/IRC
forums which MST created (the mailing list, I am administrating):

http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbd-sqlite

#dbd-sqlite on irc.perl.org

And the canonical version control is at:

http://svn.ali.as/cpan/trunk/DBD-SQLite/

Patches welcome. Ideas welcome. Testing welcome. Whining to /dev/null.

If you feel that a bug you find is in SQLite itself rather than the Perl DBI
driver for it, the main users email forum for SQLite in general is at:

http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

... where you can report it as an appropriate list post (the SQLite issue
tracking system is no longer updateable by the public; posting in the list can
cause an update there by a registered SQLite developer).

Please do not reply to me directly with your responses. Instead send them to
the forums or file with RT as is appropriate.

Thank you. -- Darren Duncan

P.S. DBD::SQLite has at least 1 known bug, also in version 1.25, with regard to
full-text search (FTS3); there is an included new failing test, which currently
is set to skip so the CPAN testers don't issue fails, but the issue behind it
should hopefully be fixed before the next DBD::SQLite release. We decided that
shipping DBD::SQLite now with the skipping test was preferable to waiting for
that fix so you could get the new foreign keys feature the soonest.

Search Discussions

  • Adam Kennedy at Oct 15, 2009 at 6:52 am
    Please note the following correction to the announcement.

    Whining is also welcome. :)

    Adam K

    2009/10/15 Darren Duncan <darren@darrenduncan.net>:
    Patches welcome. ?Ideas welcome. ?Testing welcome. ?Whining to /dev/null.
  • Darren Duncan at Oct 15, 2009 at 7:07 am
    I'll try to remember that policy when I next make an announcement.

    Meanwhile, that line was from MST in his DBD::SQLite announcement back in
    Spring, and it seemed reasonable to continue.

    And Adam, thank you for being so prompt with the release.

    -- Darren Duncan

    Adam Kennedy wrote:
    Please note the following correction to the announcement.

    Whining is also welcome. :)

    Adam K

    2009/10/15 Darren Duncan <darren@darrenduncan.net>:
    Patches welcome. Ideas welcome. Testing welcome. Whining to /dev/null.
  • David E. Wheeler at Oct 15, 2009 at 3:56 pm

    On Oct 14, 2009, at 11:39 PM, Darren Duncan wrote:

    Also be sure to look at the section http://sqlite.org/foreignkeys.html#fk_enable
    , because you have to enable a pragma on each connect to use the
    foreign keys feature; it isn't yet on by default for backwards
    compatibility purposes.
    I suggest you add something to the documentation showing how to always
    enable this using a callback. Something like

    my $enable_fks = sub { shift->do('PRAGMA foreign_keys = ON') };
    my $dbh = DBI->connect($dsn, '', '', {
    Callbacks => { connect => $enable_fks, },
    });

    If the user uses connect_cached, she should use this instead:

    Callbacks => { 'connect_cached.reused' => $enable_fks, },

    Best,

    David
  • Darren Duncan at Oct 16, 2009 at 4:37 am

    P Kishor wrote [on sqlite-users@sqlite.org]:
    On Thu, Oct 15, 2009 at 1:39 AM, Darren Duncan wrote:
    All,

    I am pleased to announce that DBD::SQLite (Self Contained RDBMS in a Perl DBI
    Driver) version 1.26_05 has been released on CPAN (by Adam Kennedy). ..
    P.S. DBD::SQLite has at least 1 known bug, also in version 1.25, with regard to
    full-text search (FTS3); there is an included new failing test, which currently
    is set to skip so the CPAN testers don't issue fails,
    I tried to create a db with FTS3 and got the following

    perl(12546) malloc: *** error for object 0x1eb160: Non-aligned pointer
    being freed (2)
    *** set a breakpoint in malloc_error_break to debug
    perl(12546) malloc: *** error for object 0x870200: double free
    *** set a breakpoint in malloc_error_break to debug
    perl(12546) malloc: *** error for object 0x1ea668: Non-aligned pointer
    being freed
    *** set a breakpoint in malloc_error_break to debug
    Segmentation fault

    Is the above the FTS3 related error?
    Looks similar. This is the official bug report that we already have, which was
    reported on Oct 14, and on which the failing/skipping test is based:

    http://rt.cpan.org/Public/Bug/Display.html?idP503

    Subject: Segfault with fts3

    A copy of the ticket text is displayed below the dashed line in this email also.

    The bug report was against DBD::SQLite versions that bundled SQLite 3.6.13 and
    3.6.18 respectively, for both of which the bug manifests.

    As of yet the bug is unfixed.

    If you have any new information, it would be useful for you to add it to the
    above RT ticket.

    -- Darren Duncan

    ------------

    [text/plain 790b]
    The attached script fails on 1.25 and 1.26_04. It does one of three things:

    - segfaults
    - gives a double free error
    - hangs without any cpu activity

    Which of the above three it does depends on the exact script (adding or
    removing a print line can change its behavior), but it always fails.

    Here are a couple sample error messages:
    *** glibc detected *** double free or corruption (!prev):
    0x000000000083c480 ***
    Abort (core dumped)

    Segmentation fault (core dumped)

    The database doesn't appear to be corrupted after the failure -- running
    an integrity check with the sqlite3 command line binary says the db is okay.

    The equivalent code without the fts3 module works fine.

    I did a quick test with the DBD::SQLite packaged with the latest Ubuntu
    (1.14), and that version seems to work.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupdbd-sqlite @
postedOct 15, '09 at 6:39a
activeOct 16, '09 at 4:37a
posts5
users3
websiteshadowcat.co.uk

People

Translate

site design / logo © 2021 Grokbase