mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +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:
		@@ -1388,8 +1388,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;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user