Version Delphi: 2010 (Update 5)
Version Postgres: libpq 8.4.4 (64)
Version Devart: 1.0.8
Server: SLACKWARE 13.1 - (64)
Windows 7
...
...
try
connection.commitfreeandnil(transaction);
except
connection.rollbackfreeandnil(transaction); <--- ACCESS VIOLATION
---- DATABASE -------------------------------------------------------------
create table test (id serial not null primary key, field text);
create or replace function ft_const_trig() returns trigger as $$
begin
raise exception 'error';
return null;
end;$$ language plpgsql;
create constraint trigger ft_constraint_trigger after insert or update or delete on test
deferrable initially deferred for each row execute procedure ft_const_trig();
Access Violation in trigger constraint
Code
Hello,
var
Transaction: TDBXTransaction;
begin
Table.Open;
Table.Edit;
Table.FieldByName('field').AsString := 'test';
Table.Post;
Transaction := connection.BeginTransaction(TDBXIsolations.ReadCommitted);
try
Table.ApplyUpdates;
connection.commitfreeandnil(transaction);
except
connection.rollbackfreeandnil(transaction); <--- ACCESS VIOLATION
end;
end;
var
Transaction: TDBXTransaction;
begin
Table.Open;
Table.Edit;
Table.FieldByName('field').AsString := 'test';
Table.Post;
Transaction := connection.BeginTransaction(TDBXIsolations.ReadCommitted);
try
Table.ApplyUpdates;
connection.commitfreeandnil(transaction);
except
connection.rollbackfreeandnil(transaction); <--- ACCESS VIOLATION
end;
end;