aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tcop
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/tcop')
-rw-r--r--src/backend/tcop/postgres.c8
-rw-r--r--src/backend/tcop/utility.c24
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;