[Lazarus] What is a TSQLTransaction and why do I need one?

Alexsander Rosa alexsander.rosa at gmail.com
Fri Nov 26 15:14:11 CET 2010

2010/11/26 Mark Morgan Lloyd <markMLl.lazarus at telemetry.co.uk>

>  I've tried to use sqldb but it adds too much unneeded overhead. Under
>>> PostgreSQL it actually locks the tables for DDL
>>> modifications by default, rendering the development machines ridden with
>>> "IDLE in transaction" connections while the apps
>>> are running, even for mere SELECT's.
> Which locks- Postgres or sqldb?
PostgreSQL gets "locked", I mean, the tables being used by sqldb can't be
modified (new columns, new constraints, etc) while the sqldb connection is
active, even if it's a read-only SELECT. If someone is testing a heavy
report the tables affected can't be changed by the DBA -- it's a major

With DBExpress or Zeos this "problem" does no occur. They use the so-called
"implicit transaction" is some different way that does not lock anything --
it seems they do NOT use any transaction at all unless explicitly requested,
so the PostgreSQL database somehow creates one internally (does it?) that is
different of the explicit ones, I do not know. All I know is this: DBExpress
and Zeos work.

Alexsander da Rosa
Linux User #113925

"Extremismo na defesa da liberdade não é defeito.
Moderação na busca por justiça não é virtude."
-- Barry Goldwater
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20101126/2bf7aadb/attachment-0003.html>

More information about the Lazarus mailing list