Close the connection and clean up resources
@override Future<void> dispose() async { final pool = _pool; if (pool != null) { await pool.close(); } else { await _connection?.close(); } }