- All
SQL statements are performed in one
- transaction unless you issue a commit transaction. To accomplish
- this auto-transaction behavior, the first statement and the first
- statement after a commit or rollback always begins a new transaction. To
- disable this feature, use the command-line
- option.
+ In the default mode, queries are committed only when exec
+ sql commit is issued.
Ecpg
+ also supports auto-commit of transactions via the
+ command-line option or via the exec
+ sql set autocommit to on statement. In
+ autocommit mode, each query is automatically
+ committed unless it is inside an explicit transaction block. This
+ mode can be explicitly turned off using exec sql set
+ autocommit to off.
-
libpq is thread-safe as of
PostgreSQL 7.0, so long as no two threads
-attempt to manipulate the same PGconn> object at the same time. In particular,
-you cannot issue concurrent queries from different threads through the same
-connection object. (If you need to run concurrent queries, start up multiple
-connections.)
+attempt to manipulate the same PGconn> object at the same
+time. In particular, you cannot issue concurrent queries from different
+threads through the same connection object. (If you need to run
+concurrent queries, start up multiple connections.)
+
+However, libpq clients using the
+crypt encryption method rely on the
+crypt() operating system function, which often is not
+thread-safe. It is better to use MD5 encryption,
+which is guarantted to be thread-safe on all platforms.
-t
- Turn on auto-commit of transactions.
+ Turn on auto-commit of transactions. In this mode, each query is
+ automatically committed unless it is inside an explicit
+ transaction block. In the default mode, queries are committed
+ only when exec sql commit is issued.
missing features.
-
-