I've been playing with my first DBIx::Class app. I'd roughed it out in Class::DBI, which I've used before, and found that performance loading data via Class::DBI wasn't acceptable. I figured I'd see what kind of a speed up I get with DBIx::Class before I write a DBI based bulkloader.
I'm running on FreeBSD 6.1 and installed DBIx::Class via ports (which gave me 0.06003). I have a table with an id column, and am using ->load(qw/PK::Auto Core/) to get automatically incrementing values for the primary key. When I run a little script to insert something into one of the tables and back the app up with a Postgresql database, everything works as I expect. When I run the same app but use an SQLite3 db, the id column value never ends up in the db (as seen w/ the sqlite command line app). If I run the app in the perl debugger and set a breakpoint in DBIX::Class::PK::Auto::insert, the next value for the id column is determined corretly and if I ask for the ->id() field of the resulting object I get a value that I expect. It is even incremented correctly with each run of the app. It just never seems to be stored back into the db. I've tried ->update and ->txn_commit on the off chance that I was somehow not automatically flushing changes out to disk, but that didn't help. Before I extract an example that I can share with the group, are there any known screwinesses with auto incrementing columns and SQLite3? Thanks, g. _______________________________________________ List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class Wiki: http://dbix-class.shadowcatsystems.co.uk/ IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/ Searchable Archive: http://www.mail-archive.com/[email protected]/
