朝、7時20分起き。
7時40分に家を出る。駐輪場で月の料金を支払う。
午前中、ヒマだったが、履歴データを見ているとバグを思わせるログがあったので、そこを直す。データの移動と削除に関する個所だった。
Accessのトランザクション機能を使わずに、削除に失敗したら元に戻す仕組みを拵えていたのだが、削除を実行すると必ずレコードロックされていた。
SQLのDELETE文ではなく、ADOのレコードセットを用いて削除するようにしたらうまくいった。
昼、豚山へ。休みだった。先週月曜も休みだった。月曜は定休日なのを忘れていた。
『晴壱』で味噌ラーメン食べる。支那そばの店なのに味噌ラーメンがあるのは珍しい。
午後、午前中に作った部分を書き直し、トランザクション処理を実装した。SQLをコマンドテキストに放り込み、EXECUTEで実行したとき、ロックされていたらエラー処理に飛べる。そしたらロールバック。最後までエラー処理に飛ばなければコミット。単純な構造だ。
しかし、一時テーブルに値を追加するSQLもExecuteで実行したところ、コミットしても値が入っていなかった。後でWhere条件ミスとわかったのだが、この時はわからなかったので、一時テーブル追加だけRunSQLを使うようにした。
RunSQLによって実行されるSQLは、警告メッセージをオフにすると、ロックされていても実行され、たとえば10件削除しないといけないのに9件しかできないなんてことがある。エラー処理で引っかからないから厄介だ。それを、更新後のデータを更新前と比較し、未更新分を割り出してオレ宛てに送信し、後でまとめて処理するというロジックにしていたので、これまで不都合はなかった。
トランザクション処理をすると、1000件更新処理をしようとした時に1件でもロックされているレコードがあったら更新は中止される。作業者としては、できる分だけでもやって欲しいというのが本音かもしれないが。
歯科医さんと話す。タイガー氏が休むようになって大変らしい。今日もタイガー氏は休みだった。
6時半帰宅。その時間になるともう暗い。
今月は読書が全然進んでいないため、中野区図書館から返却の催促メールがきてしまった。他にも杉並区の図書館からも借りている。先月から読んでいる『赤と黒』下巻もまだ半分だ。
後で見ようと思って録りだめしてきた映画もたまっている。
新しいセーターは前身頃の5分の1ほど編んだ。
シーバス釣りは今週水曜夜を狙ってみる。
バッハのインベンションは、苦手箇所を繰り返し練習しているが、まだ全体がつながらない。沈んでいった鍵盤の方が早く仕上がるかもしれない。
書き作業は夏以来放置されている。
SQL関連の勉強は三カ月くらいあいてしまったため、色々なことを忘れてしまった。
実家から持ってきたネガのスキャナー取り込みがまだ途中だ。写真の中身は大学一年生の連休中に友だちと山に行った時のものだった。
ハゼ釣りは、今年はもうできないかもしれない。
1時前就寝。