diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2004-08-12 21:00:34 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2004-08-12 21:00:34 +0000 |
commit | 7f7e8cc3f2cc95098154a722a6d5c6f61190a043 (patch) | |
tree | c49e2a116b3b09bdbb638ae49a2b3358c7541a6e /src/backend/tcop/utility.c | |
parent | 9e01aaa8bfa4c1684a93dca2ca14a9c8edf3bf9a (diff) | |
download | postgresql-7f7e8cc3f2cc95098154a722a6d5c6f61190a043.tar.gz postgresql-7f7e8cc3f2cc95098154a722a6d5c6f61190a043.zip |
Allow commas in BEGIN, START TRANSACTION, and SET TRANSACTION, as required
by the SQL standard. For backwards compatibility, however, continue to
accept the syntax without. Minor editorialization in the reference pages
for these commands, too.
Diffstat (limited to 'src/backend/tcop/utility.c')
-rw-r--r-- | src/backend/tcop/utility.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index 89ac4843ba8..0fff253a61c 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tcop/utility.c,v 1.224 2004/08/12 19:12:21 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/tcop/utility.c,v 1.225 2004/08/12 21:00:34 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -333,23 +333,21 @@ ProcessUtility(Node *parsetree, case TRANS_STMT_BEGIN: case TRANS_STMT_START: { - BeginTransactionBlock(); + ListCell *lc; - if (stmt->options) + BeginTransactionBlock(); + foreach(lc, stmt->options) { - ListCell *head; - - foreach(head, stmt->options) - { - DefElem *item = (DefElem *) lfirst(head); - - if (strcmp(item->defname, "transaction_isolation") == 0) - SetPGVariable("transaction_isolation", - list_make1(item->arg), false); - else if (strcmp(item->defname, "transaction_read_only") == 0) - SetPGVariable("transaction_read_only", - list_make1(item->arg), false); - } + DefElem *item = (DefElem *) lfirst(lc); + + if (strcmp(item->defname, "transaction_isolation") == 0) + SetPGVariable("transaction_isolation", + list_make1(item->arg), + false); + else if (strcmp(item->defname, "transaction_read_only") == 0) + SetPGVariable("transaction_read_only", + list_make1(item->arg), + false); } } break; |