2006年08月09日

新人さん歓迎会。

1個下の後輩に、うちの新人2人と、お客さんとこの新人3人の合計5人のチームの
リーダーをさせている。

今日はそのチームの宴会。

なはずだったんだけど、俺だけ仕事。

データベースの情報を暗号/復号してくれるサーバー的なソフトウエアがあるんだけど、
そいつに更新系のSQLを配列に溜め込んでネットワークのラウンドトリップも1回で、
ガツンと実行するってのを取り込んでもらってて。

ってか今までは addBatch/executeBatch しても、
結局そのソフトウエアからデータベースに、1件1件executeしてるだけだった。

相当そのベンダーに文句言って、絶対デグレードしないように、
きっちりバージョンアップしやがれ!なんてことになってたんだけど。

レグレッションテストやってたら、そいつが思いっきりデグレードしやがって。

ドライバをデコンパイルしてソース追っかけたら。
考慮もないひどいコーディング。ってか単体テストやったか?
まぁひどい話ですよ。

とりあえず、俺の解析結果をそのベンダーに送りつけて。

そしたら、もう一発問題が発覚。

このプロダクト使うと、StatementとResultSetは運命共同体。
そうじゃないとExceptionをスローしちゃったり。

例えばgetResultSetとかいうメソッド作ったりしますよね?
executeQueryして受け取ったResultSetをreturnして、
受け取った側でResultSetをnextしながらwhile文で〜、

なんて一般的だと思うんです。

そしたらreturnした後に、StatementがGCの対象になった時に、
finalizeメソッドでResultSetもサヨナラされちゃうようになってると。

あーあー。なんかムカつく。
俺全然悪くねぇのによー、なんて最強にフテくされ。

でも、遅れて飲み会にいって、ちゃっかり盛り上がっちゃうわけです。
もうお客さんとも相当仲良くなったから。
飲み会もフツウに楽しめる。

帰りはお客さんの新人さんと一緒になって。
なんだか話してるだけで、目の輝きが違うわけです。

俺にもそんな時代があったんだよなぁなんて。。

コメント

タイトルとURLをコピーしました