diff --git a/lib/features/postgresql/postgres_browser_views.dart b/lib/features/postgresql/postgres_browser_views.dart index 4b3b23e0..8b4aa8c0 100644 --- a/lib/features/postgresql/postgres_browser_views.dart +++ b/lib/features/postgresql/postgres_browser_views.dart @@ -47,13 +47,6 @@ class _PostgresIndexListViewState @override void dispose() { _scroll.dispose(); - if (_loading) { - PostgresService.instance.interrupt( - widget.connectionRow, - database: widget.database, - mode: PgSessionMode.readOnly, - ); - } _lease?.release(); super.dispose(); } @@ -227,13 +220,6 @@ class _PostgresTriggerListViewState @override void dispose() { _scroll.dispose(); - if (_loading) { - PostgresService.instance.interrupt( - widget.connectionRow, - database: widget.database, - mode: PgSessionMode.readOnly, - ); - } _lease?.release(); super.dispose(); } @@ -399,13 +385,6 @@ class _PostgresTypeListViewState extends material.State { @override void dispose() { _scroll.dispose(); - if (_loading) { - PostgresService.instance.interrupt( - widget.connectionRow, - database: widget.database, - mode: PgSessionMode.readOnly, - ); - } _lease?.release(); super.dispose(); } @@ -551,13 +530,6 @@ class _PostgresExtensionListViewState @override void dispose() { _scroll.dispose(); - if (_loading) { - PostgresService.instance.interrupt( - widget.connectionRow, - database: widget.database, - mode: PgSessionMode.readOnly, - ); - } _lease?.release(); super.dispose(); } @@ -697,13 +669,6 @@ class _PostgresFdwListViewState extends material.State { @override void dispose() { _scroll.dispose(); - if (_loading) { - PostgresService.instance.interrupt( - widget.connectionRow, - database: widget.database, - mode: PgSessionMode.readOnly, - ); - } _lease?.release(); super.dispose(); } diff --git a/lib/features/postgresql/postgres_stats_view.dart b/lib/features/postgresql/postgres_stats_view.dart index bf6a1357..6a575a2f 100644 --- a/lib/features/postgresql/postgres_stats_view.dart +++ b/lib/features/postgresql/postgres_stats_view.dart @@ -60,18 +60,13 @@ class _PostgresStatsViewState extends material.State { @override void dispose() { _timer?.cancel(); - _disconnectCurrent(interruptIfBusy: _loading); + _disconnectCurrent(); super.dispose(); } - void _disconnectCurrent({bool interruptIfBusy = false}) { - if (interruptIfBusy && _loading) { - PostgresService.instance.interrupt( - widget.connectionRow, - database: widget.connectionRow.databaseName ?? 'postgres', - mode: PgSessionMode.readOnly, - ); - } + /// Releases the lease. The session is shared with the object tree, other + /// views and MCP, so closing this view never interrupts it. + void _disconnectCurrent() { _lease?.release(); _lease = null; }