mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Fix EXPLAIN MERGE output when no tuples are processed
An 'else' clause was misplaced in commit 598ac10be1, making zero-rows
output look a bit silly.  Add a test case for it.
Pointed out by Tom Lane.
Discussion: https://postgr.es/m/21030.1652893083@sss.pgh.pa.us
			
			
This commit is contained in:
		@@ -4068,19 +4068,22 @@ show_modifytable_info(ModifyTableState *mtstate, List *ancestors,
 | 
			
		||||
			skipped_path = total - insert_path - update_path - delete_path;
 | 
			
		||||
			Assert(skipped_path >= 0);
 | 
			
		||||
 | 
			
		||||
			if (es->format == EXPLAIN_FORMAT_TEXT && total > 0)
 | 
			
		||||
			if (es->format == EXPLAIN_FORMAT_TEXT)
 | 
			
		||||
			{
 | 
			
		||||
				ExplainIndentText(es);
 | 
			
		||||
				appendStringInfoString(es->str, "Tuples:");
 | 
			
		||||
				if (insert_path > 0)
 | 
			
		||||
					appendStringInfo(es->str, " inserted=%.0f", insert_path);
 | 
			
		||||
				if (update_path > 0)
 | 
			
		||||
					appendStringInfo(es->str, " updated=%.0f", update_path);
 | 
			
		||||
				if (delete_path > 0)
 | 
			
		||||
					appendStringInfo(es->str, " deleted=%.0f", delete_path);
 | 
			
		||||
				if (skipped_path > 0)
 | 
			
		||||
					appendStringInfo(es->str, " skipped=%.0f", skipped_path);
 | 
			
		||||
				appendStringInfoChar(es->str, '\n');
 | 
			
		||||
				if (total > 0)
 | 
			
		||||
				{
 | 
			
		||||
					ExplainIndentText(es);
 | 
			
		||||
					appendStringInfoString(es->str, "Tuples:");
 | 
			
		||||
					if (insert_path > 0)
 | 
			
		||||
						appendStringInfo(es->str, " inserted=%.0f", insert_path);
 | 
			
		||||
					if (update_path > 0)
 | 
			
		||||
						appendStringInfo(es->str, " updated=%.0f", update_path);
 | 
			
		||||
					if (delete_path > 0)
 | 
			
		||||
						appendStringInfo(es->str, " deleted=%.0f", delete_path);
 | 
			
		||||
					if (skipped_path > 0)
 | 
			
		||||
						appendStringInfo(es->str, " skipped=%.0f", skipped_path);
 | 
			
		||||
					appendStringInfoChar(es->str, '\n');
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user