I
got handed a bunch of database functions a while back by my customer. He told
me to get them to work and deploy them. It was a rush job. I fixed some bugs
and got the things to compile. Then I did a few tests and fixed some functional
problems. Then I pushed them out.
Ever
since then, problems have been coming up with the functions and I get pulled in
to resolve them. The goal was to hand these functions over to another team to
maintain. But the other team is busy and says they know nothing about the
business behind the functions. Well neither did I…
This
past Friday, somebody discovered that one of the output tables from the
function was empty. The team who was supposed to assume control of the
functions was called in to investigate. They had no clue what the problem was.
So I got brought in to make sense of the discrepancy.
At
first I just came up with the direct cause of the situation. The records in one
source for the function did not match the records they are supposed to be lined
up with. Therefore, nothing was output. That was not a sufficient answer.
Of
course this was some type of emergency. The valid output was due to some
testers a while back. As a work around, I pumped some test data into the output
table to give the testers something to look at. Then I dug in to find what was
wrong.
The
source table with unmatched records was quite small, thousands of records
instead of millions. So I tracked down what was the problem. Apparently it was
loaded with some test data instead of the real deal. There you go. Problem
solved. Now there was a reason that the real data could not be loaded in, but
that is a whole other story for another day.