diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 3c9bc9cd2d7f026c1ccb7cf63ae534ad8d9e4542..43ec1a9bf6a34b4f47f26d71f6826b94a770a0b5 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 f2cf072edc7fe605d6ec328daeb402bee55805a1..b00038fed51871c4265f5978e1d97fd3745ff2ce 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 752a56a8e0f5eb613717e552b8cc160ee92606da..bbfa4695a3b534078f8db537e3ff0fedcbb0cf54 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"); } /*