I noticed some interesting things about the step function. I have a query with a MAX in it; hence, it always returns one row. (Well, it returns one row every time I use the step function and when I use the sqlite3.exe browser, but the sqlite3_exec function does not run the callback in the case where all the return data was empty.) Now if I use the return data and then call the reset function, it takes the same amount of time as if I call the step function again and then the reset function. Apparently it cannot tell it is on the last row. It just seems strange to me that the reset functionality or the functionality to acquire the SQLITE_DONE signal is the equivalent of another step call time-wise. From the profiler, it appears that most of the time is in memory deallocation. That is strange because there is very little time spent in memory allocation in general. Maybe the memory is allocated in blocks, but deallocated one piece at a time. ______________________________ Brannon King ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯