概ね開発の日々


オヤジニア

今日から俺は

2015/02/09 16:41

Tomohiro Orikasa

  views 

今日から俺は 1

朝方に見つけたバグ(連続してINSERTされた場合に、連番をうまく採番できない)が気になり、昼前から修正しはじめる。まずは、寝る前に書いたコードから不要な部分を削除。非同期で速さと軽さを追い求めるNodeJSのトリッキーなコーディングと、正確さと堅さが必要なデータベースのトランザクション処理は、毎度ながら頭を悩ませる。いっそ最初から同期処理するコードを他の言語で書いてしまおうかとか考えつつ、とりあえずパフォーマンスを落とさぬように試行錯誤。結局 MySQL の AUTO_INCREMENT のお世話になることに。INSERT の前後をトランザクション処理で挟んで、LAST_INSERT_ID()関数で連番を取得することに。おおまかな流れはこんな感じ。

{開始}
START TRANSACTION;
INSERT INTO [対象テーブル] ([フィールドリスト]) VALUES ([値リスト]);
{失敗時 ROLLBACK; 後に抜け}
SELECT LAST_INSERT_ID(); にてAUTO_INCREMENTの値を取得
COMMIT;
{終了}

夕方、訳あって作業中断。夜になって再開しデバッグまで完了。 写真はその翌朝に行ったカフェ。オープンの日だったので早朝から並んでみた。ブレンドがパンチが効いてて美味しかったなぁ。 今日から客先出向。雪で新幹線が遅れ初日から午後から出社に…はてさて、どうなることやらw