Michael Van Canneyt wrote:

Well, you always need a transaction. Without a transaction, Postgres
will do nothing, ever.

I assume you are used to the fact that postgres automatically creates an
transaction for you. With Sqldb you have to do this yourself.

Please excuse me for threading onto a fairly old message. In the specific case of PostgreSQL, if I use SELECT * FROM pg_stat_activity to examine backend state I can see that a Lazarus TSQLQuery, i.e. that has to have an associated transaction object, is explicitly marked as being in a transaction, while other methods of access (Delphi+BDE, PGAdmin3) are not.

This is one of the things we must still address: close the transaction after the data has been fetched. (or rather: keep data available in case the transaction is closed)

I've not had a chance to investigate exactly what the backend thinks Delphi etc. is doing, but long-lived connections caused in particular by db-aware components could be bad news when it comes to server pooling, failover and so on. Long-lived transactions definitely will be.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to