truncate method

Future<void> truncate()

Implementation

Future<void> truncate() async {
  if (_closed) return;
  await _flush();
  await _raf.close();

  final file = File(path);
  final rec  = WalRecord(
    op:       WalOp.checkpoint,
    table:    '_global',
    payload:  {'lsn': _lsn, 'ts': DateTime.now().millisecondsSinceEpoch},
    lsn:      _lsn,
    txnId:    0,
    checksum: 0,
  );
  await file.writeAsString('${rec.encode()}\n');

  _raf = await file.open(mode: FileMode.append);
  await _flush();
}