1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-27 23:21:58 +03:00

Only DISCARD ALL should be in the command_no_begin list.

We allowes DISCARD PLANS and TEMP in a transaction.
This commit is contained in:
Itagaki Takahiro
2010-09-28 15:57:40 +09:00
parent b4f4d022b0
commit 334ca4fef8

View File

@ -1352,8 +1352,20 @@ command_no_begin(const char *query)
return true;
}
/* DISCARD ALL isn't allowed in xacts, but other variants are allowed. */
if (wordlen == 7 && pg_strncasecmp(query, "discard", 7) == 0)
{
query += wordlen;
query = skip_white_space(query);
wordlen = 0;
while (isalpha((unsigned char) query[wordlen]))
wordlen += PQmblen(&query[wordlen], pset.encoding);
if (wordlen == 3 && pg_strncasecmp(query, "all", 3) == 0)
return true;
}
return false;
}