mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-30 00:04:49 -04:00 
			
		
		
		
	Do not write out WCOs in Query
The WithCheckOptions list in Query are only populated during rewrite and do not need to be written out or read in as part of a Query structure. Further, move WithCheckOptions to the bottom and add comments to clarify that it is only populated during rewrite. Back-patch to 9.5 with a catversion bump, as we are still in alpha.
This commit is contained in:
		
							parent
							
								
									2596d705bd
								
							
						
					
					
						commit
						4158cc3793
					
				| @ -2725,7 +2725,6 @@ _copyQuery(const Query *from) | ||||
| 	COPY_NODE_FIELD(rtable); | ||||
| 	COPY_NODE_FIELD(jointree); | ||||
| 	COPY_NODE_FIELD(targetList); | ||||
| 	COPY_NODE_FIELD(withCheckOptions); | ||||
| 	COPY_NODE_FIELD(onConflict); | ||||
| 	COPY_NODE_FIELD(returningList); | ||||
| 	COPY_NODE_FIELD(groupClause); | ||||
| @ -2739,6 +2738,7 @@ _copyQuery(const Query *from) | ||||
| 	COPY_NODE_FIELD(rowMarks); | ||||
| 	COPY_NODE_FIELD(setOperations); | ||||
| 	COPY_NODE_FIELD(constraintDeps); | ||||
| 	COPY_NODE_FIELD(withCheckOptions); | ||||
| 
 | ||||
| 	return newnode; | ||||
| } | ||||
|  | ||||
| @ -906,7 +906,6 @@ _equalQuery(const Query *a, const Query *b) | ||||
| 	COMPARE_NODE_FIELD(rtable); | ||||
| 	COMPARE_NODE_FIELD(jointree); | ||||
| 	COMPARE_NODE_FIELD(targetList); | ||||
| 	COMPARE_NODE_FIELD(withCheckOptions); | ||||
| 	COMPARE_NODE_FIELD(onConflict); | ||||
| 	COMPARE_NODE_FIELD(returningList); | ||||
| 	COMPARE_NODE_FIELD(groupClause); | ||||
| @ -920,6 +919,7 @@ _equalQuery(const Query *a, const Query *b) | ||||
| 	COMPARE_NODE_FIELD(rowMarks); | ||||
| 	COMPARE_NODE_FIELD(setOperations); | ||||
| 	COMPARE_NODE_FIELD(constraintDeps); | ||||
| 	COMPARE_NODE_FIELD(withCheckOptions); | ||||
| 
 | ||||
| 	return true; | ||||
| } | ||||
|  | ||||
| @ -2397,7 +2397,6 @@ _outQuery(StringInfo str, const Query *node) | ||||
| 	WRITE_NODE_FIELD(rtable); | ||||
| 	WRITE_NODE_FIELD(jointree); | ||||
| 	WRITE_NODE_FIELD(targetList); | ||||
| 	WRITE_NODE_FIELD(withCheckOptions); | ||||
| 	WRITE_NODE_FIELD(onConflict); | ||||
| 	WRITE_NODE_FIELD(returningList); | ||||
| 	WRITE_NODE_FIELD(groupClause); | ||||
|  | ||||
| @ -244,7 +244,6 @@ _readQuery(void) | ||||
| 	READ_NODE_FIELD(rtable); | ||||
| 	READ_NODE_FIELD(jointree); | ||||
| 	READ_NODE_FIELD(targetList); | ||||
| 	READ_NODE_FIELD(withCheckOptions); | ||||
| 	READ_NODE_FIELD(onConflict); | ||||
| 	READ_NODE_FIELD(returningList); | ||||
| 	READ_NODE_FIELD(groupClause); | ||||
|  | ||||
| @ -53,6 +53,6 @@ | ||||
|  */ | ||||
| 
 | ||||
| /*							yyyymmddN */ | ||||
| #define CATALOG_VERSION_NO	201510042 | ||||
| #define CATALOG_VERSION_NO	201510052 | ||||
| 
 | ||||
| #endif | ||||
|  | ||||
| @ -130,8 +130,6 @@ typedef struct Query | ||||
| 
 | ||||
| 	List	   *targetList;		/* target list (of TargetEntry) */ | ||||
| 
 | ||||
| 	List	   *withCheckOptions;		/* a list of WithCheckOption's */ | ||||
| 
 | ||||
| 	OnConflictExpr *onConflict; /* ON CONFLICT DO [NOTHING | UPDATE] */ | ||||
| 
 | ||||
| 	List	   *returningList;	/* return-values list (of TargetEntry) */ | ||||
| @ -158,6 +156,10 @@ typedef struct Query | ||||
| 
 | ||||
| 	List	   *constraintDeps; /* a list of pg_constraint OIDs that the query
 | ||||
| 								 * depends on to be semantically valid */ | ||||
| 
 | ||||
| 	List	   *withCheckOptions;	/* a list of WithCheckOption's, which are
 | ||||
| 									 * only added during rewrite and therefore | ||||
| 									 * are not written out as part of Query. */ | ||||
| } Query; | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user