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;
 | 
								return true;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* DISCARD ALL isn't allowed in xacts, but other variants are allowed. */
 | 
				
			||||||
	if (wordlen == 7 && pg_strncasecmp(query, "discard", 7) == 0)
 | 
						if (wordlen == 7 && pg_strncasecmp(query, "discard", 7) == 0)
 | 
				
			||||||
		return true;
 | 
						{
 | 
				
			||||||
 | 
							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;
 | 
						return false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user