Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lbowU-0005O3-TS for pgsql-hackers@arkaria.postgresql.org; Wed, 28 Apr 2021 18:29:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lbowT-0003IH-Lc for pgsql-hackers@arkaria.postgresql.org; Wed, 28 Apr 2021 18:29:45 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lbowT-0003IA-6Y for pgsql-hackers@lists.postgresql.org; Wed, 28 Apr 2021 18:29:45 +0000 Received: from mail-oi1-x230.google.com ([2607:f8b0:4864:20::230]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1lbowN-0000wJ-9t for pgsql-hackers@lists.postgresql.org; Wed, 28 Apr 2021 18:29:43 +0000 Received: by mail-oi1-x230.google.com with SMTP id u16so46675253oiu.7 for ; Wed, 28 Apr 2021 11:29:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telsasoft-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:subject:message-id:mime-version:content-disposition :user-agent; bh=mFC28BAn6BaDbm8n6y6PcobXoe0Cpj3o/86si7xHoxg=; b=FjEVflpRBtZJ0V+P1wxQzBw2geGL7SjhjnkqCK1cDjHjG0JMO0L59/h+BALTp6qN7H bipU/SWzeM13vmG4IBvPV6n5OAVAWfzYC0hsHpy5ifcdrO1WA2Y+z/AX3mJoSqvL79lg VlsTLgGHJOGnhlLIDlVETcq9ehNFvCPJAezl7OoX++MMaVGdmCQpaSfOSaUzjJxv0u0q +/b2URoxmQA7WLBjXVvmVWB/H9qHoMd0ldPlLrZAmUOrD7A7gCvWkxbqvupb4fxo72XE 1QfcMLXHbuVaf13irC0pGtYpWpu7HN/iTKFIo81KvjZiZZBGNA1DRx2ULtoiREUUWfq0 NhFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-disposition:user-agent; bh=mFC28BAn6BaDbm8n6y6PcobXoe0Cpj3o/86si7xHoxg=; b=H701xfZaG1p8D1daXMScqJ7+wbgfvTGIMTbBa5G0v/ugIO/uNRAl+0X3QHposRxb6k rAZ4vOVgtiGm/HTBObLCPU06HDHE7D+di2vE2q5WQvUxuo+52o5HM4ab4JOa/kUVFfPG pgbmafe7Uj+i6r32lRXsujjLMy5S808NOXSVM6t+ZbxAGwDJbfcmsvft00dAyFeYU950 aQ/L83DUgT83/UO9VSGlePAn6TT32TUro6asTE8FnAQpqigRJGb7EO93hTewF0oXAJ2x C13cCzj20WjTnhZdpPhEj5zgvCe49KrYlJ1ps5yG6Cq81oY6njG3Akyx/rS3qzNCnhe4 A7yA== X-Gm-Message-State: AOAM531L76CibQgZRc1SdbVk+WRA8hyAbTGknUHlQl22TItwcrh3DIvk Z5qbPPaW00VGLMMPf0bwsL33nw55TExXWg== X-Google-Smtp-Source: ABdhPJy4mydHk5bdNKcJVa4oXAIriMPSCs2jgq7ImJU+JDDqK4tfkN6xx/e4KxW5stPom5mxhYsD3Q== X-Received: by 2002:aca:bed7:: with SMTP id o206mr21621996oif.77.1619634578263; Wed, 28 Apr 2021 11:29:38 -0700 (PDT) Received: from pryzbyj.telsasoft (charmander.telsasoft.com. [50.244.222.1]) by smtp.gmail.com with ESMTPSA id d16sm153782ote.56.2021.04.28.11.29.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Apr 2021 11:29:37 -0700 (PDT) Received: by pryzbyj.telsasoft (Postfix, from userid 1000) id 82061800D78; Wed, 28 Apr 2021 13:29:36 -0500 (CDT) Date: Wed, 28 Apr 2021 13:29:36 -0500 From: Justin Pryzby To: pgsql-hackers@lists.postgresql.org Subject: strange case of "if ((a & b))" Message-ID: <20210428182936.GE27406@telsasoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.9.4 (2018-02-28) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk These look strange to me - the inner parens don't do anything. I wouldn't write it with 2x parens for the same reason I wouldn't write it with 8x parens. diff --git a/contrib/amcheck/verify_heapam.c b/contrib/amcheck/verify_heapam.c index 9f159eb3db..3bbc13c443 100644 --- a/contrib/amcheck/verify_heapam.c +++ b/contrib/amcheck/verify_heapam.c @@ -693,7 +693,7 @@ check_tuple_header(HeapCheckContext *ctx) report_corruption(ctx, psprintf("tuple data should begin at byte %u, but actually begins at byte %u (1 attribute, has nulls)", expected_hoff, ctx->tuphdr->t_hoff)); - else if ((infomask & HEAP_HASNULL)) + else if ((infomask & HEAP_HASNULL) != 0) report_corruption(ctx, psprintf("tuple data should begin at byte %u, but actually begins at byte %u (%u attributes, has nulls)", expected_hoff, ctx->tuphdr->t_hoff, ctx->natts)); diff --git a/contrib/ltree/ltree_io.c b/contrib/ltree/ltree_io.c index 15115cb29f..0dd2838f8b 100644 --- a/contrib/ltree/ltree_io.c +++ b/contrib/ltree/ltree_io.c @@ -661,17 +661,17 @@ deparse_lquery(const lquery *in) } memcpy(ptr, curtlevel->name, curtlevel->len); ptr += curtlevel->len; - if ((curtlevel->flag & LVAR_SUBLEXEME)) + if ((curtlevel->flag & LVAR_SUBLEXEME) != 0) { *ptr = '%'; ptr++; } - if ((curtlevel->flag & LVAR_INCASE)) + if ((curtlevel->flag & LVAR_INCASE) != 0) { *ptr = '@'; ptr++; } - if ((curtlevel->flag & LVAR_ANYEND)) + if ((curtlevel->flag & LVAR_ANYEND) != 0) { *ptr = '*'; ptr++; diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index 13396eb7f2..f5a4db5c57 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -2107,7 +2107,8 @@ heap_insert(Relation relation, HeapTuple tup, CommandId cid, vmstatus = visibilitymap_get_status(relation, BufferGetBlockNumber(buffer), &vmbuffer); - if ((starting_with_empty_page || vmstatus & VISIBILITYMAP_ALL_FROZEN)) + if (starting_with_empty_page || + (vmstatus & VISIBILITYMAP_ALL_FROZEN) != 0) all_frozen_set = true; } diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 441445927e..28fdd2943b 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -2417,7 +2417,7 @@ PrepareTransaction(void) * cases, such as a temp table created and dropped all within the * transaction. That seems to require much more bookkeeping though. */ - if ((MyXactFlags & XACT_FLAGS_ACCESSEDTEMPNAMESPACE)) + if ((MyXactFlags & XACT_FLAGS_ACCESSEDTEMPNAMESPACE) != 0) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot PREPARE a transaction that has operated on temporary objects"))); @@ -5530,7 +5530,7 @@ XactLogCommitRecord(TimestampTz commit_time, xl_xinfo.xinfo |= XACT_COMPLETION_UPDATE_RELCACHE_FILE; if (forceSyncCommit) xl_xinfo.xinfo |= XACT_COMPLETION_FORCE_SYNC_COMMIT; - if ((xactflags & XACT_FLAGS_ACQUIREDACCESSEXCLUSIVELOCK)) + if ((xactflags & XACT_FLAGS_ACQUIREDACCESSEXCLUSIVELOCK) != 0) xl_xinfo.xinfo |= XACT_XINFO_HAS_AE_LOCKS; /* @@ -5681,7 +5681,7 @@ XactLogAbortRecord(TimestampTz abort_time, xlrec.xact_time = abort_time; - if ((xactflags & XACT_FLAGS_ACQUIREDACCESSEXCLUSIVELOCK)) + if ((xactflags & XACT_FLAGS_ACQUIREDACCESSEXCLUSIVELOCK) != 0) xl_xinfo.xinfo |= XACT_XINFO_HAS_AE_LOCKS; if (nsubxacts > 0) diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 8e717ada28..f341e6d143 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -16029,7 +16029,7 @@ PreCommit_on_commit_actions(void) * relations, we can skip truncating ON COMMIT DELETE ROWS * tables, as they must still be empty. */ - if ((MyXactFlags & XACT_FLAGS_ACCESSEDTEMPNAMESPACE)) + if ((MyXactFlags & XACT_FLAGS_ACCESSEDTEMPNAMESPACE) != 0) oids_to_truncate = lappend_oid(oids_to_truncate, oc->relid); break; case ONCOMMIT_DROP: diff --git a/src/backend/nodes/nodeFuncs.c b/src/backend/nodes/nodeFuncs.c index ff3dcc7b18..fe825c6ede 100644 --- a/src/backend/nodes/nodeFuncs.c +++ b/src/backend/nodes/nodeFuncs.c @@ -2390,7 +2390,7 @@ query_tree_walker(Query *query, * don't contain actual expressions. However they do contain OIDs which * may be needed by dependency walkers etc. */ - if ((flags & QTW_EXAMINE_SORTGROUP)) + if ((flags & QTW_EXAMINE_SORTGROUP) != 0) { if (walker((Node *) query->groupClause, context)) return true; @@ -3328,7 +3328,7 @@ query_tree_mutator(Query *query, * may be of interest to some mutators. */ - if ((flags & QTW_EXAMINE_SORTGROUP)) + if ((flags & QTW_EXAMINE_SORTGROUP) != 0) { MUTATE(query->groupClause, query->groupClause, List *); MUTATE(query->windowClause, query->windowClause, List *); diff --git a/src/backend/replication/logical/decode.c b/src/backend/replication/logical/decode.c index 7924581cdc..62baf48f8e 100644 --- a/src/backend/replication/logical/decode.c +++ b/src/backend/replication/logical/decode.c @@ -337,7 +337,7 @@ DecodeXactOp(LogicalDecodingContext *ctx, XLogRecordBuffer *buf) ReorderBufferXidSetCatalogChanges(ctx->reorder, xid, buf->origptr); } - else if ((!ctx->fast_forward)) + else if ((!ctx->fast_forward) != 0) ReorderBufferImmediateInvalidation(ctx->reorder, invals->nmsgs, invals->msgs);