mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 00:03:57 -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(rtable); | ||||||
| 	COPY_NODE_FIELD(jointree); | 	COPY_NODE_FIELD(jointree); | ||||||
| 	COPY_NODE_FIELD(targetList); | 	COPY_NODE_FIELD(targetList); | ||||||
| 	COPY_NODE_FIELD(withCheckOptions); |  | ||||||
| 	COPY_NODE_FIELD(onConflict); | 	COPY_NODE_FIELD(onConflict); | ||||||
| 	COPY_NODE_FIELD(returningList); | 	COPY_NODE_FIELD(returningList); | ||||||
| 	COPY_NODE_FIELD(groupClause); | 	COPY_NODE_FIELD(groupClause); | ||||||
| @ -2739,6 +2738,7 @@ _copyQuery(const Query *from) | |||||||
| 	COPY_NODE_FIELD(rowMarks); | 	COPY_NODE_FIELD(rowMarks); | ||||||
| 	COPY_NODE_FIELD(setOperations); | 	COPY_NODE_FIELD(setOperations); | ||||||
| 	COPY_NODE_FIELD(constraintDeps); | 	COPY_NODE_FIELD(constraintDeps); | ||||||
|  | 	COPY_NODE_FIELD(withCheckOptions); | ||||||
| 
 | 
 | ||||||
| 	return newnode; | 	return newnode; | ||||||
| } | } | ||||||
|  | |||||||
| @ -906,7 +906,6 @@ _equalQuery(const Query *a, const Query *b) | |||||||
| 	COMPARE_NODE_FIELD(rtable); | 	COMPARE_NODE_FIELD(rtable); | ||||||
| 	COMPARE_NODE_FIELD(jointree); | 	COMPARE_NODE_FIELD(jointree); | ||||||
| 	COMPARE_NODE_FIELD(targetList); | 	COMPARE_NODE_FIELD(targetList); | ||||||
| 	COMPARE_NODE_FIELD(withCheckOptions); |  | ||||||
| 	COMPARE_NODE_FIELD(onConflict); | 	COMPARE_NODE_FIELD(onConflict); | ||||||
| 	COMPARE_NODE_FIELD(returningList); | 	COMPARE_NODE_FIELD(returningList); | ||||||
| 	COMPARE_NODE_FIELD(groupClause); | 	COMPARE_NODE_FIELD(groupClause); | ||||||
| @ -920,6 +919,7 @@ _equalQuery(const Query *a, const Query *b) | |||||||
| 	COMPARE_NODE_FIELD(rowMarks); | 	COMPARE_NODE_FIELD(rowMarks); | ||||||
| 	COMPARE_NODE_FIELD(setOperations); | 	COMPARE_NODE_FIELD(setOperations); | ||||||
| 	COMPARE_NODE_FIELD(constraintDeps); | 	COMPARE_NODE_FIELD(constraintDeps); | ||||||
|  | 	COMPARE_NODE_FIELD(withCheckOptions); | ||||||
| 
 | 
 | ||||||
| 	return true; | 	return true; | ||||||
| } | } | ||||||
|  | |||||||
| @ -2397,7 +2397,6 @@ _outQuery(StringInfo str, const Query *node) | |||||||
| 	WRITE_NODE_FIELD(rtable); | 	WRITE_NODE_FIELD(rtable); | ||||||
| 	WRITE_NODE_FIELD(jointree); | 	WRITE_NODE_FIELD(jointree); | ||||||
| 	WRITE_NODE_FIELD(targetList); | 	WRITE_NODE_FIELD(targetList); | ||||||
| 	WRITE_NODE_FIELD(withCheckOptions); |  | ||||||
| 	WRITE_NODE_FIELD(onConflict); | 	WRITE_NODE_FIELD(onConflict); | ||||||
| 	WRITE_NODE_FIELD(returningList); | 	WRITE_NODE_FIELD(returningList); | ||||||
| 	WRITE_NODE_FIELD(groupClause); | 	WRITE_NODE_FIELD(groupClause); | ||||||
|  | |||||||
| @ -244,7 +244,6 @@ _readQuery(void) | |||||||
| 	READ_NODE_FIELD(rtable); | 	READ_NODE_FIELD(rtable); | ||||||
| 	READ_NODE_FIELD(jointree); | 	READ_NODE_FIELD(jointree); | ||||||
| 	READ_NODE_FIELD(targetList); | 	READ_NODE_FIELD(targetList); | ||||||
| 	READ_NODE_FIELD(withCheckOptions); |  | ||||||
| 	READ_NODE_FIELD(onConflict); | 	READ_NODE_FIELD(onConflict); | ||||||
| 	READ_NODE_FIELD(returningList); | 	READ_NODE_FIELD(returningList); | ||||||
| 	READ_NODE_FIELD(groupClause); | 	READ_NODE_FIELD(groupClause); | ||||||
|  | |||||||
| @ -53,6 +53,6 @@ | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| /*							yyyymmddN */ | /*							yyyymmddN */ | ||||||
| #define CATALOG_VERSION_NO	201510042 | #define CATALOG_VERSION_NO	201510052 | ||||||
| 
 | 
 | ||||||
| #endif | #endif | ||||||
|  | |||||||
| @ -130,8 +130,6 @@ typedef struct Query | |||||||
| 
 | 
 | ||||||
| 	List	   *targetList;		/* target list (of TargetEntry) */ | 	List	   *targetList;		/* target list (of TargetEntry) */ | ||||||
| 
 | 
 | ||||||
| 	List	   *withCheckOptions;		/* a list of WithCheckOption's */ |  | ||||||
| 
 |  | ||||||
| 	OnConflictExpr *onConflict; /* ON CONFLICT DO [NOTHING | UPDATE] */ | 	OnConflictExpr *onConflict; /* ON CONFLICT DO [NOTHING | UPDATE] */ | ||||||
| 
 | 
 | ||||||
| 	List	   *returningList;	/* return-values list (of TargetEntry) */ | 	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
 | 	List	   *constraintDeps; /* a list of pg_constraint OIDs that the query
 | ||||||
| 								 * depends on to be semantically valid */ | 								 * 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; | } Query; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user