Add const to read only TableInfo pointers in pg_dump
authorPeter Eisentraut <peter@eisentraut.org>
Mon, 12 Jan 2026 13:26:26 +0000 (14:26 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Mon, 12 Jan 2026 13:26:26 +0000 (14:26 +0100)
Functions that dump table data receive their parameters through const
void * but were casting away const.  Add const qualifiers to functions
that only read the table information.

Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Discussion: https://postgr.es/m/aUQHy/MmWq7c97wK%40ip-10-97-1-34.eu-west-3.compute.internal

src/bin/pg_dump/pg_dump.c

index 328a1bad21b30bd9f68e2b21133ae1f7797054c7..d8a6b8ab0d5dd95c40985a300ee24f155ede8c5b 100644 (file)
@@ -2380,8 +2380,8 @@ selectDumpableObject(DumpableObject *dobj, Archive *fout)
 static int
 dumpTableData_copy(Archive *fout, const void *dcontext)
 {
-       TableDataInfo *tdinfo = (TableDataInfo *) dcontext;
-       TableInfo  *tbinfo = tdinfo->tdtable;
+       const TableDataInfo *tdinfo = dcontext;
+       const TableInfo *tbinfo = tdinfo->tdtable;
        const char *classname = tbinfo->dobj.name;
        PQExpBuffer q = createPQExpBuffer();
 
@@ -2548,8 +2548,8 @@ dumpTableData_copy(Archive *fout, const void *dcontext)
 static int
 dumpTableData_insert(Archive *fout, const void *dcontext)
 {
-       TableDataInfo *tdinfo = (TableDataInfo *) dcontext;
-       TableInfo  *tbinfo = tdinfo->tdtable;
+       const TableDataInfo *tdinfo = dcontext;
+       const TableInfo *tbinfo = tdinfo->tdtable;
        DumpOptions *dopt = fout->dopt;
        PQExpBuffer q = createPQExpBuffer();
        PQExpBuffer insertStmt = NULL;
@@ -2619,7 +2619,7 @@ dumpTableData_insert(Archive *fout, const void *dcontext)
                 */
                if (insertStmt == NULL)
                {
-                       TableInfo  *targettab;
+                       const TableInfo *targettab;
 
                        insertStmt = createPQExpBuffer();
 
@@ -2871,7 +2871,7 @@ static void
 dumpTableData(Archive *fout, const TableDataInfo *tdinfo)
 {
        DumpOptions *dopt = fout->dopt;
-       TableInfo  *tbinfo = tdinfo->tdtable;
+       const TableInfo *tbinfo = tdinfo->tdtable;
        PQExpBuffer copyBuf = createPQExpBuffer();
        PQExpBuffer clistBuf = createPQExpBuffer();
        DataDumperPtr dumpFn;
@@ -2892,7 +2892,7 @@ dumpTableData(Archive *fout, const TableDataInfo *tdinfo)
                (dopt->load_via_partition_root ||
                 forcePartitionRootLoad(tbinfo)))
        {
-               TableInfo  *parentTbinfo;
+               const TableInfo *parentTbinfo;
                char       *sanitized;
 
                parentTbinfo = getRootTableInfo(tbinfo);