mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Avoid core dump in _outPathInfo() for Path without a parent RelOptInfo.
Nearly all Paths have parents, but a ResultPath representing an empty FROM clause does not. Avoid a core dump in such cases. I believe this is only a hazard for debugging usage, not for production, else we'd have heard about it before. Nonetheless, back-patch to 9.1 where the troublesome code was introduced. Noted while poking at bug #11703.
This commit is contained in:
		@@ -1466,7 +1466,10 @@ _outPathInfo(StringInfo str, Path *node)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	WRITE_ENUM_FIELD(pathtype, NodeTag);
 | 
						WRITE_ENUM_FIELD(pathtype, NodeTag);
 | 
				
			||||||
	appendStringInfo(str, " :parent_relids ");
 | 
						appendStringInfo(str, " :parent_relids ");
 | 
				
			||||||
	_outBitmapset(str, node->parent->relids);
 | 
						if (node->parent)
 | 
				
			||||||
 | 
							_outBitmapset(str, node->parent->relids);
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							_outBitmapset(str, NULL);
 | 
				
			||||||
	WRITE_FLOAT_FIELD(startup_cost, "%.2f");
 | 
						WRITE_FLOAT_FIELD(startup_cost, "%.2f");
 | 
				
			||||||
	WRITE_FLOAT_FIELD(total_cost, "%.2f");
 | 
						WRITE_FLOAT_FIELD(total_cost, "%.2f");
 | 
				
			||||||
	WRITE_NODE_FIELD(pathkeys);
 | 
						WRITE_NODE_FIELD(pathkeys);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user