mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Fix some confusing uses of const
There are a few places where we have
    typedef struct FooData { ... } FooData;
    typedef FooData *Foo;
and then function declarations with
    bar(const Foo x)
which isn't incorrect but probably meant
    bar(const FooData *x)
meaning that the thing x points to is immutable, not x itself.
This patch makes those changes where appropriate.  In one
case (execGrouping.c), the thing being pointed to was not immutable,
so in that case remove the const altogether, to avoid further
confusion.
Co-authored-by: Chao Li <li.evan.chao@gmail.com>
Discussion: https://www.postgresql.org/message-id/CAEoWx2m2E0xE8Kvbkv31ULh_E%2B5zph-WA_bEdv3UR9CLhw%2B3vg%40mail.gmail.com
Discussion: https://www.postgresql.org/message-id/CAEoWx2kTDz%3Db6T2xHX78vy_B_osDeCC5dcTCi9eG0vXHp5QpdQ%40mail.gmail.com
			
			
This commit is contained in:
		@@ -356,8 +356,8 @@ heap_force_common(FunctionCallInfo fcinfo, HeapTupleForceOption heap_force_opt)
 | 
				
			|||||||
static int32
 | 
					static int32
 | 
				
			||||||
tidcmp(const void *a, const void *b)
 | 
					tidcmp(const void *a, const void *b)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	ItemPointer iptr1 = ((const ItemPointer) a);
 | 
						const ItemPointerData *iptr1 = a;
 | 
				
			||||||
	ItemPointer iptr2 = ((const ItemPointer) b);
 | 
						const ItemPointerData *iptr2 = b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return ItemPointerCompare(iptr1, iptr2);
 | 
						return ItemPointerCompare(iptr1, iptr2);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -489,7 +489,7 @@ restartScanEntry:
 | 
				
			|||||||
static int
 | 
					static int
 | 
				
			||||||
entryIndexByFrequencyCmp(const void *a1, const void *a2, void *arg)
 | 
					entryIndexByFrequencyCmp(const void *a1, const void *a2, void *arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	const GinScanKey key = (const GinScanKey) arg;
 | 
						const GinScanKeyData *key = arg;
 | 
				
			||||||
	int			i1 = *(const int *) a1;
 | 
						int			i1 = *(const int *) a1;
 | 
				
			||||||
	int			i2 = *(const int *) a2;
 | 
						int			i2 = *(const int *) a2;
 | 
				
			||||||
	uint32		n1 = key->scanEntry[i1]->predictNumberResult;
 | 
						uint32		n1 = key->scanEntry[i1]->predictNumberResult;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -84,7 +84,7 @@
 | 
				
			|||||||
#define MaxBytesPerInteger				7
 | 
					#define MaxBytesPerInteger				7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline uint64
 | 
					static inline uint64
 | 
				
			||||||
itemptr_to_uint64(const ItemPointer iptr)
 | 
					itemptr_to_uint64(const ItemPointerData *iptr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	uint64		val;
 | 
						uint64		val;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -194,7 +194,7 @@ decode_varbyte(unsigned char **ptr)
 | 
				
			|||||||
 * byte at the end, if any, is zero.
 | 
					 * byte at the end, if any, is zero.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
GinPostingList *
 | 
					GinPostingList *
 | 
				
			||||||
ginCompressPostingList(const ItemPointer ipd, int nipd, int maxsize,
 | 
					ginCompressPostingList(const ItemPointerData *ipd, int nipd, int maxsize,
 | 
				
			||||||
					   int *nwritten)
 | 
										   int *nwritten)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	uint64		prev;
 | 
						uint64		prev;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,9 +20,9 @@
 | 
				
			|||||||
#include "miscadmin.h"
 | 
					#include "miscadmin.h"
 | 
				
			||||||
#include "utils/lsyscache.h"
 | 
					#include "utils/lsyscache.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int	TupleHashTableMatch(struct tuplehash_hash *tb, const MinimalTuple tuple1, const MinimalTuple tuple2);
 | 
					static int	TupleHashTableMatch(struct tuplehash_hash *tb, MinimalTuple tuple1, MinimalTuple tuple2);
 | 
				
			||||||
static inline uint32 TupleHashTableHash_internal(struct tuplehash_hash *tb,
 | 
					static inline uint32 TupleHashTableHash_internal(struct tuplehash_hash *tb,
 | 
				
			||||||
												 const MinimalTuple tuple);
 | 
																	 MinimalTuple tuple);
 | 
				
			||||||
static inline TupleHashEntry LookupTupleHashEntry_internal(TupleHashTable hashtable,
 | 
					static inline TupleHashEntry LookupTupleHashEntry_internal(TupleHashTable hashtable,
 | 
				
			||||||
														   TupleTableSlot *slot,
 | 
																			   TupleTableSlot *slot,
 | 
				
			||||||
														   bool *isnew, uint32 hash);
 | 
																			   bool *isnew, uint32 hash);
 | 
				
			||||||
@@ -419,7 +419,7 @@ FindTupleHashEntry(TupleHashTable hashtable, TupleTableSlot *slot,
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
static uint32
 | 
					static uint32
 | 
				
			||||||
TupleHashTableHash_internal(struct tuplehash_hash *tb,
 | 
					TupleHashTableHash_internal(struct tuplehash_hash *tb,
 | 
				
			||||||
							const MinimalTuple tuple)
 | 
												MinimalTuple tuple)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	TupleHashTable hashtable = (TupleHashTable) tb->private_data;
 | 
						TupleHashTable hashtable = (TupleHashTable) tb->private_data;
 | 
				
			||||||
	uint32		hashkey;
 | 
						uint32		hashkey;
 | 
				
			||||||
@@ -517,7 +517,7 @@ LookupTupleHashEntry_internal(TupleHashTable hashtable, TupleTableSlot *slot,
 | 
				
			|||||||
 * See whether two tuples (presumably of the same hash value) match
 | 
					 * See whether two tuples (presumably of the same hash value) match
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
static int
 | 
					static int
 | 
				
			||||||
TupleHashTableMatch(struct tuplehash_hash *tb, const MinimalTuple tuple1, const MinimalTuple tuple2)
 | 
					TupleHashTableMatch(struct tuplehash_hash *tb, MinimalTuple tuple1, MinimalTuple tuple2)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	TupleTableSlot *slot1;
 | 
						TupleTableSlot *slot1;
 | 
				
			||||||
	TupleTableSlot *slot2;
 | 
						TupleTableSlot *slot2;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -364,7 +364,7 @@ tbm_free_shared_area(dsa_area *dsa, dsa_pointer dp)
 | 
				
			|||||||
 * TBMIterateResult when any of these tuples are reported out.
 | 
					 * TBMIterateResult when any of these tuples are reported out.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
tbm_add_tuples(TIDBitmap *tbm, const ItemPointer tids, int ntids,
 | 
					tbm_add_tuples(TIDBitmap *tbm, const ItemPointerData *tids, int ntids,
 | 
				
			||||||
			   bool recheck)
 | 
								   bool recheck)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	BlockNumber currblk = InvalidBlockNumber;
 | 
						BlockNumber currblk = InvalidBlockNumber;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -75,7 +75,7 @@ static bool TS_execute_locations_recurse(QueryItem *curitem,
 | 
				
			|||||||
										 void *arg,
 | 
															 void *arg,
 | 
				
			||||||
										 TSExecuteCallback chkcond,
 | 
															 TSExecuteCallback chkcond,
 | 
				
			||||||
										 List **locations);
 | 
															 List **locations);
 | 
				
			||||||
static int	tsvector_bsearch(const TSVector tsv, char *lexeme, int lexeme_len);
 | 
					static int	tsvector_bsearch(const TSVectorData *tsv, char *lexeme, int lexeme_len);
 | 
				
			||||||
static Datum tsvector_update_trigger(PG_FUNCTION_ARGS, bool config_column);
 | 
					static Datum tsvector_update_trigger(PG_FUNCTION_ARGS, bool config_column);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -83,7 +83,7 @@ static Datum tsvector_update_trigger(PG_FUNCTION_ARGS, bool config_column);
 | 
				
			|||||||
 * Order: haspos, len, word, for all positions (pos, weight)
 | 
					 * Order: haspos, len, word, for all positions (pos, weight)
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
static int
 | 
					static int
 | 
				
			||||||
silly_cmp_tsvector(const TSVector a, const TSVector b)
 | 
					silly_cmp_tsvector(const TSVectorData *a, const TSVectorData *b)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (VARSIZE(a) < VARSIZE(b))
 | 
						if (VARSIZE(a) < VARSIZE(b))
 | 
				
			||||||
		return -1;
 | 
							return -1;
 | 
				
			||||||
@@ -95,8 +95,8 @@ silly_cmp_tsvector(const TSVector a, const TSVector b)
 | 
				
			|||||||
		return 1;
 | 
							return 1;
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		WordEntry  *aptr = ARRPTR(a);
 | 
							const WordEntry *aptr = ARRPTR(a);
 | 
				
			||||||
		WordEntry  *bptr = ARRPTR(b);
 | 
							const WordEntry *bptr = ARRPTR(b);
 | 
				
			||||||
		int			i = 0;
 | 
							int			i = 0;
 | 
				
			||||||
		int			res;
 | 
							int			res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -397,9 +397,9 @@ add_pos(TSVector src, WordEntry *srcptr,
 | 
				
			|||||||
 * found.
 | 
					 * found.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
static int
 | 
					static int
 | 
				
			||||||
tsvector_bsearch(const TSVector tsv, char *lexeme, int lexeme_len)
 | 
					tsvector_bsearch(const TSVectorData *tsv, char *lexeme, int lexeme_len)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	WordEntry  *arrin = ARRPTR(tsv);
 | 
						const WordEntry *arrin = ARRPTR(tsv);
 | 
				
			||||||
	int			StopLow = 0,
 | 
						int			StopLow = 0,
 | 
				
			||||||
				StopHigh = tsv->size,
 | 
									StopHigh = tsv->size,
 | 
				
			||||||
				StopMiddle,
 | 
									StopMiddle,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -333,7 +333,7 @@ typedef struct GinScanKeyData
 | 
				
			|||||||
	bool		curItemMatches;
 | 
						bool		curItemMatches;
 | 
				
			||||||
	bool		recheckCurItem;
 | 
						bool		recheckCurItem;
 | 
				
			||||||
	bool		isFinished;
 | 
						bool		isFinished;
 | 
				
			||||||
}			GinScanKeyData;
 | 
					} GinScanKeyData;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct GinScanEntryData
 | 
					typedef struct GinScanEntryData
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -478,7 +478,7 @@ extern void ginInsertCleanup(GinState *ginstate, bool full_clean,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* ginpostinglist.c */
 | 
					/* ginpostinglist.c */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern GinPostingList *ginCompressPostingList(const ItemPointer ipd, int nipd,
 | 
					extern GinPostingList *ginCompressPostingList(const ItemPointerData *ipd, int nipd,
 | 
				
			||||||
											  int maxsize, int *nwritten);
 | 
																  int maxsize, int *nwritten);
 | 
				
			||||||
extern int	ginPostingListDecodeAllSegmentsToTbm(GinPostingList *ptr, int len, TIDBitmap *tbm);
 | 
					extern int	ginPostingListDecodeAllSegmentsToTbm(GinPostingList *ptr, int len, TIDBitmap *tbm);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -85,7 +85,7 @@ extern void tbm_free(TIDBitmap *tbm);
 | 
				
			|||||||
extern void tbm_free_shared_area(dsa_area *dsa, dsa_pointer dp);
 | 
					extern void tbm_free_shared_area(dsa_area *dsa, dsa_pointer dp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern void tbm_add_tuples(TIDBitmap *tbm,
 | 
					extern void tbm_add_tuples(TIDBitmap *tbm,
 | 
				
			||||||
						   const ItemPointer tids, int ntids,
 | 
											   const ItemPointerData *tids, int ntids,
 | 
				
			||||||
						   bool recheck);
 | 
											   bool recheck);
 | 
				
			||||||
extern void tbm_add_page(TIDBitmap *tbm, BlockNumber pageno);
 | 
					extern void tbm_add_page(TIDBitmap *tbm, BlockNumber pageno);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1076,6 +1076,7 @@ GinQualCounts
 | 
				
			|||||||
GinScanEntry
 | 
					GinScanEntry
 | 
				
			||||||
GinScanItem
 | 
					GinScanItem
 | 
				
			||||||
GinScanKey
 | 
					GinScanKey
 | 
				
			||||||
 | 
					GinScanKeyData
 | 
				
			||||||
GinScanOpaque
 | 
					GinScanOpaque
 | 
				
			||||||
GinScanOpaqueData
 | 
					GinScanOpaqueData
 | 
				
			||||||
GinSegmentInfo
 | 
					GinSegmentInfo
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user