Remove useless casting to same type
authorPeter Eisentraut <peter@eisentraut.org>
Tue, 2 Dec 2025 09:05:12 +0000 (10:05 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Tue, 2 Dec 2025 09:09:32 +0000 (10:09 +0100)
This removes some casts where the input already has the same type as
the type specified by the cast.  Their presence could cause risks of
hiding actual type mismatches in the future or silently discarding
qualifiers.  It also improves readability.  Same kind of idea as
7f798aca1d5 and ef8fe693606.  (This does not change all such
instances, but only those hand-picked by the author.)

Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Reviewed-by: Nathan Bossart <nathandbossart@gmail.com>
Reviewed-by: Jacob Champion <jacob.champion@enterprisedb.com>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://www.postgresql.org/message-id/flat/aSQy2JawavlVlEB0%40ip-10-97-1-34.eu-west-3.compute.internal

41 files changed:
contrib/btree_gist/btree_utils_num.c
contrib/cube/cube.c
contrib/fuzzystrmatch/dmetaphone.c
contrib/pgcrypto/mbuf.c
src/backend/access/common/indextuple.c
src/backend/access/gin/gindatapage.c
src/backend/access/gin/gininsert.c
src/backend/access/hash/hash_xlog.c
src/backend/access/transam/twophase.c
src/backend/catalog/aclchk.c
src/backend/commands/tablecmds.c
src/backend/executor/execExpr.c
src/backend/executor/execExprInterp.c
src/backend/executor/execPartition.c
src/backend/executor/nodeTableFuncscan.c
src/backend/optimizer/geqo/geqo_pool.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/util/pathnode.c
src/backend/parser/analyze.c
src/backend/parser/parse_expr.c
src/backend/port/sysv_shmem.c
src/backend/replication/walsender.c
src/backend/rewrite/rewriteHandler.c
src/backend/statistics/dependencies.c
src/backend/statistics/extended_stats.c
src/backend/statistics/mcv.c
src/backend/storage/aio/aio.c
src/backend/storage/aio/method_io_uring.c
src/backend/storage/ipc/waiteventset.c
src/backend/storage/lmgr/predicate.c
src/backend/storage/lmgr/proc.c
src/backend/utils/adt/arrayfuncs.c
src/backend/utils/adt/jsonfuncs.c
src/backend/utils/adt/ruleutils.c
src/bin/pg_dump/pg_dump.c
src/common/sha1.c
src/interfaces/ecpg/ecpglib/descriptor.c
src/interfaces/ecpg/ecpglib/execute.c
src/interfaces/ecpg/ecpglib/prepare.c
src/port/win32ntdll.c
src/test/modules/test_radixtree/test_radixtree.c

index 446fa930b92c48831de5a34873062352fc15a28b..9ba97f96fbfc44fd4a78fd8a343d72c55878320c 100644 (file)
@@ -181,8 +181,8 @@ gbt_num_union(GBT_NUMKEY *out, const GistEntryVector *entryvec, const gbtree_nin
    cur = (GBT_NUMKEY *) DatumGetPointer((entryvec->vector[0].key));
 
 
-   o.lower = &((GBT_NUMKEY *) out)[0];
-   o.upper = &((GBT_NUMKEY *) out)[tinfo->size];
+   o.lower = &out[0];
+   o.upper = &out[tinfo->size];
 
    memcpy(out, cur, 2 * tinfo->size);
 
index 8d3654ab7aafe2fcea654f3b2689787b8e00c7e0..aa47e141f810c2431c42d2b03bc32b18c19d4031 100644 (file)
@@ -718,16 +718,16 @@ g_cube_internal_consistent(NDBOX *key,
    switch (strategy)
    {
        case RTOverlapStrategyNumber:
-           retval = (bool) cube_overlap_v0(key, query);
+           retval = cube_overlap_v0(key, query);
            break;
        case RTSameStrategyNumber:
        case RTContainsStrategyNumber:
        case RTOldContainsStrategyNumber:
-           retval = (bool) cube_contains_v0(key, query);
+           retval = cube_contains_v0(key, query);
            break;
        case RTContainedByStrategyNumber:
        case RTOldContainedByStrategyNumber:
-           retval = (bool) cube_overlap_v0(key, query);
+           retval = cube_overlap_v0(key, query);
            break;
        default:
            retval = false;
index 6627b2b89433acb140b0a57dac28d54179727eb2..227d8b11ddca85f0b75d2522c0062b5799e418ca 100644 (file)
@@ -327,7 +327,7 @@ GetAt(metastring *s, int pos)
    if ((pos < 0) || (pos >= s->length))
        return '\0';
 
-   return ((char) *(s->str + pos));
+   return *(s->str + pos);
 }
 
 
index 99f8957b00414fb9b4973da917db1dc86d8e5a14..8dfc1b39d48deb3bca33dcfe4bfb2f58332c14c2 100644 (file)
@@ -133,7 +133,7 @@ mbuf_create_from_data(uint8 *data, int len)
    MBuf       *mbuf;
 
    mbuf = palloc(sizeof *mbuf);
-   mbuf->data = (uint8 *) data;
+   mbuf->data = data;
    mbuf->buf_end = mbuf->data + len;
    mbuf->data_end = mbuf->data + len;
    mbuf->read_pos = mbuf->data;
index 1986b943a28bed2643b2bc4a5716d097648c875e..3efa3889c6f5b79eac9b5aa47229f59fcb72202c 100644 (file)
@@ -172,7 +172,7 @@ index_form_tuple_context(TupleDesc tupleDescriptor,
                    values,
 #endif
                    isnull,
-                   (char *) tp + hoff,
+                   tp + hoff,
                    data_size,
                    &tupmask,
                    (hasnull ? (bits8 *) tp + sizeof(IndexTupleData) : NULL));
index 6c2c61947204a8cc588190391fb035af448a6c30..ab19a854cd7bef2a817ac8a13ec91bceed507542 100644 (file)
@@ -607,11 +607,11 @@ dataBeginPlaceToPageLeaf(GinBtree btree, Buffer buf, GinBtreeStack *stack,
 
        if (append)
            elog(DEBUG2, "appended %d new items to block %u; %d bytes (%d to go)",
-                maxitems, BufferGetBlockNumber(buf), (int) leaf->lsize,
+                maxitems, BufferGetBlockNumber(buf), leaf->lsize,
                 items->nitem - items->curitem - maxitems);
        else
            elog(DEBUG2, "inserted %d new items to block %u; %d bytes (%d to go)",
-                maxitems, BufferGetBlockNumber(buf), (int) leaf->lsize,
+                maxitems, BufferGetBlockNumber(buf), leaf->lsize,
                 items->nitem - items->curitem - maxitems);
    }
    else
@@ -693,11 +693,11 @@ dataBeginPlaceToPageLeaf(GinBtree btree, Buffer buf, GinBtreeStack *stack,
 
        if (append)
            elog(DEBUG2, "appended %d items to block %u; split %d/%d (%d to go)",
-                maxitems, BufferGetBlockNumber(buf), (int) leaf->lsize, (int) leaf->rsize,
+                maxitems, BufferGetBlockNumber(buf), leaf->lsize, leaf->rsize,
                 items->nitem - items->curitem - maxitems);
        else
            elog(DEBUG2, "inserted %d items to block %u; split %d/%d (%d to go)",
-                maxitems, BufferGetBlockNumber(buf), (int) leaf->lsize, (int) leaf->rsize,
+                maxitems, BufferGetBlockNumber(buf), leaf->lsize, leaf->rsize,
                 items->nitem - items->curitem - maxitems);
    }
 
index c2b879b2bf6ed501e0e01a3f3daf4f19e0895d59..f87c60a230cbcbb745b01a976dd9d18270939762 100644 (file)
@@ -2412,7 +2412,7 @@ _gin_parse_tuple_items(GinTuple *a)
 
    Assert(ndecoded == a->nitems);
 
-   return (ItemPointer) items;
+   return items;
 }
 
 /*
index ad2e36d2ed93e52d3b778da4f1c798f2185c4e8f..923cab445075fe548749b66a449b3f64f6ec74a9 100644 (file)
@@ -590,7 +590,7 @@ hash_xlog_move_page_contents(XLogReaderState *record)
            OffsetNumber *unend;
 
            unused = (OffsetNumber *) ptr;
-           unend = (OffsetNumber *) ((char *) ptr + len);
+           unend = (OffsetNumber *) (ptr + len);
 
            if ((unend - unused) > 0)
                PageIndexMultiDelete(page, unused, unend - unused);
@@ -901,7 +901,7 @@ hash_xlog_delete(XLogReaderState *record)
            OffsetNumber *unend;
 
            unused = (OffsetNumber *) ptr;
-           unend = (OffsetNumber *) ((char *) ptr + len);
+           unend = (OffsetNumber *) (ptr + len);
 
            if ((unend - unused) > 0)
                PageIndexMultiDelete(page, unused, unend - unused);
index 89d0bfa776048b05ded825fe9640bed6d805b6ef..da282b71b41a4a9d74cd9c08fe9046ba54e2edf7 100644 (file)
@@ -1037,7 +1037,7 @@ save_state_data(const void *data, uint32 len)
        records.tail->data = palloc(records.bytes_free);
    }
 
-   memcpy(((char *) records.tail->data) + records.tail->len, data, len);
+   memcpy(records.tail->data + records.tail->len, data, len);
    records.tail->len += padlen;
    records.bytes_free -= padlen;
    records.total_len += padlen;
index cd139bd65a668dcad26327c0c8c0cf924b0b0a62..d183f2990ce3bfc98e6e8cee1bbcf8af077b8dae 100644 (file)
@@ -580,7 +580,7 @@ ExecuteGrantStmt(GrantStmt *stmt)
                elog(ERROR, "AccessPriv node must specify privilege or columns");
            priv = string_to_privilege(privnode->priv_name);
 
-           if (priv & ~((AclMode) all_privileges))
+           if (priv & ~all_privileges)
                ereport(ERROR,
                        (errcode(ERRCODE_INVALID_GRANT_OPERATION),
                         errmsg(errormsg, privilege_to_string(priv))));
@@ -1059,7 +1059,7 @@ ExecAlterDefaultPrivilegesStmt(ParseState *pstate, AlterDefaultPrivilegesStmt *s
                elog(ERROR, "AccessPriv node must specify privilege");
            priv = string_to_privilege(privnode->priv_name);
 
-           if (priv & ~((AclMode) all_privileges))
+           if (priv & ~all_privileges)
                ereport(ERROR,
                        (errcode(ERRCODE_INVALID_GRANT_OPERATION),
                         errmsg(errormsg, privilege_to_string(priv))));
index 23ebaa3f2300213b727da8746344742cb15dd497..07e5b95782e45aa8e786666366554c5c40275ec2 100644 (file)
@@ -6205,7 +6205,7 @@ ATRewriteTable(AlteredTableInfo *tab, Oid OIDNewHeap)
        NewColumnValue *ex = lfirst(l);
 
        /* expr already planned */
-       ex->exprstate = ExecInitExpr((Expr *) ex->expr, NULL);
+       ex->exprstate = ExecInitExpr(ex->expr, NULL);
    }
 
    notnull_attrs = notnull_virtual_attrs = NIL;
index f1569879b529d5390dc5c43f4ff3c045a64de11b..b05ff476a6399e6a6cf3852b6dd15ef22f253988 100644 (file)
@@ -4807,7 +4807,7 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state,
        var->typid = exprType((Node *) argexpr);
        var->typmod = exprTypmod((Node *) argexpr);
 
-       ExecInitExprRec((Expr *) argexpr, state, &var->value, &var->isnull);
+       ExecInitExprRec(argexpr, state, &var->value, &var->isnull);
 
        jsestate->args = lappend(jsestate->args, var);
    }
index 0e1a74976f7d396f2709c0b9b8d0159bf515bb2d..5e7bd933afc3d493c28bca98cecebe0fb8637be8 100644 (file)
@@ -3283,7 +3283,7 @@ ExecEvalNextValueExpr(ExprState *state, ExprEvalStep *op)
            *op->resvalue = Int32GetDatum((int32) newval);
            break;
        case INT8OID:
-           *op->resvalue = Int64GetDatum((int64) newval);
+           *op->resvalue = Int64GetDatum(newval);
            break;
        default:
            elog(ERROR, "unsupported sequence type %u",
index 0dcce181f098c4ed283ea824cb94ad0e922c3b7c..c6d4040e240c65f33e541e2a5c2474f43e38c1b0 100644 (file)
@@ -856,7 +856,7 @@ ExecInitPartitionInfo(ModifyTableState *mtstate, EState *estate,
                                            &found_whole_row);
                    /* We ignore the value of found_whole_row. */
                    onconfl->oc_WhereClause =
-                       ExecInitQual((List *) clause, &mtstate->ps);
+                       ExecInitQual(clause, &mtstate->ps);
                }
            }
        }
index 83ade3f943763dacd7a719dbc19d4760de6a2aef..4bae685d45a899bbd54feb5dbe45d5c18dc95989 100644 (file)
@@ -363,7 +363,7 @@ tfuncInitialize(TableFuncScanState *tstate, ExprContext *econtext, Datum doc)
        char       *ns_uri;
        char       *ns_name;
 
-       value = ExecEvalExpr((ExprState *) expr, econtext, &isnull);
+       value = ExecEvalExpr(expr, econtext, &isnull);
        if (isnull)
            ereport(ERROR,
                    (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED),
index b6de0d93f28179e384623321f324cd95f1c90c2d..89e3d6a027739db793aa44eff350a94f4a360ac6 100644 (file)
@@ -47,8 +47,8 @@ alloc_pool(PlannerInfo *root, int pool_size, int string_length)
 
    /* pool */
    new_pool = (Pool *) palloc(sizeof(Pool));
-   new_pool->size = (int) pool_size;
-   new_pool->string_length = (int) string_length;
+   new_pool->size = pool_size;
+   new_pool->string_length = string_length;
 
    /* all chromosome */
    new_pool->data = (Chromosome *) palloc(pool_size * sizeof(Chromosome));
index c4fd646b999c1d14a4513079789b6ea3800ea9ee..0e78628bf01ea499ab523c105d06d21442a02739 100644 (file)
@@ -3949,7 +3949,7 @@ make_grouping_rel(PlannerInfo *root, RelOptInfo *input_rel,
     * target list and HAVING quals are parallel-safe.
     */
    if (input_rel->consider_parallel && target_parallel_safe &&
-       is_parallel_safe(root, (Node *) havingQual))
+       is_parallel_safe(root, havingQual))
        grouped_rel->consider_parallel = true;
 
    /*
@@ -8525,7 +8525,7 @@ create_unique_paths(PlannerInfo *root, RelOptInfo *rel, SpecialJoinInfo *sjinfo)
            tle = tlist_member(uniqexpr, newtlist);
            if (!tle)
            {
-               tle = makeTargetEntry((Expr *) uniqexpr,
+               tle = makeTargetEntry(uniqexpr,
                                      nextresno,
                                      NULL,
                                      false);
index fd4bd5f93f0d552981f49d6eee18cc9dbd92175d..b6be4ddbd01b21cc8c8b094d3380416a42c0e540 100644 (file)
@@ -3865,7 +3865,7 @@ reparameterize_path(PlannerInfo *root, Path *path,
        case T_SeqScan:
            return create_seqscan_path(root, rel, required_outer, 0);
        case T_SampleScan:
-           return (Path *) create_samplescan_path(root, rel, required_outer);
+           return create_samplescan_path(root, rel, required_outer);
        case T_IndexScan:
        case T_IndexOnlyScan:
            {
index 7843a0c857e6f09b82c30f62fa8db24f6835840b..05314e7e76b6aa2ea6087e46527d31bb9def7d74 100644 (file)
@@ -429,7 +429,7 @@ transformStmt(ParseState *pstate, Node *parseTree)
             */
            result = makeNode(Query);
            result->commandType = CMD_UTILITY;
-           result->utilityStmt = (Node *) parseTree;
+           result->utilityStmt = parseTree;
            break;
    }
 
index 44fd1385f8c559ecc66b2a63a0435302cee8373a..4524e49c326b2184768c3252f835acd46525f171 100644 (file)
@@ -327,7 +327,7 @@ transformExprRecurse(ParseState *pstate, Node *expr)
        case T_CaseTestExpr:
        case T_Var:
            {
-               result = (Node *) expr;
+               result = expr;
                break;
            }
 
@@ -4079,7 +4079,7 @@ transformJsonParseArg(ParseState *pstate, Node *jsexpr, JsonFormat *format,
 
        if (*exprtype == UNKNOWNOID || typcategory == TYPCATEGORY_STRING)
        {
-           expr = coerce_to_target_type(pstate, (Node *) expr, *exprtype,
+           expr = coerce_to_target_type(pstate, expr, *exprtype,
                                         TEXTOID, -1,
                                         COERCION_IMPLICIT,
                                         COERCE_IMPLICIT_CAST, -1);
index 197926d44f6bc0765d6095b924a3eec9ed3d8948..298ceb3e218f31f3fe5352baf0db43bfa8782b85 100644 (file)
@@ -206,7 +206,7 @@ InternalIpcMemoryCreate(IpcMemoryKey memKey, Size size)
                 */
                if (shmctl(shmid, IPC_RMID, NULL) < 0)
                    elog(LOG, "shmctl(%d, %d, 0) failed: %m",
-                        (int) shmid, IPC_RMID);
+                        shmid, IPC_RMID);
            }
        }
 
index fc8f8559073d7e69defeb811878572fdaf20a082..a1b4301a4ee288703cb5f8f16dda81cd26ed847f 100644 (file)
@@ -3074,7 +3074,7 @@ InitWalSenderSlot(void)
 
            SpinLockRelease(&walsnd->mutex);
            /* don't need the lock anymore */
-           MyWalSnd = (WalSnd *) walsnd;
+           MyWalSnd = walsnd;
 
            break;
        }
index 8675776fcc6cb6fc8985509ba4aaaeb1b97b9ab6..ffcf2ff1fe25249df413af168106f14e1a93635e 100644 (file)
@@ -3784,7 +3784,7 @@ rewriteTargetView(Query *parsetree, Relation view)
                parsetree->hasSubLinks = checkExprHasSubLink(viewqual);
        }
        else
-           AddQual(parsetree, (Node *) viewqual);
+           AddQual(parsetree, viewqual);
    }
 
    /*
index 6f63b4f3ffbf3100986ea8213b82de1e1dc353eb..d7bf6b7e84618e58c40af038a52badbb7517029f 100644 (file)
@@ -785,7 +785,7 @@ dependency_is_compatible_clause(Node *clause, Index relid, AttrNumber *attnum)
         * A boolean expression "x" can be interpreted as "x = true", so
         * proceed with seeing if it's a suitable Var.
         */
-       clause_expr = (Node *) clause;
+       clause_expr = clause;
    }
 
    /*
@@ -1212,7 +1212,7 @@ dependency_is_compatible_expression(Node *clause, Index relid, List *statlist, N
         * A boolean expression "x" can be interpreted as "x = true", so
         * proceed with seeing if it's a suitable Var.
         */
-       clause_expr = (Node *) clause;
+       clause_expr = clause;
    }
 
    /*
index 3c3d2d315c6f41eb31e40806267a9d58588dfd37..f003d7b4a73990a098aa28a2fdbc3d3d923d9ca3 100644 (file)
@@ -2054,13 +2054,13 @@ examine_opclause_args(List *args, Node **exprp, Const **cstp,
 
    if (IsA(rightop, Const))
    {
-       expr = (Node *) leftop;
+       expr = leftop;
        cst = (Const *) rightop;
        expronleft = true;
    }
    else if (IsA(leftop, Const))
    {
-       expr = (Node *) rightop;
+       expr = rightop;
        cst = (Const *) leftop;
        expronleft = false;
    }
index f59fb82154370fc501af72e6d84060e52bd93dfe..28f925f397eb8eac0d1ca78dcce35950e20091aa 100644 (file)
@@ -1037,7 +1037,7 @@ statext_mcv_deserialize(bytea *data)
    /* pointer to the data part (skip the varlena header) */
    raw = (char *) data;
    ptr = VARDATA_ANY(raw);
-   endptr = (char *) raw + VARSIZE_ANY(data);
+   endptr = raw + VARSIZE_ANY(data);
 
    /* get the header and perform further sanity checks */
    memcpy(&mcvlist->magic, ptr, sizeof(uint32));
index dcc47069757a7f6e6ea52602694d91e65deef0dc..a12b785ade6c297a8f59fb911912c4f178a85314 100644 (file)
@@ -603,7 +603,7 @@ pgaio_io_wait(PgAioHandle *ioh, uint64 ref_generation)
        if (pgaio_io_was_recycled(ioh, ref_generation, &state))
            return;
 
-       switch ((PgAioHandleState) state)
+       switch (state)
        {
            case PGAIO_HS_IDLE:
            case PGAIO_HS_HANDED_OUT:
@@ -908,7 +908,7 @@ static const char *
 pgaio_io_state_get_name(PgAioHandleState s)
 {
 #define PGAIO_HS_TOSTR_CASE(sym) case PGAIO_HS_##sym: return #sym
-   switch ((PgAioHandleState) s)
+   switch (s)
    {
            PGAIO_HS_TOSTR_CASE(IDLE);
            PGAIO_HS_TOSTR_CASE(HANDED_OUT);
@@ -933,7 +933,7 @@ pgaio_io_get_state_name(PgAioHandle *ioh)
 const char *
 pgaio_result_status_string(PgAioResultStatus rs)
 {
-   switch ((PgAioResultStatus) rs)
+   switch (rs)
    {
        case PGAIO_RS_UNKNOWN:
            return "UNKNOWN";
index bb06da63a8e02a753b74e11fb6be6c98423264c3..00cb017ca3c749929f3d0565cea53234f42695af 100644 (file)
@@ -300,7 +300,7 @@ pgaio_uring_shmem_init(bool first_time)
    if (pgaio_uring_caps.mem_init_size > 0)
    {
        ring_mem_remain = pgaio_uring_ring_shmem_size();
-       ring_mem_next = (char *) shmem;
+       ring_mem_next = shmem;
 
        /* align to page boundary, see also pgaio_uring_ring_shmem_size() */
        ring_mem_next = (char *) TYPEALIGN(sysconf(_SC_PAGESIZE), ring_mem_next);
index 465cee40ccc63c484e7be30477db64339d49e4ea..b5431ad3c5c3d71b76d886ee88fd8c860a87c240 100644 (file)
@@ -1477,7 +1477,7 @@ WaitEventSetWaitBlock(WaitEventSet *set, int cur_timeout,
    struct pollfd *cur_pollfd;
 
    /* Sleep */
-   rc = poll(set->pollfds, set->nevents, (int) cur_timeout);
+   rc = poll(set->pollfds, set->nevents, cur_timeout);
 
    /* Check return code */
    if (rc < 0)
index bb807d8c9cd960e9d86d69c79abaa6b2c4ea0bc2..f12f8f77aadef411a09ed6f964c30bca147834f2 100644 (file)
@@ -4988,7 +4988,7 @@ predicatelock_twophase_recover(FullTransactionId fxid, uint16 info,
                                               HASH_ENTER, &found);
        Assert(sxid != NULL);
        Assert(!found);
-       sxid->myXact = (SERIALIZABLEXACT *) sxact;
+       sxid->myXact = sxact;
 
        /*
         * Update global xmin. Note that this is a special case compared to
index 1504fafe6d889dc43cc9dabb1d3fa981ba567c02..ebc3f4ca4575f268b6738b0702e4dbe0e8640ae3 100644 (file)
@@ -244,7 +244,7 @@ InitProcGlobal(void)
    MemSet(ptr, 0, requestSize);
 
    procs = (PGPROC *) ptr;
-   ptr = (char *) ptr + TotalProcs * sizeof(PGPROC);
+   ptr = ptr + TotalProcs * sizeof(PGPROC);
 
    ProcGlobal->allProcs = procs;
    /* XXX allProcCount isn't really all of them; it excludes prepared xacts */
@@ -258,13 +258,13 @@ InitProcGlobal(void)
     * how hotly they are accessed.
     */
    ProcGlobal->xids = (TransactionId *) ptr;
-   ptr = (char *) ptr + (TotalProcs * sizeof(*ProcGlobal->xids));
+   ptr = ptr + (TotalProcs * sizeof(*ProcGlobal->xids));
 
    ProcGlobal->subxidStates = (XidCacheStatus *) ptr;
-   ptr = (char *) ptr + (TotalProcs * sizeof(*ProcGlobal->subxidStates));
+   ptr = ptr + (TotalProcs * sizeof(*ProcGlobal->subxidStates));
 
    ProcGlobal->statusFlags = (uint8 *) ptr;
-   ptr = (char *) ptr + (TotalProcs * sizeof(*ProcGlobal->statusFlags));
+   ptr = ptr + (TotalProcs * sizeof(*ProcGlobal->statusFlags));
 
    /* make sure wer didn't overflow */
    Assert((ptr > (char *) procs) && (ptr <= (char *) procs + requestSize));
index a464349ee33e04145f56ab37009e8ff5d50cb853..5a1b8483beacf9bf49269f0808338a89bad21ae5 100644 (file)
@@ -2257,7 +2257,7 @@ array_set_element(Datum arraydatum,
 
        resultarray = (char *) palloc(arraytyplen);
        memcpy(resultarray, DatumGetPointer(arraydatum), arraytyplen);
-       elt_ptr = (char *) resultarray + indx[0] * elmlen;
+       elt_ptr = resultarray + indx[0] * elmlen;
        ArrayCastAndSet(dataValue, elmlen, elmbyval, elmalign, elt_ptr);
        return PointerGetDatum(resultarray);
    }
@@ -2418,7 +2418,7 @@ array_set_element(Datum arraydatum,
            olditemlen = att_addlength_pointer(0, elmlen, elt_ptr);
            olditemlen = att_align_nominal(olditemlen, elmalign);
        }
-       lenafter = (int) (olddatasize - lenbefore - olditemlen);
+       lenafter = olddatasize - lenbefore - olditemlen;
    }
 
    if (isNull)
index 8898f0f90a1629911fd6d0204cc264927a9f7dad..de32e329975d605804ef7dec34c178d0bfe6f4df 100644 (file)
@@ -5414,8 +5414,7 @@ setPathObject(JsonbIterator **it, const Datum *path_elems, const bool *path_null
        newkey.val.string.len = VARSIZE_ANY_EXHDR(pathelem);
 
        (void) pushJsonbValue(st, WJB_KEY, &newkey);
-       (void) push_path(st, level, path_elems, path_nulls,
-                        path_len, newval);
+       push_path(st, level, path_elems, path_nulls, path_len, newval);
 
        /* Result is closed with WJB_END_OBJECT outside of this function */
    }
@@ -5583,8 +5582,7 @@ setPathArray(JsonbIterator **it, const Datum *path_elems, const bool *path_nulls
        if (idx > 0)
            push_null_elements(st, idx - nelems);
 
-       (void) push_path(st, level, path_elems, path_nulls,
-                        path_len, newval);
+       push_path(st, level, path_elems, path_nulls, path_len, newval);
 
        /* Result is closed with WJB_END_OBJECT outside of this function */
    }
index 556ab057e5a9a49cf38bda48d345682828037a21..6cf90be40bb5e8bd5da3cb3751544234c55f73f5 100644 (file)
@@ -10151,7 +10151,7 @@ get_rule_expr(Node *node, deparse_context *context,
 
                        if (needcomma)
                            appendStringInfoString(buf, ", ");
-                       get_rule_expr((Node *) e, context, true);
+                       get_rule_expr(e, context, true);
                        appendStringInfo(buf, " AS %s",
                                         quote_identifier(map_xml_name_to_sql_identifier(argname)));
                        needcomma = true;
index a00918bacb40b3f31416b1cbe440360158e41be1..2445085dbbd83a38c11875fb10f57bb881955f58 100644 (file)
@@ -2182,7 +2182,7 @@ selectDumpableCast(CastInfo *cast, Archive *fout)
     * This would be DUMP_COMPONENT_ACL for from-initdb casts, but they do not
     * support ACLs currently.
     */
-   if (cast->dobj.catId.oid <= (Oid) g_last_builtin_oid)
+   if (cast->dobj.catId.oid <= g_last_builtin_oid)
        cast->dobj.dump = DUMP_COMPONENT_NONE;
    else
        cast->dobj.dump = fout->dopt->include_everything ?
@@ -2214,7 +2214,7 @@ selectDumpableProcLang(ProcLangInfo *plang, Archive *fout)
        plang->dobj.dump = DUMP_COMPONENT_NONE;
    else
    {
-       if (plang->dobj.catId.oid <= (Oid) g_last_builtin_oid)
+       if (plang->dobj.catId.oid <= g_last_builtin_oid)
            plang->dobj.dump = fout->remoteVersion < 90600 ?
                DUMP_COMPONENT_NONE : DUMP_COMPONENT_ACL;
        else
@@ -2247,7 +2247,7 @@ selectDumpableAccessMethod(AccessMethodInfo *method, Archive *fout)
     * This would be DUMP_COMPONENT_ACL for from-initdb access methods, but
     * they do not support ACLs currently.
     */
-   if (method->dobj.catId.oid <= (Oid) g_last_builtin_oid)
+   if (method->dobj.catId.oid <= g_last_builtin_oid)
        method->dobj.dump = DUMP_COMPONENT_NONE;
    else
        method->dobj.dump = fout->dopt->include_everything ?
@@ -2273,7 +2273,7 @@ selectDumpableExtension(ExtensionInfo *extinfo, DumpOptions *dopt)
     * change permissions on their member objects, if they wish to, and have
     * those changes preserved.
     */
-   if (extinfo->dobj.catId.oid <= (Oid) g_last_builtin_oid)
+   if (extinfo->dobj.catId.oid <= g_last_builtin_oid)
        extinfo->dobj.dump = extinfo->dobj.dump_contains = DUMP_COMPONENT_ACL;
    else
    {
index f29866f8359bc35ebe6d6c5e5bef1f595e710d8c..027574621b52a5ded901b847918363aa84c312df 100644 (file)
@@ -277,7 +277,7 @@ sha1_result(uint8 *digest0, pg_sha1_ctx *ctx)
 {
    uint8      *digest;
 
-   digest = (uint8 *) digest0;
+   digest = digest0;
 
 #ifdef WORDS_BIGENDIAN
    memmove(digest, &ctx->h.b8[0], 20);
@@ -337,7 +337,7 @@ pg_sha1_update(pg_sha1_ctx *ctx, const uint8 *data, size_t len)
    size_t      off;
    size_t      copysiz;
 
-   input = (const uint8 *) data;
+   input = data;
    off = 0;
 
    while (off < len)
index 466428edfebee89bf99d70b24fdf48cf24ccc03d..39cd5130ec97ab08bb7036cd1fd66a4084ca8cdc 100644 (file)
@@ -113,7 +113,7 @@ get_int_item(int lineno, void *var, enum ECPGttype vartype, int value)
            *(short *) var = (short) value;
            break;
        case ECPGt_int:
-           *(int *) var = (int) value;
+           *(int *) var = value;
            break;
        case ECPGt_long:
            *(long *) var = (long) value;
index 84a4a9fc5781fd4fb4f97dd3f83c1255065ea5b9..bd10fef5748dc6ccc14ca26ac5ef1b79b392dad2 100644 (file)
@@ -54,7 +54,7 @@ quote_postgres(char *arg, bool quote, int lineno)
    {
        length = strlen(arg);
        buffer_len = 2 * length + 1;
-       res = (char *) ecpg_alloc(buffer_len + 3, lineno);
+       res = ecpg_alloc(buffer_len + 3, lineno);
        if (!res)
            return res;
        escaped_len = PQescapeString(res + 1, arg, buffer_len);
@@ -263,7 +263,7 @@ ecpg_is_type_an_array(int type, const struct statement *stmt, const struct varia
            return cache_entry->isarray;
    }
 
-   array_query = (char *) ecpg_alloc(strlen("select typlen from pg_type where oid= and typelem<>0") + 11, stmt->lineno);
+   array_query = ecpg_alloc(strlen("select typlen from pg_type where oid= and typelem<>0") + 11, stmt->lineno);
    if (array_query == NULL)
        return ECPG_ARRAY_ERROR;
 
@@ -391,7 +391,7 @@ ecpg_store_result(const PGresult *results, int act_field,
        }
 
        ecpg_log("ecpg_store_result on line %d: allocating memory for %d tuples\n", stmt->lineno, ntuples);
-       var->value = (char *) ecpg_auto_alloc(len, stmt->lineno);
+       var->value = ecpg_auto_alloc(len, stmt->lineno);
        if (!var->value)
            return false;
        *((char **) var->pointer) = var->value;
@@ -402,7 +402,7 @@ ecpg_store_result(const PGresult *results, int act_field,
    {
        int         len = var->ind_offset * ntuples;
 
-       var->ind_value = (char *) ecpg_auto_alloc(len, stmt->lineno);
+       var->ind_value = ecpg_auto_alloc(len, stmt->lineno);
        if (!var->ind_value)
            return false;
        *((char **) var->ind_pointer) = var->ind_value;
@@ -822,7 +822,7 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari
                    struct ECPGgeneric_bytea *variable =
                        (struct ECPGgeneric_bytea *) (var->value);
 
-                   if (!(mallocedval = (char *) ecpg_alloc(variable->len, lineno)))
+                   if (!(mallocedval = ecpg_alloc(variable->len, lineno)))
                        return false;
 
                    memcpy(mallocedval, variable->arr, variable->len);
@@ -835,7 +835,7 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari
                    struct ECPGgeneric_varchar *variable =
                        (struct ECPGgeneric_varchar *) (var->value);
 
-                   if (!(newcopy = (char *) ecpg_alloc(variable->len + 1, lineno)))
+                   if (!(newcopy = ecpg_alloc(variable->len + 1, lineno)))
                        return false;
 
                    strncpy(newcopy, variable->arr, variable->len);
@@ -1128,9 +1128,7 @@ insert_tobeinserted(int position, int ph_len, struct statement *stmt, char *tobe
 {
    char       *newcopy;
 
-   if (!(newcopy = (char *) ecpg_alloc(strlen(stmt->command)
-                                       + strlen(tobeinserted)
-                                       + 1, stmt->lineno)))
+   if (!(newcopy = ecpg_alloc(strlen(stmt->command) + strlen(tobeinserted) + 1, stmt->lineno)))
    {
        ecpg_free(tobeinserted);
        return false;
@@ -1536,7 +1534,7 @@ ecpg_build_params(struct statement *stmt)
                int         buffersize = sizeof(int) * CHAR_BIT * 10 / 3;   /* a rough guess of the
                                                                             * size we need */
 
-               if (!(tobeinserted = (char *) ecpg_alloc(buffersize, stmt->lineno)))
+               if (!(tobeinserted = ecpg_alloc(buffersize, stmt->lineno)))
                {
                    ecpg_free_params(stmt, false);
                    return false;
index a3f51993d70bace770a6116716b76cf01ff0745f..5c7c5397535d8a3e76e54b51d0551ba5811b37cb 100644 (file)
@@ -138,14 +138,14 @@ replace_variables(char **text, int lineno)
            char       *buffer,
                       *newcopy;
 
-           if (!(buffer = (char *) ecpg_alloc(buffersize, lineno)))
+           if (!(buffer = ecpg_alloc(buffersize, lineno)))
                return false;
 
            snprintf(buffer, buffersize, "$%d", counter++);
 
            for (len = 1; (*text)[ptr + len] && isvarchar((*text)[ptr + len]); len++)
                 /* skip */ ;
-           if (!(newcopy = (char *) ecpg_alloc(strlen(*text) - len + strlen(buffer) + 1, lineno)))
+           if (!(newcopy = ecpg_alloc(strlen(*text) - len + strlen(buffer) + 1, lineno)))
            {
                ecpg_free(buffer);
                return false;
@@ -302,7 +302,7 @@ deallocate_one(int lineno, enum COMPAT_MODE c, struct connection *con,
        char       *text;
        PGresult   *query;
 
-       text = (char *) ecpg_alloc(strlen("deallocate \"\" ") + strlen(this->name), this->stmt->lineno);
+       text = ecpg_alloc(strlen("deallocate \"\" ") + strlen(this->name), this->stmt->lineno);
 
        if (text)
        {
index ab6820fb8e5b86473d5fcfca8de41092c0ec1d38..1d3407f5a445500130dc20a3d354dc17bced5bb0 100644 (file)
@@ -62,7 +62,7 @@ initialize_ntdll(void)
            return -1;
        }
 
-       *(pg_funcptr_t *) routines[i].address = address;
+       *routines[i].address = address;
    }
 
    initialized = true;
index 787162c879330f9074cb65ad8842f866e185e391..606d8d3cd2da95407fea8d1f90192540425e9ff7 100644 (file)
@@ -219,7 +219,7 @@ test_basic(rt_node_class_test_elem *test_info, int shift, bool asc)
        TestValueType update = keys[i] + 1;
 
        /* rt_set should report the key found */
-       EXPECT_TRUE(rt_set(radixtree, keys[i], (TestValueType *) &update));
+       EXPECT_TRUE(rt_set(radixtree, keys[i], &update));
    }
 
    /* delete and re-insert keys */