diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 3c9bc9cd2d..43ec1a9bf6 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -1,5 +1,5 @@ @@ -857,11 +857,8 @@ returned by the server. maintain the PGresult abstraction. Use the accessor functions below to get at the contents of PGresult. Avoid directly referencing the fields of the PGresult structure because they are subject to change in the future. -(Beginning in PostgreSQL 6.4, the -definition of struct behind PGresult is not even provided in libpq-fe.h. If you -have old code that accesses PGresult fields directly, you can keep using it -by including libpq-int.h too, but you are encouraged to fix the code -soon.) +If autocommit is on, multiple queries sent in a single +function call are processed in a single transaction. diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index f2cf072edc..b00038fed5 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -1,5 +1,5 @@ @@ -86,6 +86,11 @@ PostgreSQL documentation meta-commands. To achieve that, you could pipe the string into psql, like this: echo "\x \\ select * from foo;" | psql. + + + If autocommit is on, multiple queries in a single + string are processed in a single transaction. + diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 752a56a8e0..bbfa4695a3 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.319 2003/03/22 04:23:34 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.320 2003/03/24 18:33:52 momjian Exp $ * * NOTES * this is the "main" module of the postgres backend and @@ -83,6 +83,8 @@ sigjmp_buf Warn_restart; bool Warn_restart_ready = false; bool InError = false; +extern bool autocommit; + static bool EchoQuery = false; /* default don't echo */ /* @@ -893,7 +895,7 @@ pg_exec_query_string(StringInfo query_string, /* string to execute */ * historical Postgres behavior, we do not force a transaction * boundary between queries appearing in a single query string. */ - if (lnext(parsetree_item) == NIL && xact_started) + if ((lnext(parsetree_item) == NIL || !autocommit) && xact_started) { finish_xact_command(false); xact_started = false; @@ -1793,7 +1795,7 @@ PostgresMain(int argc, char *argv[], const char *username) if (!IsUnderPostmaster) { puts("\nPOSTGRES backend interactive interface "); - puts("$Revision: 1.319 $ $Date: 2003/03/22 04:23:34 $\n"); + puts("$Revision: 1.320 $ $Date: 2003/03/24 18:33:52 $\n"); } /*