1
0
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:
Peter Eisentraut
2025-10-30 10:44:36 +01:00
parent 9fcd4874ed
commit 8ce795fcb7
9 changed files with 20 additions and 19 deletions

View File

@@ -356,8 +356,8 @@ heap_force_common(FunctionCallInfo fcinfo, HeapTupleForceOption heap_force_opt)
static int32
tidcmp(const void *a, const void *b)
{
ItemPointer iptr1 = ((const ItemPointer) a);
ItemPointer iptr2 = ((const ItemPointer) b);
const ItemPointerData *iptr1 = a;
const ItemPointerData *iptr2 = b;
return ItemPointerCompare(iptr1, iptr2);
}

View File

@@ -489,7 +489,7 @@ restartScanEntry:
static int
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 i2 = *(const int *) a2;
uint32 n1 = key->scanEntry[i1]->predictNumberResult;

View File

@@ -84,7 +84,7 @@
#define MaxBytesPerInteger 7
static inline uint64
itemptr_to_uint64(const ItemPointer iptr)
itemptr_to_uint64(const ItemPointerData *iptr)
{
uint64 val;
@@ -194,7 +194,7 @@ decode_varbyte(unsigned char **ptr)
* byte at the end, if any, is zero.
*/
GinPostingList *
ginCompressPostingList(const ItemPointer ipd, int nipd, int maxsize,
ginCompressPostingList(const ItemPointerData *ipd, int nipd, int maxsize,
int *nwritten)
{
uint64 prev;

View File

@@ -20,9 +20,9 @@
#include "miscadmin.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,
const MinimalTuple tuple);
MinimalTuple tuple);
static inline TupleHashEntry LookupTupleHashEntry_internal(TupleHashTable hashtable,
TupleTableSlot *slot,
bool *isnew, uint32 hash);
@@ -419,7 +419,7 @@ FindTupleHashEntry(TupleHashTable hashtable, TupleTableSlot *slot,
*/
static uint32
TupleHashTableHash_internal(struct tuplehash_hash *tb,
const MinimalTuple tuple)
MinimalTuple tuple)
{
TupleHashTable hashtable = (TupleHashTable) tb->private_data;
uint32 hashkey;
@@ -517,7 +517,7 @@ LookupTupleHashEntry_internal(TupleHashTable hashtable, TupleTableSlot *slot,
* See whether two tuples (presumably of the same hash value) match
*/
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 *slot2;

View File

@@ -364,7 +364,7 @@ tbm_free_shared_area(dsa_area *dsa, dsa_pointer dp)
* TBMIterateResult when any of these tuples are reported out.
*/
void
tbm_add_tuples(TIDBitmap *tbm, const ItemPointer tids, int ntids,
tbm_add_tuples(TIDBitmap *tbm, const ItemPointerData *tids, int ntids,
bool recheck)
{
BlockNumber currblk = InvalidBlockNumber;

View File

@@ -75,7 +75,7 @@ static bool TS_execute_locations_recurse(QueryItem *curitem,
void *arg,
TSExecuteCallback chkcond,
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);
@@ -83,7 +83,7 @@ static Datum tsvector_update_trigger(PG_FUNCTION_ARGS, bool config_column);
* Order: haspos, len, word, for all positions (pos, weight)
*/
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))
return -1;
@@ -95,8 +95,8 @@ silly_cmp_tsvector(const TSVector a, const TSVector b)
return 1;
else
{
WordEntry *aptr = ARRPTR(a);
WordEntry *bptr = ARRPTR(b);
const WordEntry *aptr = ARRPTR(a);
const WordEntry *bptr = ARRPTR(b);
int i = 0;
int res;
@@ -397,9 +397,9 @@ add_pos(TSVector src, WordEntry *srcptr,
* found.
*/
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,
StopHigh = tsv->size,
StopMiddle,

View File

@@ -478,7 +478,7 @@ extern void ginInsertCleanup(GinState *ginstate, bool full_clean,
/* ginpostinglist.c */
extern GinPostingList *ginCompressPostingList(const ItemPointer ipd, int nipd,
extern GinPostingList *ginCompressPostingList(const ItemPointerData *ipd, int nipd,
int maxsize, int *nwritten);
extern int ginPostingListDecodeAllSegmentsToTbm(GinPostingList *ptr, int len, TIDBitmap *tbm);

View File

@@ -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_add_tuples(TIDBitmap *tbm,
const ItemPointer tids, int ntids,
const ItemPointerData *tids, int ntids,
bool recheck);
extern void tbm_add_page(TIDBitmap *tbm, BlockNumber pageno);

View File

@@ -1076,6 +1076,7 @@ GinQualCounts
GinScanEntry
GinScanItem
GinScanKey
GinScanKeyData
GinScanOpaque
GinScanOpaqueData
GinSegmentInfo