compact static method

bool compact(
  1. Configuration config
)

Compacts a Realm file. A Realm file usually contains free/unused space.

This method removes this free space and the file size is thereby reduced. Objects within the Realm file are untouched. Note: The file system should have free space for at least a copy of the Realm file. This method must not be called inside a transaction. The Realm file is left untouched if any file operation fails.

Implementation

static bool compact(Configuration config) {
  if (config is InMemoryConfiguration) {
    throw RealmException("Can't compact an in-memory Realm");
  }

  if (!File(config.path).existsSync()) {
    print("realm file doesn't exist: ${config.path}");
    return false;
  }

  final realm = Realm(config);
  if (config is FlexibleSyncConfiguration) {
    realm.syncSession.pause();
  }
  try {
    return realmCore.compact(realm);
  } finally {
    realm.close();
  }
}