Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

DBI::SQLite

by boo_radley (Parson)
on Feb 19, 2002 at 15:14 UTC ( [id://146392]=perlmeditation: print w/replies, xml ) Need Help??

Matt Sergeant has created a pretty exciting module for database development : DBD::SQLite. This module is a self-contained relational database system, meaning that the module is the server.

Here's the features of SQLite, straight from the website

  • Implements a large subset of SQL92.
  • A complete database (with multiple tables and indices) is stored in a single disk file.
  • Atomic commit and rollback protect data integrity.
  • Small memory footprint: less than 20K lines of C code.
  • Four times faster than PostgreSQL. Twice as fast as SQLite 1.0.
  • Very simple C/C++ interface requires the use of only three functions and one opaque structure.
  • TCL bindings included.
  • A TCL-based test suite provides near 100% code coverage.
  • Self-contained: no external dependencies.
  • Built and tested under Linux and Win2K.
  • Sources are uncopyrighted. Use for any purpose.
The only thing that troubles me is that SQLite has no concepts of data types. All the data verification will have to be on the client's end, rather than maintained in the db.

Replies are listed 'Best First'.
Re: DBI::SQLite
by Matts (Deacon) on Feb 19, 2002 at 21:49 UTC
    OK, it's now on CPAN.

    I've ported over DBD::CSV's nice test suite (which was designed as a generic DBD test suite), and managed to get all relevant tests to pass. It's also about 10 to 30 times faster than DBD::CSV for inserts/updates/selects, though please test that for yourself before taking my word for it.

    So download it, play with it, and let me know how you get on. It probably leaks memory here and there - I haven't done any tests on leaks yet. But overall it looks fairly stable. I haven't done *any* multiple server's connecting to it tests though - I'd certainly welcome testing in that area.

      Wow.. as of 5:39 on Feb 19 the author warned not to download due to instability, but by 11:49 the same day was fixed and loaded to CPAN. Are you trying to set a record Matts? :^) Can't wait to take a look!!! This might just cure what ails me!

      ..Guv

        Those who know me know I'm not a real human being. Just call me dolly.

        Seriously though, I get wierd withdrawl symptoms if I don't release something to CPAN every now and then. I'm now up to 46 modules on CPAN. Wow, even I didn't know I had so many until I just counted.

      Great! I am writing an app that makes heavy use of a database and was looking at DBD::Sprite and DBD::CSV and friends for use in my test scripts. DBD::SQLite looks perfect and it's fast too. I don't mean to suck up too much in one message, but it also gives me a perfect excuse to use DBIx::AnyDBD :)

      ___ Simon Flack ($code or die)
      $,=reverse'"ro_';s,$,\$,;s,$,lc ref sub{},e;$,
      =~y'_"' ';eval"die";print $_,lc substr$@,0,3;
Re: DBI::SQLite
by Matts (Deacon) on Feb 19, 2002 at 15:39 UTC
    Please don't download this unless you mean to test it for bugs. It's still got a long way to go before it's stable. At which point I'll put in on CPAN. Thanks.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://146392]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-04-25 16:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found