fix: crash after canceling query

Refs #2426
This commit is contained in:
Ansgar Becker
2026-03-11 08:53:03 +01:00
parent e5d762754a
commit 9419d123d6
2 changed files with 6 additions and 1 deletions

View File

@@ -434,6 +434,7 @@ type
FServerUptime: Integer;
FServerDateTimeOnStartup: String;
FParameters: TConnectionParameters;
FOwnsParameters: Boolean;
FSecureShellCmd: TSecureShellCmd;
FDatabase: String;
FAllDatabases: TStringList;
@@ -560,6 +561,7 @@ type
function ApplyLimitClause(QueryType, QueryBody: String; Limit, Offset: Int64): String;
function LikeClauseTail: String;
property Parameters: TConnectionParameters read FParameters write FParameters;
property OwnsParameters: Boolean read FOwnsParameters write FOwnsParameters;
property ThreadId: Int64 read GetThreadId;
property ConnectionUptime: Integer read GetConnectionUptime;
property ServerUptime: Integer read GetServerUptime;
@@ -2099,6 +2101,7 @@ constructor TDBConnection.Create(AOwner: TComponent);
begin
inherited;
FParameters := TConnectionParameters.Create;
FOwnsParameters := True;
FRowsFound := 0;
FRowsAffected := 0;
FWarningCount := 0;
@@ -2218,7 +2221,8 @@ begin
FKeepAliveTimer.Free;
FFavorites.Free;
FInformationSchemaObjects.Free;
FParameters.Free;
if FOwnsParameters then
FParameters.Free;
inherited;
end;

View File

@@ -14043,6 +14043,7 @@ begin
Tab.ExecutionThread.Aborted := True;
Killer := ActiveConnection.Parameters.CreateConnection(Self);
Killer.Parameters := ActiveConnection.Parameters;
Killer.OwnsParameters := False;
Killer.LogPrefix := _('Helper connection');
Killer.OnLog := LogSQL;
try