mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Make EXPLAIN MERGE output format more compact
We can use a single line to print all tuple counts that MERGE processed, for conciseness, and elide those that are zeroes. Non-text formats report all numbers, as is typical. Per comment from Justin Pryzby <pryzby@telsasoft.com> Discussion: https://postgr.es/m/20220511163350.GL19626@telsasoft.com
This commit is contained in:
		@@ -4068,10 +4068,27 @@ show_modifytable_info(ModifyTableState *mtstate, List *ancestors,
 | 
			
		||||
			skipped_path = total - insert_path - update_path - delete_path;
 | 
			
		||||
			Assert(skipped_path >= 0);
 | 
			
		||||
 | 
			
		||||
			ExplainPropertyFloat("Tuples Inserted", NULL, insert_path, 0, es);
 | 
			
		||||
			ExplainPropertyFloat("Tuples Updated", NULL, update_path, 0, es);
 | 
			
		||||
			ExplainPropertyFloat("Tuples Deleted", NULL, delete_path, 0, es);
 | 
			
		||||
			ExplainPropertyFloat("Tuples Skipped", NULL, skipped_path, 0, es);
 | 
			
		||||
			if (es->format == EXPLAIN_FORMAT_TEXT && 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
 | 
			
		||||
			{
 | 
			
		||||
				ExplainPropertyFloat("Tuples Inserted", NULL, insert_path, 0, es);
 | 
			
		||||
				ExplainPropertyFloat("Tuples Updated", NULL, update_path, 0, es);
 | 
			
		||||
				ExplainPropertyFloat("Tuples Deleted", NULL, delete_path, 0, es);
 | 
			
		||||
				ExplainPropertyFloat("Tuples Skipped", NULL, skipped_path, 0, es);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user