For a while now I have been taken on my main task at work to help with other emergencies. Just yesterday I wrapped up the last piece of extra work. Today I was happy. I finally got back to writing new code for my main project.
The piece I was adding was pretty simple. It was a dialog with choices initialized from a database table. I was integrating this with an old application. So I followed the pattern I found there. There is a C API to get to the database. Behind the API is Oracle Pro*C code that retrieves a big chunk of memory with the database data.
Here is the funny thing. I kept getting an empty dialog. No problem. I decided to step through the code. Something was wrong with my initial count of the records. I fixed a variable initialization and got the correct count. Still no data in the dialog. Stepping through again showed that my cursor was retrieving all the data correctly. Ooops. I was not passing back the structure properly. Doh. I got to keep up with my C programming, especially when dealing with multiple levels of indirection in pointers.
Mysterious Double Instance Hampering Performance - I study the existing code base. Confer with a colleague. Then I determine the optimal plan to change the functionality to load only a slice of all the dat...