diff options
Diffstat (limited to 'src/backend/tcop')
-rw-r--r-- | src/backend/tcop/postgres.c | 8 | ||||
-rw-r--r-- | src/backend/tcop/utility.c | 24 |
2 files changed, 29 insertions, 3 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 8aae5f5406d..976d366fe78 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.276 2002/07/30 16:55:45 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.277 2002/08/04 04:31:44 momjian Exp $ * * NOTES * this is the "main" module of the postgres backend and @@ -1693,7 +1693,7 @@ PostgresMain(int argc, char *argv[], const char *username) if (!IsUnderPostmaster) { puts("\nPOSTGRES backend interactive interface "); - puts("$Revision: 1.276 $ $Date: 2002/07/30 16:55:45 $\n"); + puts("$Revision: 1.277 $ $Date: 2002/08/04 04:31:44 $\n"); } /* @@ -2160,6 +2160,10 @@ CreateCommandTag(Node *parsetree) tag = "BEGIN"; break; + case START: + tag = "START TRANSACTION"; + break; + case COMMIT: tag = "COMMIT"; break; diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index fd0f10d58aa..8c3af9ac9ce 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.167 2002/07/30 16:55:45 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.168 2002/08/04 04:31:44 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -205,6 +205,28 @@ ProcessUtility(Node *parsetree, BeginTransactionBlock(); break; + /* + * START TRANSACTION, as defined by SQL99: Identical to BEGIN, + * except that it takes a few additional options. + */ + case START: + { + BeginTransactionBlock(); + + /* + * Currently, the only option that can be set is + * the transaction isolation level by START + * TRANSACTION. + */ + if (stmt->options) + { + SetPGVariable("TRANSACTION ISOLATION LEVEL", + stmt->options, + false); + } + } + break; + case COMMIT: EndTransactionBlock(); break; |