最初のバージョンでは,日付とコールサインとモードが一致するという条件にしました.レコードが完璧に抜け落ちていたのは,2QSOのみで,それがいずれもUR2FEO局です.全くの偶然か,そのコールサインだけひっかかるような原因があるか,当時のLog200からMySQLにexportするスクリプトは残っていないので,全く探りようがありません.
この段階で,レコードの不一致があったものは,293件です.全レコード数は,7万9千件ほどなので,0.37%です.先日発表された,東京の新コロナの抗体保有者とコンパラです😓
目だったレコードの不一致は,モードの不一致です.50MHz帯の交信のSSBとCWが入れ替わっていることが多いです.周波数からモードを自動的に決める機能が,50MHzではあだとなっています.交信相手からQSLカードをもらって,気づいて修正しているところが多いです.
MariaDB(かつてはMySQL)のデータは修正しますが,オリジナルのログデータは修正しないことにしているのでこの不整合が発生します.
考えてみれば,ログソフトからMariaDBに取り込むときの漏れを問題にしているので,モードの不一致はドントケアーとします(警告だけ出すようにします).
その代わりに,時刻を±5分のマージンで絞ることにしました.この制限を付けても,全体の処理時間はほとんど変わりません.
そんな感じで何度か試行錯誤して練ってきたほぼ最終版を今走らせています.一度走らせると3時間待たないと結果が出ないので,試行錯誤のサイクルは長いです.
関連項目
- logデータの突き合わせプログラムを書けという自分への指令(1)
- logデータの突き合わせプログラムを書けという自分への指令(2)
- logデータの突き合わせプログラムを書けという自分への指令(3)
- logデータの突き合わせプログラムを書けという自分への指令(5・終)
MariaDBのデータをMacかCore i7のWSに移して,テストすればたぶん何倍か早くなると思いますが,慌てることはないので😓