ログファイルを統合する際、4Dは最初のエラーで停止し、いかなるエラーメッセージも返しません。統合エラーの理由は、例えば、ハードディスクの不良や書き込み時のソフトウェアエラーなど、ログの破損が考えられます。そのエラーが最後に発生した場合は問題ありませんが、ログの最初や途中でも発生する可能性があります。この場合、エラーの後のデータが役に立つかもしれません。
さて、標準モードでの統合に失敗した場合、自動修復モードでの統合を試してみることができます。この場合、4Dは遭遇したエラーの解決を試み、統合を停止せず、エラーリストを返します。
4Dによって自動的に修正されるエラーは、以下の通りです。
- ジャーナルがレコードの追加を要求したが、そのレコードがすでにデータ内に存在する場合、4Dはそのレコードを更新します。
- ジャーナルがレコードの更新を要求したが、そのレコードが存在しない場合、4Dはそのレコードを追加します。
- ジャーナルがレコードの削除を要求したが、このレコードが存在しない場合、4D は何も行いません。
新しいコマンドのシンタックスは以下の通りです。
INTEGRATE MIRROR LOG FILE(pathName ; operationNum ; {numMode {; errObject}})
- pathName。統合するログファイルの名前またはパス名
- operationNum:最後に統合された操作の番号(ファイル全体を統合する場合は-2)
- numMode: ストリクトモード(実機モード)の場合は0、自動修復の場合は1
- errObject: オブジェクト
errObjectの例です。
{"operations":
It(1):0、(2):0、(3):0、(4):0。
[
{
"operationType":24,
"operationName": "Create record",
"operationNumber":2,
"contextID":48,
"timeStamp": "2015-07-10T07:53:02.413Z",
"dataLen":24,
"recordNumber":0,
"tableID": "F4CXXXXX",
"tableName": "Customers",
"fields".{
}.
"1":9、
"2":"テスト値"、
"3":"2003-03-03t00:00:00.000z",
"4":"BlobPath。Table 1/Field 4/Data_9ACB28F1A2744FDFA5822B22F18B2E12.png",
"8"。"BlobID: 2"
}
},
{...}
]
新機能のデモを行うためのサンプルデータベースを用意しています。
注意: INTEGRATE MIRROR LOG FILE コマンドは 4D Server でしか使えません。新しい統合モードをテストしたい場合は、4D Serverでこのデータベースを開く必要があります。
詳しくは、4D v15 R4 アップグレードマニュアルをご覧ください。