At the moment in DBD::SQLite I have to use the API to get an entire select results into memory and then loop through that for fetch() calls. This is a bit annoying because it uses lots of memory for large result sets.
Internally SQLite implements a callback mechanism (sort of like SAX) but this doesn't work with the DBI's model of working, so we have to use the above.
Thankfully the SQLite team has added a non callback streaming API into CVS, so at some point I'll convert DBD::SQLite to use this.
Even more interesting is that the model looks almost exactly like how the DBI is written, so the code will get even simpler in the next release. Woot.
maybe not an accident (Score:2)
Re:maybe not an accident (Score:2)
I would expect either Matt told them what they needed to do, or else the SQLite developers naturally figured out on their own that there was a better way of doing things. If it works well for DBI, it'll work well for other software packages, too.
J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
Re:maybe not an accident (Score:2)
Good to see it developing so fast though. Maybe next we'll be able to store binary data (if only!).
Re:maybe not an accident (Score:2)