diff --git a/contrib/mppdb_decoding/mppdb_decoding.cpp b/contrib/mppdb_decoding/mppdb_decoding.cpp index bb685c909..2734c3e1c 100644 --- a/contrib/mppdb_decoding/mppdb_decoding.cpp +++ b/contrib/mppdb_decoding/mppdb_decoding.cpp @@ -468,7 +468,7 @@ static void pg_decode_ddl(LogicalDecodingContext *ctx, old = MemoryContextSwitchTo(data->context); OutputPluginPrepareWrite(ctx, true); - appendStringInfo(ctx->out, "prefix: %s, lsn: %llu, relid %u, cmdtype: %s, size: %lu, content: %s", + appendStringInfo(ctx->out, "prefix: %s, lsn: %lu, relid %u, cmdtype: %s, size: %lu, content: %s", prefix, message_lsn, relid, diff --git a/src/bin/initdb/ss_initdb.cpp b/src/bin/initdb/ss_initdb.cpp index 69051092b..67edf12e4 100644 --- a/src/bin/initdb/ss_initdb.cpp +++ b/src/bin/initdb/ss_initdb.cpp @@ -210,9 +210,9 @@ int ss_check_existdir(const char *path, int node_id, const char **subdir) char *subpath = NULL; struct stat statbuf; int existnum = 0; - int totalnum = ARRAY_NUM(subdir); + int totalnum = (int)ARRAY_NUM(subdir); - for (uint32 i = 0; i < totalnum; i++) { + for (int i = 0; i < totalnum; i++) { subpath = ss_concat_path(node_id, path, subdir[i]); if (lstat(subpath, &statbuf) == 0) { existnum++; diff --git a/src/bin/pg_ctl/fetchmot.cpp b/src/bin/pg_ctl/fetchmot.cpp index fef0ce743..80aa85aaf 100644 --- a/src/bin/pg_ctl/fetchmot.cpp +++ b/src/bin/pg_ctl/fetchmot.cpp @@ -56,7 +56,7 @@ static void CheckConnResult(PGconn* conn, const char* progname) static void* ProgressReportMot(void* arg) { do { - fprintf(stderr, "MOT Process: %dKB files have been received\n", totaldone); + fprintf(stderr, "MOT Process: %luKB files have been received\n", totaldone); sleep(1); } while (!g_isReceiveDone); return nullptr; diff --git a/src/bin/pg_probackup/show.cpp b/src/bin/pg_probackup/show.cpp index 948ff435a..d7fa02e91 100644 --- a/src/bin/pg_probackup/show.cpp +++ b/src/bin/pg_probackup/show.cpp @@ -318,9 +318,10 @@ static void show_instance_end(void) { PQExpBuffer buf = &show_buf; - if (show_format == SHOW_JSON) + if (show_format == SHOW_JSON) { json_add(buf, JT_END_ARRAY, &json_level); appendPQExpBufferStr(&show_buf, "\n}\n"); + } fputs(show_buf.data, stdout); termPQExpBuffer(&show_buf); diff --git a/src/common/backend/nodes/readfuncs.cpp b/src/common/backend/nodes/readfuncs.cpp index 0b8c613d5..71dbb7c4e 100755 --- a/src/common/backend/nodes/readfuncs.cpp +++ b/src/common/backend/nodes/readfuncs.cpp @@ -4809,7 +4809,6 @@ static SpqSeqScan* _readSpqSeqScan(void) static SpqIndexScan* _readSpqIndexScan(void) { READ_LOCALS_NO_FIELDS(SpqIndexScan); - READ_TEMP_LOCALS(); _readIndexScan(&local_node->scan); @@ -4819,7 +4818,6 @@ static SpqIndexScan* _readSpqIndexScan(void) static SpqIndexOnlyScan* _readSpqIndexOnlyScan(void) { READ_LOCALS_NO_FIELDS(SpqIndexOnlyScan); - READ_TEMP_LOCALS(); _readIndexOnlyScan(&local_node->scan); @@ -4829,7 +4827,6 @@ static SpqIndexOnlyScan* _readSpqIndexOnlyScan(void) static SpqBitmapHeapScan* _readSpqBitmapHeapScan(void) { READ_LOCALS_NO_FIELDS(SpqBitmapHeapScan); - READ_TEMP_LOCALS(); _readBitmapHeapScan(&local_node->scan); diff --git a/src/common/backend/parser/gram.y b/src/common/backend/parser/gram.y index 9cc28931d..f33d1b2bc 100644 --- a/src/common/backend/parser/gram.y +++ b/src/common/backend/parser/gram.y @@ -5129,7 +5129,7 @@ alter_table_cmd: const char* message = "inherits is not support in B-format database, it conflicts with multi-relation update"; InsertErrorMessage(message, u_sess->plsql_cxt.plpgsql_yylloc); ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg(message))); + errmsg("%s", message))); } AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_AddInherit; @@ -5143,7 +5143,7 @@ alter_table_cmd: const char* message = "inherits is not support in B-format database, it conflicts with multi-relation update"; InsertErrorMessage(message, u_sess->plsql_cxt.plpgsql_yylloc); ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg(message))); + errmsg("%s", message))); } AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_DropInherit; diff --git a/src/common/backend/pgxc_single/pool/execRemote.cpp b/src/common/backend/pgxc_single/pool/execRemote.cpp index 5a2d4eb77..f0bf19973 100755 --- a/src/common/backend/pgxc_single/pool/execRemote.cpp +++ b/src/common/backend/pgxc_single/pool/execRemote.cpp @@ -503,9 +503,9 @@ static void HandleDirectRead(PGXCNodeHandle *conn, const char *msg_body, size_t securec_check(rc, "", ""); int oidcount = ntohl(n32); readlen += sizeof(uint32); - int checkLen = sizeof(uint32) + (sizeof(uint32) + sizeof(uint32)) * oidcount; + uint32 checkLen = sizeof(uint32) + (sizeof(uint32) + sizeof(uint32)) * oidcount; if (len != checkLen) { - elog(LOG, "HandleDirectRead len not match [%d:%d]", len, checkLen); + elog(LOG, "HandleDirectRead len not match [%zu:%u]", len, checkLen); return; } ListCell *cell; @@ -1098,7 +1098,7 @@ bool backward_connection_walker(Node *plan, void *cxt) if (IsA(plan, SpqSeqScan)) { QCConnKey key = { .query_id = u_sess->debug_query_id, - .plan_node_id = ((Plan*)plan)->plan_node_id, + .plan_node_id = (uint32)((Plan*)plan)->plan_node_id, .node_id = 0, .type = SPQ_QC_CONNECTION, }; @@ -1217,7 +1217,7 @@ bool build_connections(Node* plan, void* cxt) QCConnEntry* entry = (QCConnEntry*)palloc(sizeof(QCConnEntry)); entry->key = { .query_id = walkerCxt->queryId, - .plan_node_id = ((Plan*)plan)->plan_node_id, + .plan_node_id = (uint32)((Plan*)plan)->plan_node_id, .node_id = addressArray[i]->gs_sock.idx, .type = SPQ_QE_CONNECTION, }; diff --git a/src/common/backend/utils/adt/jsonfuncs.cpp b/src/common/backend/utils/adt/jsonfuncs.cpp index 04aa1b6f1..60a206bbd 100644 --- a/src/common/backend/utils/adt/jsonfuncs.cpp +++ b/src/common/backend/utils/adt/jsonfuncs.cpp @@ -123,7 +123,7 @@ static JsonbValue *setPath(JsonbIterator **it, Datum *path_elems, bool *path_nul static void setPathObject(JsonbIterator **it, Datum *path_elems, bool *path_nulls, int path_len, JsonbParseState **st, int level, Jsonb *newval, uint32 npairs, int op_type); static void setPathArray(JsonbIterator **it, Datum *path_elems, bool *path_nulls, int path_len, JsonbParseState **st, - int level, Jsonb *newval, uint32 nelems, int op_type); + int level, Jsonb *newval, int nelems, int op_type); /* search type classification for json_get* functions */ typedef enum { @@ -2879,12 +2879,13 @@ static void setPathObject(JsonbIterator **it, Datum *path_elems, bool *path_null addJsonbToParseState(st, newval); } - for (i = 0; i < npairs; i++) { + /* npairs is int type */ + for (i = 0; i < (int)npairs; i++) { int r = JsonbIteratorNext(it, &k, true); Assert(r == WJB_KEY); - if (!done && k.string.len == VARSIZE_ANY_EXHDR(pathelem) && + if (!done && k.string.len == (int)VARSIZE_ANY_EXHDR(pathelem) && memcmp(k.string.val, VARDATA_ANY(pathelem), k.string.len) == 0) { if (level == path_len - 1) { @@ -2911,7 +2912,7 @@ static void setPathObject(JsonbIterator **it, Datum *path_elems, bool *path_null st, level + 1, newval, op_type); } } else { - if ((op_type & JB_PATH_CREATE_OR_INSERT) && !done && level == path_len - 1 && i == npairs - 1) { + if ((op_type & JB_PATH_CREATE_OR_INSERT) && !done && level == path_len - 1 && i == (int)npairs - 1) { JsonbValue newkey; newkey.type = jbvString; @@ -2947,7 +2948,7 @@ static void setPathObject(JsonbIterator **it, Datum *path_elems, bool *path_null * Array walker for setPath */ static void setPathArray(JsonbIterator **it, Datum *path_elems, bool *path_nulls, - int path_len, JsonbParseState **st, int level, Jsonb *newval, uint32 nelems, int op_type) + int path_len, JsonbParseState **st, int level, Jsonb *newval, int nelems, int op_type) { JsonbValue v; int idx, @@ -3241,7 +3242,7 @@ Datum jsonb_delete_idx(PG_FUNCTION_ARGS) int idx = PG_GETARG_INT32(1); JsonbParseState *state = NULL; JsonbIterator *it; - uint32 i = 0, + int i = 0, n; JsonbValue v, *res = NULL; diff --git a/src/common/backend/utils/gsplsql/gsdependencies.cpp b/src/common/backend/utils/gsplsql/gsdependencies.cpp index f32deff79..e8a9847c1 100644 --- a/src/common/backend/utils/gsplsql/gsdependencies.cpp +++ b/src/common/backend/utils/gsplsql/gsdependencies.cpp @@ -237,7 +237,6 @@ bool gsplsql_exists_schema_name(const char* schema_name) ScanKeyData key[1]; ScanKeyInit(&key[key_num++], Anum_gs_dependencies_obj_schemaname, BTEqualStrategyNumber, F_NAMEEQ, NameGetDatum(schema_name)); - bool is_null = false; HeapTuple tuple; Relation obj_rel = heap_open(DependenciesObjRelationId, AccessShareLock); SysScanDesc scan = systable_beginscan(obj_rel, DependenciesObjNameIndexId, true, SnapshotSelf, key_num, key); diff --git a/src/common/pl/plpgsql/src/gram.y b/src/common/pl/plpgsql/src/gram.y index b40e3d7ee..b67416ac8 100755 --- a/src/common/pl/plpgsql/src/gram.y +++ b/src/common/pl/plpgsql/src/gram.y @@ -10055,7 +10055,7 @@ make_execsql_stmt(int firsttoken, int location) pfree_ext(lb.data); ereport(errstate, (errcode(ERRCODE_SYNTAX_ERROR), - errmsg(err_msg), + errmsg("%s", err_msg), parser_errposition(location + num))); } @@ -10076,14 +10076,14 @@ make_execsql_stmt(int firsttoken, int location) pfree_ext(lb.data); ereport(errstate, (errcode(ERRCODE_SYNTAX_ERROR), - errmsg(err_msg), + errmsg("%s", err_msg), parser_errposition(location + len))); } if(lb.data[0] >= '0' && lb.data[0] <= '9') { pfree_ext(lb.data); ereport(errstate, (errcode(ERRCODE_SYNTAX_ERROR), - errmsg(err_msg), + errmsg("%s", err_msg), parser_errposition(location))); } plpgsql_ns_additem(PLPGSQL_NSTYPE_LABEL, 0, pg_strtolower(lb.data)); @@ -10134,7 +10134,7 @@ make_execsql_stmt(int firsttoken, int location) pfree_ext(lb.data); ereport(errstate, (errcode(ERRCODE_SYNTAX_ERROR), - errmsg(err_msg), + errmsg("%s", err_msg), parser_errposition(location + len))); } @@ -10161,14 +10161,14 @@ make_execsql_stmt(int firsttoken, int location) pfree_ext(lb.data); ereport(errstate, (errcode(ERRCODE_SYNTAX_ERROR), - errmsg(err_msg), + errmsg("%s", err_msg), parser_errposition(location + len))); } if(lb.data[0] >= '0' && lb.data[0] <= '9') { pfree_ext(lb.data); ereport(errstate, (errcode(ERRCODE_SYNTAX_ERROR), - errmsg(err_msg), + errmsg("%s", err_msg), parser_errposition(location))); } if(lb.len >= NAMEDATALEN) diff --git a/src/common/pl/plpgsql/src/pl_comp.cpp b/src/common/pl/plpgsql/src/pl_comp.cpp index 883b5c0e1..38e53ab94 100644 --- a/src/common/pl/plpgsql/src/pl_comp.cpp +++ b/src/common/pl/plpgsql/src/pl_comp.cpp @@ -2147,7 +2147,6 @@ static Node* make_datum_param(PLpgSQL_expr* expr, int dno, int location) if (datum->dtype == PLPGSQL_DTYPE_RECORD) { param->recordVarTypOid = ((PLpgSQL_row*)datum)->recordVarTypOid; } else if (datum->dtype == PLPGSQL_DTYPE_CURSORROW) { - Datum value; bool isnull; param->recordVarTypOid = UNKNOWNOID; param->args = NIL; diff --git a/src/common/pl/plpgsql/src/pl_exec.cpp b/src/common/pl/plpgsql/src/pl_exec.cpp index a0708b6da..28f295b0e 100644 --- a/src/common/pl/plpgsql/src/pl_exec.cpp +++ b/src/common/pl/plpgsql/src/pl_exec.cpp @@ -1226,7 +1226,6 @@ static void exec_cursor_rowtype_init(PLpgSQL_execstate *estate, PLpgSQL_datum *d HeapTuple new_tup = (HeapTuple)tableam_tops_form_tuple(new_tupdesc, NULL, newnulls); for (fnum = 0; fnum < new_natts; fnum++) { - Form_pg_attribute attr = TupleDescAttr(new_tupdesc, fnum); Datum value; bool isnull; Oid valtype; diff --git a/src/common/pl/plpgsql/src/pl_handler.cpp b/src/common/pl/plpgsql/src/pl_handler.cpp index 4f86628fd..15bd20f2c 100755 --- a/src/common/pl/plpgsql/src/pl_handler.cpp +++ b/src/common/pl/plpgsql/src/pl_handler.cpp @@ -2142,8 +2142,8 @@ static void get_proc_coverage(Oid func_oid, int* coverage) appendStringInfo(&pro_querys, "%s", infoCode[0].code); appendStringInfo(&pro_canbreak, "{%s", infoCode[0].canBreak ? "true" : "false"); appendStringInfo(&pro_coverage, "{%d", coverage[0]); - - for (int i = 1; i < rows; ++i) { + /* debug_show_code_worker set int to rows */ + for (int i = 1; i < (int)rows; ++i) { appendStringInfo(&pro_querys, "\n %s", infoCode[i].code); appendStringInfo(&pro_canbreak, ",%s", infoCode[i].canBreak ? "true" : "false"); appendStringInfo(&pro_coverage, ",%d", coverage[i]); diff --git a/src/gausskernel/cbb/communication/libcomm_utils/libcomm_interface.cpp b/src/gausskernel/cbb/communication/libcomm_utils/libcomm_interface.cpp index 627233d4c..22eb6bf6e 100644 --- a/src/gausskernel/cbb/communication/libcomm_utils/libcomm_interface.cpp +++ b/src/gausskernel/cbb/communication/libcomm_utils/libcomm_interface.cpp @@ -695,7 +695,7 @@ static int gs_internal_connect(libcommaddrinfo* libcomm_addrinfo) LIBCOMM_PTHREAD_MUTEX_LOCK(&pmailbox->sinfo_lock); Assert(pmailbox->state == MAIL_CLOSED); - int version = pmailbox->local_version + 1; + uint16 version = pmailbox->local_version + 1; if (version >= MAX_MAILBOX_VERSION) { version = 0; } @@ -768,15 +768,15 @@ static int gs_internal_connect(libcommaddrinfo* libcomm_addrinfo) QCConnKey key = { .query_id = libcomm_addrinfo->streamKey.queryId, .plan_node_id = libcomm_addrinfo->streamKey.planNodeId, - .node_id = node_idx, + .node_id = (uint16)node_idx, .type = SPQ_QE_CONNECTION, }; pthread_rwlock_wrlock(&g_instance.spq_cxt.adp_connects_lock); QCConnEntry* entry = (QCConnEntry*)hash_search(g_instance.spq_cxt.adp_connects, (void*)&key, HASH_ENTER, &found); if (!found) { entry->forward = { - .idx = node_idx, - .sid = streamid, + .idx = (uint16)node_idx, + .sid = (uint16)streamid, .ver = version, .type = GSOCK_PRODUCER, }; @@ -801,7 +801,7 @@ static int gs_internal_connect(libcommaddrinfo* libcomm_addrinfo) QCConnKey key = { .query_id = libcomm_addrinfo->streamKey.queryId, .plan_node_id = libcomm_addrinfo->streamKey.planNodeId, - .node_id = node_idx, + .node_id = (uint16)node_idx, .type = SPQ_QE_CONNECTION, }; bool found = false; diff --git a/src/gausskernel/cbb/communication/libcomm_utils/libcomm_shakehands.cpp b/src/gausskernel/cbb/communication/libcomm_utils/libcomm_shakehands.cpp index 9bec0b403..fc1392693 100644 --- a/src/gausskernel/cbb/communication/libcomm_utils/libcomm_shakehands.cpp +++ b/src/gausskernel/cbb/communication/libcomm_utils/libcomm_shakehands.cpp @@ -90,14 +90,15 @@ static int gs_r_build_reply_connection(FCMSG_T* fcmsgr, int local_version) errno_t ss_rc; uint32 cpylen; - int node_idx = fcmsgr->node_idx; + uint16 node_idx = fcmsgr->node_idx; #ifdef USE_SPQ int streamid = gs_get_stream_id(node_idx); *sid = streamid; #else int streamid = fcmsgr->streamid; #endif - int remote_version = fcmsgr->version; + Assert(streamid >= 0); + uint16 remote_version = fcmsgr->version; // get remote nodename and host from global variable char remote_host[HOST_ADDRSTRLEN] = {0x0}; @@ -197,7 +198,7 @@ static int gs_r_build_reply_connection(FCMSG_T* fcmsgr, int local_version) if (found) { entry->backward = { .idx = node_idx, - .sid = streamid, + .sid = (uint16)streamid, .ver = remote_version, .type = GSOCK_CONSUMER, }; diff --git a/src/gausskernel/ddes/adapter/ss_dms_callback.cpp b/src/gausskernel/ddes/adapter/ss_dms_callback.cpp index b243e0de6..11b2a614c 100644 --- a/src/gausskernel/ddes/adapter/ss_dms_callback.cpp +++ b/src/gausskernel/ddes/adapter/ss_dms_callback.cpp @@ -635,7 +635,7 @@ static int tryEnterLocalPage(BufferTag *tag, dms_lock_mode_t mode, dms_buf_ctrl_ if (!(pg_atomic_read_u64(&buf_desc->state) & BM_VALID)) { ereport(WARNING, (errmodule(MOD_DMS), - errmsg("[%d/%d/%d/%d %d-%d] try enter page failed, buffer is not valid, state = 0x%x", + errmsg("[%d/%d/%d/%d %d-%d] try enter page failed, buffer is not valid, state = 0x%lx", tag->rnode.spcNode, tag->rnode.dbNode, tag->rnode.relNode, tag->rnode.bucketNode, tag->forkNum, tag->blockNum, buf_desc->state))); DmsReleaseBuffer(buf_desc->buf_id + 1, is_seg); @@ -646,7 +646,7 @@ static int tryEnterLocalPage(BufferTag *tag, dms_lock_mode_t mode, dms_buf_ctrl_ if (pg_atomic_read_u64(&buf_desc->state) & BM_IO_ERROR) { ereport(WARNING, (errmodule(MOD_DMS), - errmsg("[%d/%d/%d/%d %d-%d] try enter page failed, buffer is io error, state = 0x%x", + errmsg("[%d/%d/%d/%d %d-%d] try enter page failed, buffer is io error, state = 0x%lx", tag->rnode.spcNode, tag->rnode.dbNode, tag->rnode.relNode, tag->rnode.bucketNode, tag->forkNum, tag->blockNum, buf_desc->state))); DmsReleaseBuffer(buf_desc->buf_id + 1, is_seg); @@ -776,7 +776,7 @@ static int CBInvalidatePage(void *db_handle, char pageid[DMS_PAGEID_SIZE], unsig if (!(buf_state & BM_VALID) || (buf_state & BM_IO_ERROR)) { ereport(LOG, (errmodule(MOD_DMS), - errmsg("[%d/%d/%d/%d %d-%d] invalidate page, buffer is not valid or io error, state = 0x%x", + errmsg("[%d/%d/%d/%d %d-%d] invalidate page, buffer is not valid or io error, state = 0x%lx", tag->rnode.spcNode, tag->rnode.dbNode, tag->rnode.relNode, tag->rnode.bucketNode, tag->forkNum, tag->blockNum, buf_desc->state))); UnlockBufHdr(buf_desc, buf_state); @@ -792,7 +792,7 @@ static int CBInvalidatePage(void *db_handle, char pageid[DMS_PAGEID_SIZE], unsig XLogRecPtrIsValid(pg_atomic_read_u64(&buf_desc->extra->rec_lsn)) || (buf_ctrl->state & BUF_DIRTY_NEED_FLUSH)) { ereport(DEBUG1, (errmodule(MOD_DMS), - errmsg("[%d/%d/%d/%d %d-%d] invalidate owner rejected, buffer is dirty/permanent, state = 0x%x", + errmsg("[%d/%d/%d/%d %d-%d] invalidate owner rejected, buffer is dirty/permanent, state = 0x%lx", tag->rnode.spcNode, tag->rnode.dbNode, tag->rnode.relNode, tag->rnode.bucketNode, tag->forkNum, tag->blockNum, buf_desc->state))); ret = DMS_ERROR; @@ -829,7 +829,7 @@ static int CBInvalidatePage(void *db_handle, char pageid[DMS_PAGEID_SIZE], unsig if ((!(pg_atomic_read_u64(&buf_desc->state) & BM_VALID)) || (pg_atomic_read_u64(&buf_desc->state) & BM_IO_ERROR)) { ereport(LOG, (errmodule(MOD_DMS), - errmsg("[%d/%d/%d/%d %d-%d] invalidate page, buffer is not valid or io error, state = 0x%x", + errmsg("[%d/%d/%d/%d %d-%d] invalidate page, buffer is not valid or io error, state = 0x%lx", tag->rnode.spcNode, tag->rnode.dbNode, tag->rnode.relNode, tag->rnode.bucketNode, tag->forkNum, tag->blockNum, buf_desc->state))); DmsReleaseBuffer(buf_id + 1, IsSegmentBufferID(buf_id)); @@ -1857,7 +1857,7 @@ static void CBReformStartNotify(void *db_handle, dms_reform_start_context_t *rs_ ReformTypeToString(reform_info->reform_type, reform_type_str); ereport(LOG, (errmodule(MOD_DMS), errmsg("[SS reform] reform start, role:%d, reform type:SS %s, standby scenario:%d, " - "reform_ver:%llu.", + "reform_ver:%ld.", reform_info->dms_role, reform_type_str, SSPerformingStandbyScenario(), reform_info->reform_ver))); if (reform_info->dms_role == DMS_ROLE_REFORMER) { @@ -1867,7 +1867,7 @@ static void CBReformStartNotify(void *db_handle, dms_reform_start_context_t *rs_ int old_primary = SSGetPrimaryInstId(); SSReadControlFile(old_primary, true); g_instance.dms_cxt.SSReformInfo.old_bitmap = g_instance.dms_cxt.SSReformerControl.list_stable; - ereport(LOG, (errmsg("[SS reform] old cluster node bitmap: %lld", g_instance.dms_cxt.SSReformInfo.old_bitmap))); + ereport(LOG, (errmsg("[SS reform] old cluster node bitmap: %lu", g_instance.dms_cxt.SSReformInfo.old_bitmap))); if (g_instance.dms_cxt.SSRecoveryInfo.in_failover) { FailoverCleanBackends(); @@ -1900,9 +1900,10 @@ static int CBReformDoneNotify(void *db_handle) g_instance.dms_cxt.SSRecoveryInfo.failover_ckpt_status = NOT_ACTIVE; Assert(g_instance.dms_cxt.SSRecoveryInfo.in_flushcopy == false); g_instance.dms_cxt.SSReformInfo.new_bitmap = g_instance.dms_cxt.SSReformerControl.list_stable; - ereport(LOG, (errmsg("[SS reform] new cluster node bitmap: %lld", g_instance.dms_cxt.SSReformInfo.new_bitmap))); + ereport(LOG, (errmsg("[SS reform] new cluster node bitmap: %lu", g_instance.dms_cxt.SSReformInfo.new_bitmap))); g_instance.dms_cxt.SSReformInfo.reform_end_time = GetCurrentTimestamp(); g_instance.dms_cxt.SSReformInfo.reform_success = true; + ereport(LOG, (errmodule(MOD_DMS), errmsg("[SS reform/SS switchover/SS failover] Reform success, instance:%d is running.", diff --git a/src/gausskernel/ddes/adapter/ss_dms_recovery.cpp b/src/gausskernel/ddes/adapter/ss_dms_recovery.cpp index 68eebafb8..eb1f0a8ea 100644 --- a/src/gausskernel/ddes/adapter/ss_dms_recovery.cpp +++ b/src/gausskernel/ddes/adapter/ss_dms_recovery.cpp @@ -429,7 +429,7 @@ bool SSPageReplayNeedSkip(RedoBufferInfo *bufferinfo, XLogRecPtr xlogLsn) #ifdef USE_ASSERT_CHECKING if (buf_ctrl->state & BUF_DIRTY_NEED_FLUSH && XLByteLT(pageLsn, xlogLsn)) { ereport(PANIC, (errmodule(MOD_DMS), errmsg("[SS redo][%u/%u/%u/%d %d-%u] page should be newest but not, " - "xlogLsn:%llu, pageLsn:%llu", + "xlogLsn:%lu, pageLsn:%lu", blockinfo->rnode.spcNode, blockinfo->rnode.dbNode, blockinfo->rnode.relNode, blockinfo->rnode.bucketNode, blockinfo->forknum, blockinfo->blkno, xlogLsn, pageLsn))); @@ -442,7 +442,7 @@ bool SSPageReplayNeedSkip(RedoBufferInfo *bufferinfo, XLogRecPtr xlogLsn) bufferinfo->pageinfo.pagesize = BufferGetPageSize(buf); #ifdef USE_ASSERT_CHECKING ereport(LOG, (errmodule(MOD_DMS), errmsg("[SS redo][%u/%u/%u/%d %d-%u] page skip replay, " - "xlogLsn:%llu, pageLsn:%llu", + "xlogLsn:%lu, pageLsn:%lu", blockinfo->rnode.spcNode, blockinfo->rnode.dbNode, blockinfo->rnode.relNode, blockinfo->rnode.bucketNode, blockinfo->forknum, blockinfo->blkno, xlogLsn, pageLsn))); diff --git a/src/gausskernel/ddes/adapter/ss_init.cpp b/src/gausskernel/ddes/adapter/ss_init.cpp index 7b26d7d4e..14fed93b8 100644 --- a/src/gausskernel/ddes/adapter/ss_init.cpp +++ b/src/gausskernel/ddes/adapter/ss_init.cpp @@ -582,7 +582,7 @@ void StartupWaitReform() if (wait_ver != reform_info->reform_ver) { ereport(LOG, (errmodule(MOD_DMS), errmsg("[SS reform] startup no need wait for reform finish, cause new reform has begun. " - "current reform version:%llu,startup wait reform version:%llu", + "current reform version:%ld,startup wait reform version:%ld", reform_info->reform_ver, wait_ver))); break; } diff --git a/src/gausskernel/ddes/adapter/ss_reform_common.cpp b/src/gausskernel/ddes/adapter/ss_reform_common.cpp index 128b384f0..3621e27aa 100644 --- a/src/gausskernel/ddes/adapter/ss_reform_common.cpp +++ b/src/gausskernel/ddes/adapter/ss_reform_common.cpp @@ -114,8 +114,6 @@ int SSReadXlogInternal(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr, XL int readLen) { uint32 preReadOff; - XLogRecPtr xlogFlushPtrForPerRead = xlogreader->xlogFlushPtrForPerRead; - bool isReadFile = true; Assert(readLen > 0); Assert(readLen <= XLogPreReadSize); @@ -597,7 +595,7 @@ void SSWaitStartupExit(bool send_signal) long rto_limit = SS_RTO_LIMIT; ereport(LOG, (errmodule(MOD_DMS), - errmsg("[SS reform] wait startup thread exit until RTO limit time:%d sec", + errmsg("[SS reform] wait startup thread exit until RTO limit time:%ld sec", rto_limit / (1000 * 1000)))); long wait_time = 0; @@ -654,7 +652,7 @@ void SSHandleStartupWhenReformStart(dms_reform_start_context_t *rs_cxt) SSWaitStartupExit(false); } else { ereport(WARNING, (errmodule(MOD_DMS), - errmsg("[SS reform] start phase, last round reform version:%llu, startup wait version:%llu", + errmsg("[SS reform] start phase, last round reform version:%ld, startup wait version:%ld", reform_info->reform_ver, reform_info->reform_ver_startup_wait))); SSProcessForceExit(); } diff --git a/src/gausskernel/optimizer/commands/prepare.cpp b/src/gausskernel/optimizer/commands/prepare.cpp index 78ae86ca4..cf965ed58 100755 --- a/src/gausskernel/optimizer/commands/prepare.cpp +++ b/src/gausskernel/optimizer/commands/prepare.cpp @@ -915,7 +915,6 @@ DatanodeStatement* light_set_datanode_queries(const char* stmt_name) void StorePreparedStatementCNGPC(const char *stmt_name, CachedPlanSource *plansource, bool from_sql, bool is_share) { - TimestampTz cur_ts = GetCurrentStatementStartTimestamp(); bool found = false; /* Initialize the hash table, if necessary */ diff --git a/src/gausskernel/optimizer/commands/tablecmds.cpp b/src/gausskernel/optimizer/commands/tablecmds.cpp index c0e535d49..ee50b88e4 100755 --- a/src/gausskernel/optimizer/commands/tablecmds.cpp +++ b/src/gausskernel/optimizer/commands/tablecmds.cpp @@ -2932,7 +2932,6 @@ ObjectAddress DefineRelation(CreateStmt* stmt, char relkind, Oid ownerId, Object } if (stmt->partTableState) { ListCell* cell = NULL; - Oid partTablespaceId = InvalidOid; char* partitionName = NULL; char* tableSpaceName = NULL; IntervalPartitionDefState* interValPartDef = stmt->partTableState->intervalPartDef; @@ -12158,7 +12157,6 @@ void CheckPgRewriteWithDroppedColumn(Oid rel_oid, Oid rw_oid, Form_pg_attribute AttrNumber rtevarattno = 0; if (nodeTag((Node*)tle->expr) == T_Var && tle->resorigtbl == rel_oid && tle->resorigcol == old_attnum) { - ListCell* rtelc = NULL; tle->resorigcol = attForm->attnum; Var *var = (Var *)tle->expr; rtevarno = var->varno; @@ -15231,97 +15229,6 @@ static void ATExecValidateAbilityConstraint(Relation rel, char* constrName, bool heap_close(conrel, RowExclusiveLock); } - -static void ATExecDeferredConstraintOnCommit(Oid relid) -{ - Relation conrel; - Relation rel; - Form_pg_constraint con; - SysScanDesc scan; - ScanKeyData key; - HeapTuple tuple; - - rel = heap_open(relid, NoLock); - conrel = heap_open(ConstraintRelationId, RowExclusiveLock); - /* - * Find and drop the target constraint - */ - ScanKeyInit( - &key, Anum_pg_constraint_conrelid, BTEqualStrategyNumber, F_OIDEQ, relid); - scan = systable_beginscan(conrel, ConstraintRelidIndexId, true, NULL, 1, &key); - - while (HeapTupleIsValid(tuple = systable_getnext(scan))) { - con = (Form_pg_constraint)GETSTRUCT(tuple); - if (con->contype != CONSTRAINT_CHECK) - continue; - if (!con->condeferred) - continue; - if (!RelationIsPartitioned(rel)) { - if (RELATION_CREATE_BUCKET(rel)) { - /* validate constraint for every buckets */ - validateCheckConstraintForBucket(rel, NULL, tuple); - } else { - validateCheckConstraint(rel, tuple); - } - } else if (RelationIsSubPartitioned(rel)) { - List* partitions = NIL; - ListCell* cell = NULL; - Partition partition = NULL; - Relation partRel = NULL; - - partitions = relationGetPartitionList(rel, AccessExclusiveLock); - foreach (cell, partitions) { - partition = (Partition)lfirst(cell); - partRel = partitionGetRelation(rel, partition); - - List *subpartitions = relationGetPartitionList(partRel, AccessExclusiveLock); - ListCell *subcell = NULL; - foreach (subcell, subpartitions) { - Partition subpartition = (Partition)lfirst(subcell); - if (RELATION_OWN_BUCKETKEY(rel)) { - /* validate constraint for every buckets */ - validateCheckConstraintForBucket(partRel, subpartition, tuple); - } else { - Relation subpartRel = partitionGetRelation(partRel, subpartition); - validateCheckConstraint(subpartRel, tuple); - releaseDummyRelation(&subpartRel); - } - } - releasePartitionList(partRel, &subpartitions, AccessExclusiveLock); - releaseDummyRelation(&partRel); - } - releasePartitionList(rel, &partitions, AccessExclusiveLock); - } else { - List* partitions = NIL; - ListCell* cell = NULL; - Partition partition = NULL; - Relation partRel = NULL; - - partitions = relationGetPartitionList(rel, AccessExclusiveLock); - foreach (cell, partitions) { - partition = (Partition)lfirst(cell); - if (RELATION_OWN_BUCKETKEY(rel)) { - /* validate constraint for every buckets */ - validateCheckConstraintForBucket(rel, partition, tuple); - } else { - partRel = partitionGetRelation(rel, partition); - validateCheckConstraint(partRel, tuple); - releaseDummyRelation(&partRel); - } - } - releasePartitionList(rel, &partitions, AccessExclusiveLock); - } - - /* - * Invalidate relcache so that others see the new validated - * constraint. - */ - CacheInvalidateRelcache(rel); - } - heap_close(conrel, RowExclusiveLock); - heap_close(rel, NoLock); -} - /* * transformColumnNameList - transform list of column names * diff --git a/src/gausskernel/optimizer/plan/createplan.cpp b/src/gausskernel/optimizer/plan/createplan.cpp index 549186cc0..8df755db7 100755 --- a/src/gausskernel/optimizer/plan/createplan.cpp +++ b/src/gausskernel/optimizer/plan/createplan.cpp @@ -200,8 +200,10 @@ static void min_max_optimization(PlannerInfo* root, CStoreScan* scan_plan); static bool find_var_from_targetlist(Expr* expr, List* targetList); static Plan* parallel_limit_sort( PlannerInfo* root, Plan* lefttree, Node* limitOffset, Node* limitCount, int64 offset_est, int64 count_est); +#ifdef ENABLE_MULTIPLE_NODES static void estimate_directHashjoin_Cost( PlannerInfo* root, List* hashclauses, Plan* outerPlan, Plan* hash_plan, HashJoin* join_plan); +#endif static bool is_result_random(PlannerInfo* root, Plan* lefttree); @@ -6527,6 +6529,7 @@ static NestLoop* make_nestloop(List* tlist, List* joinclauses, List* otherclause return node; } +#ifdef ENABLE_MULTIPLE_NODES /* estimate_directHashjoin_Cost * the function used to estimate the mem_info for join_plan, refered to the function initial_cost_hashjoin. * it used to copy the inner_mem_info\cost\plan_rows and plan_width to the join_plan. @@ -6614,7 +6617,6 @@ static void estimate_directHashjoin_Cost( join_plan->join.plan.plan_width = outer_width; } -#ifdef ENABLE_MULTIPLE_NODES HashJoin* create_direct_hashjoin( PlannerInfo* root, Plan* outerPlan, Plan* innerPlan, List* tlist, List* joinClauses, JoinType joinType) { @@ -6734,6 +6736,7 @@ static bool replace_scan_clause_walker(Node* node, replace_scan_clause_context* return expression_tree_walker(node, (bool (*)())replace_scan_clause_walker, (void*)context); } +#ifdef ENABLE_MULTIPLE_NODES static List* replace_scan_clause(List* scan_clauses, Index idx) { replace_scan_clause_context context; @@ -6754,7 +6757,6 @@ static List* replace_scan_clause(List* scan_clauses, Index idx) return context.scan_clauses; } -#ifdef ENABLE_MULTIPLE_NODES Plan* create_direct_scan(PlannerInfo* root, List* tlist, RangeTblEntry* realResultRTE, Index src_idx, Index dest_idx) { Plan* result = NULL; diff --git a/src/gausskernel/optimizer/plan/initsplan.cpp b/src/gausskernel/optimizer/plan/initsplan.cpp index 0a280203d..8ce63ff77 100644 --- a/src/gausskernel/optimizer/plan/initsplan.cpp +++ b/src/gausskernel/optimizer/plan/initsplan.cpp @@ -651,10 +651,11 @@ static void find_non_keypreservered_rels(PlannerInfo* root, HTAB* htab, Relids* break; } } - if (leftpart && !is_key_preserved && relidx == leftpart->rtindex) { + /* always false if leftpart->rtindex < 0 */ + if (leftpart && !is_key_preserved && leftpart->rtindex >= 0 && relidx == (Index)leftpart->rtindex) { left_is_key_preserved = false; } - if (rightpart && !is_key_preserved && relidx == rightpart->rtindex) { + if (rightpart && !is_key_preserved &&leftpart->rtindex >= 0 && relidx == (Index)rightpart->rtindex) { right_is_key_preserved = false; } if ((!is_key_preserved && rel_is_member_of_non_keypreserved(root, relidx, *non_keypreserved)) || @@ -664,7 +665,7 @@ static void find_non_keypreservered_rels(PlannerInfo* root, HTAB* htab, Relids* errmsg("Cannot sample a join view without a key-preserved table"))); } if (!is_key_preserved) { - *non_keypreserved = bms_add_member(*non_keypreserved, relidx); + *non_keypreserved = bms_add_member(*non_keypreserved, (int)relidx); } relation_close(relation, AccessShareLock); } diff --git a/src/gausskernel/optimizer/util/tlist.cpp b/src/gausskernel/optimizer/util/tlist.cpp index c3cd04ec9..df989b001 100644 --- a/src/gausskernel/optimizer/util/tlist.cpp +++ b/src/gausskernel/optimizer/util/tlist.cpp @@ -1552,7 +1552,8 @@ TargetEntry* get_sortgroupref_tle_spq(Index sortref, List* targetList, bool repo foreach (l, targetList) { TargetEntry* tle = (TargetEntry*)lfirst(l); - if (IS_SPQ_COORDINATOR && tle->resno == sortref && tle->ressortgroupref == 0) { + /* user defined attribute numbers start at 1 */ + if (IS_SPQ_COORDINATOR && (Index)tle->resno == sortref && tle->ressortgroupref == 0) { return tle; } } diff --git a/src/gausskernel/process/stream/streamCore.cpp b/src/gausskernel/process/stream/streamCore.cpp index 7ac17a2a1..4fdbc28c8 100755 --- a/src/gausskernel/process/stream/streamCore.cpp +++ b/src/gausskernel/process/stream/streamCore.cpp @@ -629,7 +629,7 @@ void StreamNodeGroup::quitSyncPoint() ereport(WARNING, (errmsg("Stream sub thread m_quitWaitCond invalid: %d. " "To get backtrace detail, set backtrace_min_messages=warning.", m_quitWaitCond))); ereport(LOG, (errmsg("Stream info, smp id: %u, m_streamEnter: %d, m_streamEnterCount: %d, " - "ThreadId: %u, m_createThreadNum: %d, m_size: %d", + "ThreadId: %lu, m_createThreadNum: %d, m_size: %d", u_sess->stream_cxt.smp_id, m_streamEnter, m_streamEnterCount, (u_sess->stream_cxt.producer_obj)->getThreadId(), m_createThreadNum, m_size))); } @@ -645,7 +645,7 @@ void StreamNodeGroup::quitSyncPoint() } } streamLock.unLock(); - } else if (StreamTopConsumerAmI() == true) { + } else if (StreamTopConsumerAmI()) { /* if none thread is created ,no bother to wait on condition. */ if (m_createThreadNum != 0) { AutoMutexLock streamLock(&m_mutex); diff --git a/src/gausskernel/runtime/executor/nodeValuesscan.cpp b/src/gausskernel/runtime/executor/nodeValuesscan.cpp index 606836940..474023452 100644 --- a/src/gausskernel/runtime/executor/nodeValuesscan.cpp +++ b/src/gausskernel/runtime/executor/nodeValuesscan.cpp @@ -124,7 +124,6 @@ static TupleTableSlot* ValuesNext(ValuesScanState* node) is_null = slot->tts_isnull; RightRefState* refState = econtext->rightRefState; - int targetCount = list_length(expr_state_list); int colCnt = (IS_ENABLE_RIGHT_REF(refState) && refState->colCnt > 0) ? refState->colCnt : 1; bool hasExecs[colCnt]; diff --git a/src/gausskernel/runtime/opfusion/opfusion_update.cpp b/src/gausskernel/runtime/opfusion/opfusion_update.cpp index e1f3a3226..70b82de19 100644 --- a/src/gausskernel/runtime/opfusion/opfusion_update.cpp +++ b/src/gausskernel/runtime/opfusion/opfusion_update.cpp @@ -113,7 +113,6 @@ void UpdateFusion::InitBaseParam(List* targetList) FuncExpr* func = NULL; Expr* expr = NULL; OpExpr* opexpr = NULL; - TargetEntry* res = NULL; foreach (lc, targetList) { /* ignore ctid + tablebucketid or ctid at last */ diff --git a/src/gausskernel/storage/access/index/indexam.cpp b/src/gausskernel/storage/access/index/indexam.cpp index 3094395e6..999398d2b 100644 --- a/src/gausskernel/storage/access/index/indexam.cpp +++ b/src/gausskernel/storage/access/index/indexam.cpp @@ -525,7 +525,7 @@ rescan: #ifdef USE_SPQ if (IS_SPQ_EXECUTOR && scan->spq_scan != NULL) { BlockNumber unitno = SPQSCAN_BlockNum2UnitNum(ItemPointerGetBlockNumber(&scan->xs_ctup.t_self)); - if ((unitno % scan->spq_scan->slice_num) != scan->spq_scan->instance_id) + if ((int)(unitno % scan->spq_scan->slice_num) != scan->spq_scan->instance_id) goto rescan; } #endif diff --git a/src/gausskernel/storage/access/rmgrdesc/logicalddlmsgdesc.cpp b/src/gausskernel/storage/access/rmgrdesc/logicalddlmsgdesc.cpp index e97426e46..fd4155a75 100644 --- a/src/gausskernel/storage/access/rmgrdesc/logicalddlmsgdesc.cpp +++ b/src/gausskernel/storage/access/rmgrdesc/logicalddlmsgdesc.cpp @@ -22,7 +22,7 @@ logicalddlmsg_desc(StringInfo buf, XLogReaderState *record) uint8 info = XLogRecGetInfo(record) & ~XLR_INFO_MASK; if (info == XLOG_LOGICAL_DDL_MESSAGE) { - int cnt = 0; + Size cnt = 0; xl_logical_ddl_message *xlrec = (xl_logical_ddl_message *) rec; char *prefix = xlrec->message; char *message = xlrec->message + xlrec->prefix_size; diff --git a/src/gausskernel/storage/access/transam/ondemand_extreme_rto/dispatcher.cpp b/src/gausskernel/storage/access/transam/ondemand_extreme_rto/dispatcher.cpp index 587bb095d..a11708718 100644 --- a/src/gausskernel/storage/access/transam/ondemand_extreme_rto/dispatcher.cpp +++ b/src/gausskernel/storage/access/transam/ondemand_extreme_rto/dispatcher.cpp @@ -422,7 +422,7 @@ void HandleStartupInterruptsForExtremeRto() if (t_thrd.startup_cxt.shutdown_requested) { if (g_instance.status != SmartShutdown) { if (ENABLE_ONDEMAND_REALTIME_BUILD && - (SS_PERFORMING_SWITCHOVER || (SS_STANDBY_MODE && DMS_REFORM_TYPE_FOR_FAILOVER_OPENGAUSS))) { + (SS_PERFORMING_SWITCHOVER || SS_STANDBY_MODE)) { Assert(!SS_ONDEMAND_REALTIME_BUILD_DISABLED); proc_exit(0); } else { diff --git a/src/gausskernel/storage/access/transam/ondemand_extreme_rto/page_redo.cpp b/src/gausskernel/storage/access/transam/ondemand_extreme_rto/page_redo.cpp index 88c296a61..b1d44337e 100644 --- a/src/gausskernel/storage/access/transam/ondemand_extreme_rto/page_redo.cpp +++ b/src/gausskernel/storage/access/transam/ondemand_extreme_rto/page_redo.cpp @@ -2104,7 +2104,6 @@ LWLock* OndemandGetXLogPartitionLock(BufferDesc* bufHdr, ForkNumber forkNum, Blo */ int checkBlockRedoStateAndTryHashMapLock(BufferDesc* bufHdr, ForkNumber forkNum, BlockNumber blockNum) { LWLock *xlog_partition_lock = NULL; - RedoBufferInfo bufferInfo; ondemand_extreme_rto::RedoItemTag redoItemTag; dms_buf_ctrl_t *buf_ctrl = GetDmsBufCtrl(bufHdr->buf_id); bool noNeedRedo = false; diff --git a/src/gausskernel/storage/access/transam/parallel_recovery/page_redo.cpp b/src/gausskernel/storage/access/transam/parallel_recovery/page_redo.cpp index 48f79c9f6..c70f63aa3 100755 --- a/src/gausskernel/storage/access/transam/parallel_recovery/page_redo.cpp +++ b/src/gausskernel/storage/access/transam/parallel_recovery/page_redo.cpp @@ -1029,7 +1029,6 @@ XLogRecPtr GetReplyingRecPtr(PageRedoWorker *worker) { XLogRecPtr curReplayingReadRecPtr; XLogRecPtr lastReplayedEndRecPtr; - XLogRecPtr result; pg_read_barrier(); curReplayingReadRecPtr = pg_atomic_read_u64(&worker->curReplayingReadRecPtr); diff --git a/src/gausskernel/storage/access/transam/parallel_recovery/txn_redo.cpp b/src/gausskernel/storage/access/transam/parallel_recovery/txn_redo.cpp index 077a79491..9231162fe 100644 --- a/src/gausskernel/storage/access/transam/parallel_recovery/txn_redo.cpp +++ b/src/gausskernel/storage/access/transam/parallel_recovery/txn_redo.cpp @@ -316,7 +316,6 @@ void ApplyReadyTxnLogRecords(TxnRedoWorker *worker, bool forceAll) XLogRecPtr oldReplayedPageLSN = InvalidXLogRecPtr; XLogRecPtr lrRead; XLogRecPtr lrEnd; - XLogRecPtr curRead; do { GetReplayedRecPtrFromWorkers(&lrRead, &lrEnd); if (XLByteLT(g_dispatcher->dispatchEndRecPtr, lrEnd)) { diff --git a/src/gausskernel/storage/access/transam/xlog.cpp b/src/gausskernel/storage/access/transam/xlog.cpp index d8459cc72..497a9e34c 100755 --- a/src/gausskernel/storage/access/transam/xlog.cpp +++ b/src/gausskernel/storage/access/transam/xlog.cpp @@ -1668,7 +1668,6 @@ loop: SpinLockRelease(&Insert->insertpos_lck); #endif /* __x86_64__ || __aarch64__ */ - /* /* * Wait for the WAL copy thread obtaining the "*lastlrc_ptr - 1" to finish * *lastlrc_ptr is the LRC for the next WAL insert thread to acquire @@ -1948,7 +1947,7 @@ static char *GetXLogBuffer(XLogRecPtr ptr, PGPROC *proc) { int idx; XLogRecPtr endptr; - XLogRecPtr pastEndPtr = NULL; + XLogRecPtr pastEndPtr = InvalidXLogRecPtr; XLogRecPtr expectedEndPtr; /* diff --git a/src/gausskernel/storage/buffer/bufmgr.cpp b/src/gausskernel/storage/buffer/bufmgr.cpp index 70cca60c0..51885101c 100644 --- a/src/gausskernel/storage/buffer/bufmgr.cpp +++ b/src/gausskernel/storage/buffer/bufmgr.cpp @@ -1639,7 +1639,6 @@ Buffer MultiReadBufferExtend(Relation reln, ForkNumber fork_num, BlockNumber blo Buffer buf; char* bufRead; int paramNum = 0; - MemoryContext* memCxt = NULL; MemoryContext oldContext; if (block_num == P_NEW) { @@ -2325,7 +2324,6 @@ Buffer MultiBulkReadBufferCommon(SMgrRelation smgr, char relpersistence, ForkNum bool found = false; bool isLocalBuf = SmgrIsTemp(smgr); MemoryContext oldContext; - bool* check_fail; *hit = false; @@ -2385,7 +2383,6 @@ Buffer MultiBulkReadBufferCommon(SMgrRelation smgr, char relpersistence, ForkNum pgstatCountSharedBlocksRead4SessionLevel(); } } -found_branch: if (found) { *hit = true; t_thrd.vacuum_cxt.VacuumPageHit++; @@ -2417,7 +2414,8 @@ found_branch: firstBufHdr =bufHdr; /* We should caculate the max-blocks again, MAX_SIMUL_LWLOCKS is 4224 */ - maxBulkCount = Min(maxBulkCount, (BlockNumber) RELSEG_SIZE - (firstBlockNum % (BlockNumber) RELSEG_SIZE)); + BlockNumber tmpBlk = (BlockNumber)RELSEG_SIZE - (firstBlockNum % (BlockNumber)RELSEG_SIZE); + maxBulkCount = Min(maxBulkCount, (int)tmpBlk); remaining_lwlock = MAX_SIMUL_LWLOCKS - t_thrd.storage_cxt.num_held_lwlocks; maxBulkCount = Min(remaining_lwlock, maxBulkCount); diff --git a/src/gausskernel/storage/gs_uwal/gs_uwal.cpp b/src/gausskernel/storage/gs_uwal/gs_uwal.cpp index 9b7d2c19f..b0e330302 100644 --- a/src/gausskernel/storage/gs_uwal/gs_uwal.cpp +++ b/src/gausskernel/storage/gs_uwal/gs_uwal.cpp @@ -957,7 +957,7 @@ UwalVector *GsUwalGetInitInfo() vec->uwals = uwalInfos; int ret = ock_uwal_query_by_user(user, UWAL_ROUTE_LOCAL, vec); if (ret != 0 || vec->cnt == 0) { - ereport(LOG, (errmsg("Get uwal base info failed, ret: %d, cnt: %lu", ret, vec->cnt))); + ereport(LOG, (errmsg("Get uwal base info failed, ret: %d, cnt: %u", ret, vec->cnt))); pfree(uwalInfos); pfree(vec); return nullptr; @@ -1177,7 +1177,7 @@ int GsUwalWriteAsync(int nBytes, char *buf, uint64_t targetOffset) g_commonCbCtx.opCount = batchIONumber; for (int i = 0; i < batchIONumber; i++) { - UwalBuffer buffers[1] = {{buf + bufferOffset, batchIOSize}}; + UwalBuffer buffers[1] = {{buf + bufferOffset, (uint64_t)batchIOSize}}; UwalBufferList bufferList = {1, buffers}; UwalCallBack uwalCB = {GsUwalWriteAsyncCallBack, &(g_cbCtxList[i])}; UwalAppendParam appendParam = {id, &bufferList, &uwalCB}; @@ -1368,7 +1368,7 @@ int GsUwalRewind(UwalId *id, uint64_t offset) if (ret != 0) { ereport(WARNING, (errmsg("GsUwalRewind return failed, ret: %d", ret))); } - ereport(LOG, (errmsg("UwalRewin: Offset %llu", offset))); + ereport(LOG, (errmsg("UwalRewin: Offset %lu", offset))); return ret; } @@ -1395,7 +1395,7 @@ void GsUwalRenewFileRenamePtr() securec_check_ss(errorno, "", ""); // If the file exists, move the offset backwards. if (access(path, F_OK) == 0) { - ereport(WARNING, (errmsg("Truncate file is still in uwal path, lsn %llu", renamedLSN))); + ereport(WARNING, (errmsg("Truncate file is still in uwal path, lsn %lu", renamedLSN))); renamedLSN -= 1; continue; } @@ -1413,7 +1413,7 @@ bool GsUwalCheckFileRename(XLogRecPtr targetPtr) XLogRecPtr truncatePtr = t_thrd.xlog_cxt.uwalInfo.info.truncateOffset; if (targetPtr >= truncatePtr) { - ereport(PANIC, (errmsg("Try to read xlog file which is not truncated by uwal, readPtr %llu, truncatePtr %llu", + ereport(PANIC, (errmsg("Try to read xlog file which is not truncated by uwal, readPtr %lu, truncatePtr %lu", targetPtr, truncatePtr))); } diff --git a/src/gausskernel/storage/nvm/nvmbuffer.cpp b/src/gausskernel/storage/nvm/nvmbuffer.cpp index ceb501b0f..f94dd0302 100644 --- a/src/gausskernel/storage/nvm/nvmbuffer.cpp +++ b/src/gausskernel/storage/nvm/nvmbuffer.cpp @@ -217,7 +217,7 @@ static void NvmWaitBufferIO(BufferDesc *buf) /* To check the InProgressBuf must be NULL. */ if (t_thrd.storage_cxt.InProgressBuf) { - ereport(PANIC, (errmsg("InProgressBuf not null: id %d flags %u, buf: id %d flags %u", + ereport(PANIC, (errmsg("InProgressBuf not null: id %d flags %lu, buf: id %d flags %lu", t_thrd.storage_cxt.InProgressBuf->buf_id, pg_atomic_read_u64(&t_thrd.storage_cxt.InProgressBuf->state) & BUF_FLAG_MASK, buf->buf_id, pg_atomic_read_u64(&buf->state) & BUF_FLAG_MASK))); diff --git a/src/gausskernel/storage/replication/walrcvwriter.cpp b/src/gausskernel/storage/replication/walrcvwriter.cpp index 08ad4bef2..5bad3a1e9 100755 --- a/src/gausskernel/storage/replication/walrcvwriter.cpp +++ b/src/gausskernel/storage/replication/walrcvwriter.cpp @@ -82,7 +82,6 @@ static int RemoveUwalFile(XLogRecPtr recptr, TimeLineID tli); static int WalRcvUwalTruncate(WalRcvCtlBlock *walrcb, UwalrcvWriterState *uwalrcv, UwalInfo *info); static void RemoveFromUwal(UwalrcvWriterState *uwalrcv, bool needUpdate); static void UpdateUwalRcv(UwalrcvWriterState *uwalrcv, UwalInfo *info); -static void RemoveRestFileFromUwal(UwalrcvWriterState *uwalrcv); extern void XlogArchUwal(XLogRecPtr archRqstPtr); void SetWalRcvWriterPID(ThreadId tid) @@ -1019,7 +1018,7 @@ int walRcvWriteUwal(WalRcvCtlBlock *walrcb, UwalrcvWriterState *uwalrcv, UwalInf uwalReadOffset = readPtr - startPtr; uwalFreeOffset = recBufferSize - uwalReadOffset; - nbytes = Min(MaxReadUwalBytes, Min(uwalFreeOffset, readLen)); + nbytes = (int)Min((int64)MaxReadUwalBytes, Min(uwalFreeOffset, readLen)); if (startPtr / XLogSegSize != t_thrd.xlog_cxt.uwalInfo.info.startWriteOffset / XLogSegSize) { if (startPtr / XLogSegSize < writePtr / XLogSegSize) { startPtr = (startPtr / XLogSegSize + 1) * XLogSegSize; @@ -1175,7 +1174,7 @@ int uwalRcvStateInit(UwalrcvWriterState *uwalrcv, UwalInfo info) SpinLockAcquire(&uwalrcv->writeMutex); uwalrcv->writePtr = info.info.writeOffset; SpinLockRelease(&uwalrcv->writeMutex); - ereport(LOG, (errmsg("uwalRcvStateInit: truncate %llu, write %llu", + ereport(LOG, (errmsg("uwalRcvStateInit: truncate %lu, write %lu", info.info.truncateOffset, info.info.writeOffset))); return 0; } @@ -1551,19 +1550,6 @@ static int MoveNotManagedUwalFile(XLogRecPtr truncatePtr, XLogRecPtr startPtr, T return 0; } -static void RemoveRestFileFromUwal(UwalrcvWriterState *uwalrcv) -{ - XLogRecPtr truncatePtr = InvalidXLogRecPtr; - XLogRecPtr startPtr = t_thrd.xlog_cxt.uwalInfo.info.startWriteOffset; - TimeLineID tli; - SpinLockAcquire(&uwalrcv->mutex); - truncatePtr = uwalrcv->truncatePtr; - tli = uwalrcv->startTimeLine; - SpinLockRelease(&uwalrcv->mutex); - MoveNotManagedUwalFile(truncatePtr, startPtr, tli); - return; -} - // Move all files not managed by uwal void MoveUwalFile(void) { diff --git a/src/gausskernel/storage/replication/walsender.cpp b/src/gausskernel/storage/replication/walsender.cpp index 648669f73..9d4e7c607 100755 --- a/src/gausskernel/storage/replication/walsender.cpp +++ b/src/gausskernel/storage/replication/walsender.cpp @@ -4897,7 +4897,7 @@ retry: } if (t_thrd.xlog_cxt.uwalInfo.info.dataSize > 0) { if (recptr >= t_thrd.xlog_cxt.uwalInfo.info.truncateOffset) { - segbytes = Min(segbytes, MaxReadUwalBytes); + segbytes = Min(segbytes, (int)MaxReadUwalBytes); int ret = GsUwalRead(&t_thrd.xlog_cxt.uwalInfo.id, recptr, p, segbytes); if (ret == 0) { need_read = false; diff --git a/src/gausskernel/storage/smgr/segment/data_file.cpp b/src/gausskernel/storage/smgr/segment/data_file.cpp index 66904dd33..c36a04b43 100644 --- a/src/gausskernel/storage/smgr/segment/data_file.cpp +++ b/src/gausskernel/storage/smgr/segment/data_file.cpp @@ -671,17 +671,17 @@ void df_direct_pread_block(SegLogicFile *sf, char *buffer, BlockNumber blocknum, pgstat_report_waitevent(WAIT_EVENT_DATA_FILE_READ); SegPhysicalFile spf = df_get_physical_file(sf, sliceno, blocknum); - int nbytes = pread(spf.fd, buffer, (*blocknums) * BLCKSZ, roffset); + ssize_t nbytes = pread(spf.fd, buffer, (*blocknums) * BLCKSZ, roffset); pgstat_report_waitevent(WAIT_EVENT_END); - if (nbytes > ((uint64)(*blocknums) * BLCKSZ) || nbytes < 0) { + if (nbytes < 0 || (size_t)nbytes > ((uint64)(*blocknums) * BLCKSZ)) { ereport(ERROR, (errcode(MOD_SEGMENT_PAGE), errcode_for_file_access(), - errmsg("could not direct read segment block %d to block %d in file %s and read size = %d", + errmsg("could not direct read segment block %d to block %d in file %s and read size = %zd", blocknum, blocknum + (*blocknums), sf->filename, nbytes), errdetail("errno: %d", errno))); - } else if (nbytes < ((uint64)(*blocknums) * BLCKSZ)) { - ereport(DEBUG1, (errmsg("Direct read has been cut off from %d to %d", *blocknums, nbytes / BLCKSZ))); + } else if ((size_t)nbytes < ((uint64)(*blocknums) * BLCKSZ)) { + ereport(DEBUG1, (errmsg("Direct read has been cut off from %d to %zd", *blocknums, nbytes / BLCKSZ))); *blocknums = nbytes / BLCKSZ; } } diff --git a/src/include/c.h b/src/include/c.h index 30fd919b3..468768a34 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -96,6 +96,8 @@ /* Must be before gettext() games below */ #include +/* Suppress redefined warning */ +#undef _ #define _(x) gettext(x) #ifndef likely diff --git a/src/include/storage/buf/buf_internals.h b/src/include/storage/buf/buf_internals.h index 3f82f7739..59a57df7d 100644 --- a/src/include/storage/buf/buf_internals.h +++ b/src/include/storage/buf/buf_internals.h @@ -58,8 +58,8 @@ * Note: TAG_VALID essentially means that there is a buffer hashtable * entry associated with the buffer's tag. */ -#define BM_IN_MIGRATE (1U << 16 << 32) /* buffer is migrating */ -#define BM_IS_TMP_BUF (1U << 21 << 32) /* temp buf, can not write to disk */ +#define BM_IN_MIGRATE (1LU << 16 << 32) /* buffer is migrating */ +#define BM_IS_TMP_BUF (1LU << 21 << 32) /* temp buf, can not write to disk */ #define BM_IS_META (1LU << 17 << 32) #define BM_LOCKED (1LU << 22 << 32) /* buffer header is locked */ #define BM_DIRTY (1LU << 23 << 32) /* data needs writing */ diff --git a/src/include/utils/elog.h b/src/include/utils/elog.h index 4f302958d..f95699115 100644 --- a/src/include/utils/elog.h +++ b/src/include/utils/elog.h @@ -143,6 +143,8 @@ extern THR_LOCAL int client_min_messages; ereport_domain(elevel, TEXTDOMAIN, rest) : (void)0) #endif +/* Suppress redefined warning */ +#undef TEXTDOMAIN #define TEXTDOMAIN NULL extern bool errstart(int elevel, const char* filename, int lineno, const char* funcname, const char* domain);