dispose method

  1. @protected
  2. @override
void dispose()

Called by deactivate; should contain the object deactivation code.

If propose throws an Object, the default Actor implementation will call dispose to clean up even a partially initialized object. The deactivate method passes its argument to this method as a thrown argument. A non-null thrown indicates that dispose was called during the handling of a thrown object.

Implementation

@protected
@override
void dispose() {
  if (_txStatus == _TxStatus.txReady) ////
    rollbackTransaction();
  for (var query in _queries.values) ////
    query.deactivate();
  scheme.deactivateUpdatersLookup();
  _beginTransaction?.close();
  _beginTransaction = null;
  _commitTransaction?.close();
  _commitTransaction = null;
  _rollbackTransaction?.close();
  _rollbackTransaction = null;
  _savepoint?.close();
  _savepoint = null;
  _rollbackToSavepoint?.close();
  _rollbackToSavepoint = null;
  _insert?.close();
  _insert = null;
  _updateByRowId?.close();
  _updateByRowId = null;
  _updateByKeyId?.close();
  _updateByKeyId = null;
  _deleteByRowId?.close();
  _deleteByRowId = null;
  _deleteByKeyId?.close();
  _deleteByKeyId = null;
  _existsByRowId?.close();
  _existsByRowId = null;
  _existsByKeyId?.close();
  _existsByKeyId = null;
  _selectByRowId?.close();
  _selectByRowId = null;
  _selectByKeyId?.close();
  _selectByKeyId = null;
  _database?.close();
  _database = null;
  super.dispose();
}