diff --git a/contrib/pg_prewarm/autoprewarm.c b/contrib/pg_prewarm/autoprewarm.c index b45755b33471..73485a2323cf 100644 --- a/contrib/pg_prewarm/autoprewarm.c +++ b/contrib/pg_prewarm/autoprewarm.c @@ -798,12 +798,11 @@ apw_detach_shmem(int code, Datum arg) static void apw_start_leader_worker(void) { - BackgroundWorker worker; + BackgroundWorker worker = {0}; BackgroundWorkerHandle *handle; BgwHandleStatus status; pid_t pid; - MemSet(&worker, 0, sizeof(BackgroundWorker)); worker.bgw_flags = BGWORKER_SHMEM_ACCESS; worker.bgw_start_time = BgWorkerStart_ConsistentState; strcpy(worker.bgw_library_name, "pg_prewarm"); @@ -840,10 +839,9 @@ apw_start_leader_worker(void) static void apw_start_database_worker(void) { - BackgroundWorker worker; + BackgroundWorker worker = {0}; BackgroundWorkerHandle *handle; - MemSet(&worker, 0, sizeof(BackgroundWorker)); worker.bgw_flags = BGWORKER_SHMEM_ACCESS | BGWORKER_BACKEND_DATABASE_CONNECTION; worker.bgw_start_time = BgWorkerStart_ConsistentState; diff --git a/contrib/postgres_fdw/postgres_fdw.c b/contrib/postgres_fdw/postgres_fdw.c index 263c879026e5..6beae0fa37f2 100644 --- a/contrib/postgres_fdw/postgres_fdw.c +++ b/contrib/postgres_fdw/postgres_fdw.c @@ -3333,7 +3333,7 @@ estimate_path_cost_size(PlannerInfo *root, { RelOptInfo *outerrel = fpinfo->outerrel; PgFdwRelationInfo *ofpinfo; - AggClauseCosts aggcosts; + AggClauseCosts aggcosts = {0}; double input_rows; int numGroupCols; double numGroups = 1; @@ -3357,7 +3357,6 @@ estimate_path_cost_size(PlannerInfo *root, input_rows = ofpinfo->rows; /* Collect statistics about aggregates for estimating costs. */ - MemSet(&aggcosts, 0, sizeof(AggClauseCosts)); if (root->parse->hasAggs) { get_agg_clause_costs(root, AGGSPLIT_SIMPLE, &aggcosts); diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c index 256568d05a29..f6f77b8fe193 100644 --- a/src/backend/optimizer/path/costsize.c +++ b/src/backend/optimizer/path/costsize.c @@ -2690,13 +2690,12 @@ cost_agg(Path *path, PlannerInfo *root, double output_tuples; Cost startup_cost; Cost total_cost; - AggClauseCosts dummy_aggcosts; + const AggClauseCosts dummy_aggcosts = {0}; /* Use all-zero per-aggregate costs if NULL is passed */ if (aggcosts == NULL) { Assert(aggstrategy == AGG_HASHED); - MemSet(&dummy_aggcosts, 0, sizeof(AggClauseCosts)); aggcosts = &dummy_aggcosts; } diff --git a/src/backend/storage/smgr/bulk_write.c b/src/backend/storage/smgr/bulk_write.c index ecd441f1be2e..b958be157164 100644 --- a/src/backend/storage/smgr/bulk_write.c +++ b/src/backend/storage/smgr/bulk_write.c @@ -46,7 +46,7 @@ #define MAX_PENDING_WRITES XLR_MAX_BLOCK_ID -static const PGIOAlignedBlock zero_buffer = {{0}}; /* worth BLCKSZ */ +static const PGIOAlignedBlock zero_buffer = {0}; /* worth BLCKSZ */ typedef struct PendingWrite { diff --git a/src/bin/pg_waldump/rmgrdesc.c b/src/bin/pg_waldump/rmgrdesc.c index 6b8c17bb4c4e..fac509ed134e 100644 --- a/src/bin/pg_waldump/rmgrdesc.c +++ b/src/bin/pg_waldump/rmgrdesc.c @@ -41,8 +41,8 @@ static const RmgrDescData RmgrDescTable[RM_N_BUILTIN_IDS] = { #define CUSTOM_NUMERIC_NAME_LEN sizeof("custom###") -static char CustomNumericNames[RM_N_CUSTOM_IDS][CUSTOM_NUMERIC_NAME_LEN] = {{0}}; -static RmgrDescData CustomRmgrDesc[RM_N_CUSTOM_IDS] = {{0}}; +static char CustomNumericNames[RM_N_CUSTOM_IDS][CUSTOM_NUMERIC_NAME_LEN] = {0}; +static RmgrDescData CustomRmgrDesc[RM_N_CUSTOM_IDS] = {0}; static bool CustomRmgrDescInitialized = false; /* diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c index bf099aab2787..c17c728ebb4f 100644 --- a/src/bin/pgbench/pgbench.c +++ b/src/bin/pgbench/pgbench.c @@ -2279,15 +2279,10 @@ evalStandardFunc(CState *st, { /* evaluate all function arguments */ int nargs = 0; + PgBenchValue vargs[MAX_FARGS] = {0}; PgBenchExprLink *l = args; bool has_null = false; - /* - * This value is double braced to workaround GCC bug 53119, which seems to - * exist at least on gcc (Debian 4.7.2-5) 4.7.2, 32-bit. - */ - PgBenchValue vargs[MAX_FARGS] = {{0}}; - for (nargs = 0; nargs < MAX_FARGS && l != NULL; nargs++, l = l->next) { if (!evaluateExpr(st, l->expr, &vargs[nargs])) diff --git a/src/common/blkreftable.c b/src/common/blkreftable.c index 6d9c1dfddbc6..b935baf9ad4b 100644 --- a/src/common/blkreftable.c +++ b/src/common/blkreftable.c @@ -265,7 +265,7 @@ BlockRefTableSetLimitBlock(BlockRefTable *brtab, BlockNumber limit_block) { BlockRefTableEntry *brtentry; - BlockRefTableKey key = {{0}}; /* make sure any padding is zero */ + BlockRefTableKey key = {0}; /* make sure any padding is zero */ bool found; memcpy(&key.rlocator, rlocator, sizeof(RelFileLocator)); @@ -300,7 +300,7 @@ BlockRefTableMarkBlockModified(BlockRefTable *brtab, BlockNumber blknum) { BlockRefTableEntry *brtentry; - BlockRefTableKey key = {{0}}; /* make sure any padding is zero */ + BlockRefTableKey key = {0}; /* make sure any padding is zero */ bool found; #ifndef FRONTEND MemoryContext oldcontext = MemoryContextSwitchTo(brtab->mcxt); @@ -340,7 +340,7 @@ BlockRefTableEntry * BlockRefTableGetEntry(BlockRefTable *brtab, const RelFileLocator *rlocator, ForkNumber forknum, BlockNumber *limit_block) { - BlockRefTableKey key = {{0}}; /* make sure any padding is zero */ + BlockRefTableKey key = {0}; /* make sure any padding is zero */ BlockRefTableEntry *entry; Assert(limit_block != NULL); @@ -521,7 +521,7 @@ WriteBlockRefTable(BlockRefTable *brtab, for (i = 0; i < brtab->hash->members; ++i) { BlockRefTableSerializedEntry *sentry = &sdata[i]; - BlockRefTableKey key = {{0}}; /* make sure any padding is zero */ + BlockRefTableKey key = {0}; /* make sure any padding is zero */ unsigned j; /* Write the serialized entry itself. */ @@ -616,7 +616,7 @@ BlockRefTableReaderNextRelation(BlockRefTableReader *reader, BlockNumber *limit_block) { BlockRefTableSerializedEntry sentry; - BlockRefTableSerializedEntry zentry = {{0}}; + BlockRefTableSerializedEntry zentry = {0}; /* * Sanity check: caller must read all blocks from all chunks before moving @@ -1291,7 +1291,7 @@ BlockRefTableWrite(BlockRefTableBuffer *buffer, void *data, int length) static void BlockRefTableFileTerminate(BlockRefTableBuffer *buffer) { - BlockRefTableSerializedEntry zentry = {{0}}; + BlockRefTableSerializedEntry zentry = {0}; pg_crc32c crc; /* Write a sentinel indicating that there are no more entries. */ diff --git a/src/common/file_utils.c b/src/common/file_utils.c index 0e3cfede9357..eaa2e76f43f5 100644 --- a/src/common/file_utils.c +++ b/src/common/file_utils.c @@ -687,7 +687,7 @@ pg_pwritev_with_retry(int fd, const struct iovec *iov, int iovcnt, off_t offset) ssize_t pg_pwrite_zeros(int fd, size_t size, off_t offset) { - static const PGIOAlignedBlock zbuffer = {{0}}; /* worth BLCKSZ */ + static const PGIOAlignedBlock zbuffer = {0}; /* worth BLCKSZ */ void *zerobuf_addr = unconstify(PGIOAlignedBlock *, &zbuffer)->data; struct iovec iov[PG_IOV_MAX]; size_t remaining_size = size; diff --git a/src/interfaces/libpq/fe-auth-oauth-curl.c b/src/interfaces/libpq/fe-auth-oauth-curl.c index 3612819ae43a..9e0e8a9f2bec 100644 --- a/src/interfaces/libpq/fe-auth-oauth-curl.c +++ b/src/interfaces/libpq/fe-auth-oauth-curl.c @@ -1232,7 +1232,7 @@ register_socket(CURL *curl, curl_socket_t socket, int what, void *ctx, #endif #ifdef HAVE_SYS_EVENT_H struct async_ctx *actx = ctx; - struct kevent ev[2] = {{0}}; + struct kevent ev[2] = {0}; struct kevent ev_out[2]; struct timespec timeout = {0}; int nev = 0;