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);