Page 1 of 1

Rollback on Disconnect

Posted: 18.06.2010, 01:29
by instinctfx.net
Hey

I have this application which runs fine when FB is on windows but as soon as the db is on linux i get issues with this part of the Close method on Zeos 6.6.6

Code: Select all

  if FTrHandle <> nil then
  begin
    if AutoCommit then
    begin
      FPlainDriver.isc_commit_transaction(@FStatusVector, @FTrHandle);
      DriverManager.LogMessage(lcTransaction, FPlainDriver.GetProtocol,
        Format('COMMITT TRANSACTION "%s"', [Database]));
    end else begin
      FPlainDriver.isc_rollback_transaction(@FStatusVector, @FTrHandle);
      DriverManager.LogMessage(lcTransaction, FPlainDriver.GetProtocol,
        Format('ROLLBACK TRANSACTION "%s"', [Database]));
    end;
    FTrHandle := nil;
    CheckInterbase6Error(FPlainDriver, FStatusVector, lcDisconnect);
  end;
It says AutoCommit is FALSE when its set to true in the connection component hence this method is being executed for some reason

Code: Select all

FPlainDriver.isc_rollback_transaction(@FStatusVector, @FTrHandle);

This only seems to happen on linux, ive managed to get this working fine on windows vista (7 is another issue altogether)

On linux the permissions on the directory and file are set correctly

Am i missing something here ?

Posted: 20.06.2010, 22:35
by seawolf
Which FB version are you using? I remember until version 2.1.2 there was a problem on FORCE WRITE flag on linux, which could cause the problem you expliained to us.