mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Track in the plan the types associated with PARAM_EXEC parameters.
Up until now, we only tracked the number of parameters, which was sufficient to allocate an array of Datums of the appropriate size, but not sufficient to, for example, know how to serialize a Datum stored in one of those slots. An upcoming patch wants to do that, so add this tracking to make it possible. Patch by me, reviewed by Tom Lane and Amit Kapila. Discussion: http://postgr.es/m/CA+TgmoYqpxDKn8koHdW8BEKk8FMUL0=e8m2Qe=M+r0UBjr3tuQ@mail.gmail.com
This commit is contained in:
		@@ -114,7 +114,7 @@ typedef struct PlannerGlobal
 | 
			
		||||
 | 
			
		||||
	List	   *invalItems;		/* other dependencies, as PlanInvalItems */
 | 
			
		||||
 | 
			
		||||
	int			nParamExec;		/* number of PARAM_EXEC Params used */
 | 
			
		||||
	List	   *paramExecTypes; /* type OIDs for PARAM_EXEC Params */
 | 
			
		||||
 | 
			
		||||
	Index		lastPHId;		/* highest PlaceHolderVar ID assigned */
 | 
			
		||||
 | 
			
		||||
@@ -2219,8 +2219,8 @@ typedef struct MinMaxAggInfo
 | 
			
		||||
 * from subplans (values that are setParam items for those subplans).  These
 | 
			
		||||
 * IDs need not be tracked via PlannerParamItems, since we do not need any
 | 
			
		||||
 * duplicate-elimination nor later processing of the represented expressions.
 | 
			
		||||
 * Instead, we just record the assignment of the slot number by incrementing
 | 
			
		||||
 * root->glob->nParamExec.
 | 
			
		||||
 * Instead, we just record the assignment of the slot number by appending to
 | 
			
		||||
 * root->glob->paramExecTypes.
 | 
			
		||||
 */
 | 
			
		||||
typedef struct PlannerParamItem
 | 
			
		||||
{
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user