diff --git a/src/backend/columnar/columnar_reader.c b/src/backend/columnar/columnar_reader.c index dec19929b..7917a446a 100644 --- a/src/backend/columnar/columnar_reader.c +++ b/src/backend/columnar/columnar_reader.c @@ -1557,7 +1557,7 @@ DeserializeDatumArray(StringInfo datumBuffer, bool *existsArray, uint32 datumCou datumTypeLength); currentDatumDataOffset = att_addlength_datum(currentDatumDataOffset, datumTypeLength, - currentDatumDataPointer); + datumArray[datumIndex]); currentDatumDataOffset = att_align_nominal(currentDatumDataOffset, datumTypeAlign); diff --git a/src/backend/distributed/metadata/node_metadata.c b/src/backend/distributed/metadata/node_metadata.c index 8586ac934..60a5ab92b 100644 --- a/src/backend/distributed/metadata/node_metadata.c +++ b/src/backend/distributed/metadata/node_metadata.c @@ -2871,15 +2871,15 @@ TupleToWorkerNode(TupleDesc tupleDescriptor, HeapTuple heapTuple) */ heap_deform_tuple(heapTuple, tupleDescriptor, datumArray, isNullArray); - char *nodeName = DatumGetCString(datumArray[Anum_pg_dist_node_nodename - 1]); - char *nodeRack = DatumGetCString(datumArray[Anum_pg_dist_node_noderack - 1]); + char *nodeName = TextDatumGetCString(datumArray[Anum_pg_dist_node_nodename - 1]); + char *nodeRack = TextDatumGetCString(datumArray[Anum_pg_dist_node_noderack - 1]); WorkerNode *workerNode = (WorkerNode *) palloc0(sizeof(WorkerNode)); workerNode->nodeId = DatumGetUInt32(datumArray[Anum_pg_dist_node_nodeid - 1]); workerNode->workerPort = DatumGetUInt32(datumArray[Anum_pg_dist_node_nodeport - 1]); workerNode->groupId = DatumGetInt32(datumArray[Anum_pg_dist_node_groupid - 1]); - strlcpy(workerNode->workerName, TextDatumGetCString(nodeName), WORKER_LENGTH); - strlcpy(workerNode->workerRack, TextDatumGetCString(nodeRack), WORKER_LENGTH); + strlcpy(workerNode->workerName, nodeName, WORKER_LENGTH); + strlcpy(workerNode->workerRack, nodeRack, WORKER_LENGTH); workerNode->hasMetadata = DatumGetBool(datumArray[Anum_pg_dist_node_hasmetadata - 1]); workerNode->metadataSynced = DatumGetBool(datumArray[Anum_pg_dist_node_metadatasynced - 1]); diff --git a/src/backend/distributed/test/foreign_key_relationship_query.c b/src/backend/distributed/test/foreign_key_relationship_query.c index e83e95bac..545c2e970 100644 --- a/src/backend/distributed/test/foreign_key_relationship_query.c +++ b/src/backend/distributed/test/foreign_key_relationship_query.c @@ -119,7 +119,7 @@ get_referencing_relation_id_list(PG_FUNCTION_ARGS) wrapper->listCell = lnext(wrapper->list, wrapper->listCell); - SRF_RETURN_NEXT(functionContext, PointerGetDatum(refId)); + SRF_RETURN_NEXT(functionContext, ObjectIdGetDatum(refId)); } else { @@ -178,7 +178,7 @@ get_referenced_relation_id_list(PG_FUNCTION_ARGS) wrapper->listCell = lnext(wrapper->list, wrapper->listCell); - SRF_RETURN_NEXT(functionContext, PointerGetDatum(refId)); + SRF_RETURN_NEXT(functionContext, ObjectIdGetDatum(refId)); } else { diff --git a/src/backend/distributed/utils/citus_safe_lib.c b/src/backend/distributed/utils/citus_safe_lib.c index 0b830fafc..82fa8f6f2 100644 --- a/src/backend/distributed/utils/citus_safe_lib.c +++ b/src/backend/distributed/utils/citus_safe_lib.c @@ -23,8 +23,6 @@ #include "distributed/citus_safe_lib.h" #include "lib/stringinfo.h" -#define citus_vsnprintf pg_vsnprintf - /* * ereport_constraint_handler is a constraint handler that calls ereport. A @@ -338,7 +336,7 @@ SafeSnprintf(char *restrict buffer, rsize_t bufsz, const char *restrict format, va_list args; va_start(args, format); - size_t result = citus_vsnprintf(buffer, bufsz, format, args); + int result = pg_vsnprintf(buffer, bufsz, format, args); va_end(args); return result; } diff --git a/src/include/distributed/citus_safe_lib.h b/src/include/distributed/citus_safe_lib.h index e039072a7..62142df0a 100644 --- a/src/include/distributed/citus_safe_lib.h +++ b/src/include/distributed/citus_safe_lib.h @@ -25,7 +25,8 @@ extern void SafeQsort(void *ptr, rsize_t count, rsize_t size, int (*comp)(const void *, const void *)); void * SafeBsearch(const void *key, const void *ptr, rsize_t count, rsize_t size, int (*comp)(const void *, const void *)); -int SafeSnprintf(char *str, rsize_t count, const char *fmt, ...); +int SafeSnprintf(char *str, rsize_t count, const char *fmt, ...) pg_attribute_printf(3, + 0); #define memset_struct_0(variable) memset(&variable, 0, sizeof(variable))