From 07b929eb8fe3d9cff56c47da55193258d4e3b3e6 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 22 Sep 2025 14:47:48 +0200 Subject: [PATCH 18/23] C11 anonymous unions [tsrank] --- src/backend/utils/adt/tsrank.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/backend/utils/adt/tsrank.c b/src/backend/utils/adt/tsrank.c index e863aa58653..1354520a5e9 100644 --- a/src/backend/utils/adt/tsrank.c +++ b/src/backend/utils/adt/tsrank.c @@ -516,7 +516,7 @@ typedef struct QueryItem *item; WordEntry *entry; } map; - } data; + }; WordEntryPos pos; } DocRepresentation; @@ -530,10 +530,10 @@ compareDocR(const void *va, const void *vb) { if (WEP_GETWEIGHT(a->pos) == WEP_GETWEIGHT(b->pos)) { - if (a->data.map.entry == b->data.map.entry) + if (a->map.entry == b->map.entry) return 0; - return (a->data.map.entry > b->data.map.entry) ? 1 : -1; + return (a->map.entry > b->map.entry) ? 1 : -1; } return (WEP_GETWEIGHT(a->pos) > WEP_GETWEIGHT(b->pos)) ? 1 : -1; @@ -614,12 +614,12 @@ fillQueryRepresentationData(QueryRepresentation *qr, DocRepresentation *entry) int lastPos; QueryRepresentationOperand *opData; - for (i = 0; i < entry->data.query.nitem; i++) + for (i = 0; i < entry->query.nitem; i++) { - if (entry->data.query.items[i]->type != QI_VAL) + if (entry->query.items[i]->type != QI_VAL) continue; - opData = QR_GET_OPERAND_DATA(qr, entry->data.query.items[i]); + opData = QR_GET_OPERAND_DATA(qr, entry->query.items[i]); opData->operandexists = true; @@ -790,8 +790,8 @@ get_docrep(TSVector txt, QueryRepresentation *qr, int *doclen) curoperand->weight & (1 << WEP_GETWEIGHT(post[j]))) { doc[cur].pos = post[j]; - doc[cur].data.map.entry = entry; - doc[cur].data.map.item = (QueryItem *) curoperand; + doc[cur].map.entry = entry; + doc[cur].map.item = (QueryItem *) curoperand; cur++; } } @@ -815,26 +815,26 @@ get_docrep(TSVector txt, QueryRepresentation *qr, int *doclen) * Join QueryItem per WordEntry and its position */ storage.pos = doc->pos; - storage.data.query.items = palloc(sizeof(QueryItem *) * qr->query->size); - storage.data.query.items[0] = doc->data.map.item; - storage.data.query.nitem = 1; + storage.query.items = palloc(sizeof(QueryItem *) * qr->query->size); + storage.query.items[0] = doc->map.item; + storage.query.nitem = 1; while (rptr - doc < cur) { if (rptr->pos == (rptr - 1)->pos && - rptr->data.map.entry == (rptr - 1)->data.map.entry) + rptr->map.entry == (rptr - 1)->map.entry) { - storage.data.query.items[storage.data.query.nitem] = rptr->data.map.item; - storage.data.query.nitem++; + storage.query.items[storage.query.nitem] = rptr->map.item; + storage.query.nitem++; } else { *wptr = storage; wptr++; storage.pos = rptr->pos; - storage.data.query.items = palloc(sizeof(QueryItem *) * qr->query->size); - storage.data.query.items[0] = rptr->data.map.item; - storage.data.query.nitem = 1; + storage.query.items = palloc(sizeof(QueryItem *) * qr->query->size); + storage.query.items[0] = rptr->map.item; + storage.query.nitem = 1; } rptr++; -- 2.51.0