Developers Locked Up

I got a call from some developers on my old team. The customer was having a problem with the applications. The devs traced it back to some home grown locking code. They were confused about some Pro*C code that executed what looked to be an EXEC SQL AT followed by a table name.

Luckily I had traced through this very code about a year and a half ago. In fact, I blogged about it on my Oracle Development Blog. We did not need to consult my blog. I remembered enough about it to explain it to the boys.

This is a construct in Pro*C to execute a SQL statement under a different database connection (session). One usage of this is to do some SQL and commit the changes without affecting any of the ongoing SQL in your current session. That might be needed for some logging, or in the case of my old dev team, if you want to do your own locking.

Previously I had thought that the lack of such knowledge could be fixed by some training. But one of the devs on my old team had gone through Pro*C study and training. When I explained what the SQL did, he seemed to recall a bit of it. I guess training might help you out sometimes. However there is nothing more valuable than hands-on experience.