Thank you Alvaro,

The attached patch changes the type of chunk_seq to int32,
rather than changing the %d formatting.  The other changes
are the same as in the previous patch.

Mark Dilger



On Thu, Dec 11, 2014 at 9:39 AM, Alvaro Herrera <alvhe...@2ndquadrant.com>
wrote:

> Mark Dilger wrote:
> > I found a few places in the code where a variable of
> > type Oid is printed using "%d" rather than "%u" and
> > changed them in the attached patch.
> >
> > In src/backend/replication/logical/reorderbuffer.c,
> > circa line 2494, chunk_seq is of type Oid, but
> > ent->last_chunk_seq is of type int32, leading me
> > to question if perhaps the use of %d for chunk_seq
> > is correct, but the use of Oid for the type of chunk_seq
> > is in error.  If neither is in error, perhaps someone
> > can provide a short code comment explaining the
> > logic of the signed/unsigned discrepancy.
>
> tuptoaster defines chunk_seq as signed int32; ReorderBufferToastAppendChunk
> is wrong in declaring it Oid, and so this part of your patch is bogus.
> The others seem correct.
>
> > diff --git a/src/backend/replication/logical/reorderbuffer.c
> b/src/backend/replication/logical/reorderbuffer.c
> > index 6e75398..41a4896 100644
> > --- a/src/backend/replication/logical/reorderbuffer.c
> > +++ b/src/backend/replication/logical/reorderbuffer.c
> > @@ -2487,11 +2487,11 @@ ReorderBufferToastAppendChunk(ReorderBuffer *rb,
> ReorderBufferTXN *txn,
> >               dlist_init(&ent->chunks);
> >
> >               if (chunk_seq != 0)
> > -                     elog(ERROR, "got sequence entry %d for toast chunk
> %u instead of seq 0",
> > +                     elog(ERROR, "got sequence entry %u for toast chunk
> %u instead of seq 0",
> >                                chunk_seq, chunk_id);
> >       }
> >       else if (found && chunk_seq != ent->last_chunk_seq + 1)
> > -             elog(ERROR, "got sequence entry %d for toast chunk %u
> instead of seq %d",
> > +             elog(ERROR, "got sequence entry %u for toast chunk %u
> instead of seq %d",
> >                        chunk_seq, chunk_id, ent->last_chunk_seq + 1);
> >
> >       chunk = DatumGetPointer(fastgetattr(&newtup->tuple, 3, desc,
> &isnull));
>
> --
> Álvaro Herrera                http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>
diff --git a/src/backend/access/heap/tuptoaster.c 
b/src/backend/access/heap/tuptoaster.c
index ce44bbd..d230387 100644
--- a/src/backend/access/heap/tuptoaster.c
+++ b/src/backend/access/heap/tuptoaster.c
@@ -2155,7 +2155,7 @@ toast_open_indexes(Relation toastrel,
         * wrong if there is nothing.
         */
        if (!found)
-               elog(ERROR, "no valid index found for toast relation with Oid 
%d",
+               elog(ERROR, "no valid index found for toast relation with Oid 
%u",
                         RelationGetRelid(toastrel));
 
        return res;
diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c
index c7f41a5..c25ac31 100644
--- a/src/backend/postmaster/pgstat.c
+++ b/src/backend/postmaster/pgstat.c
@@ -4540,7 +4540,7 @@ pgstat_recv_inquiry(PgStat_MsgInquiry *msg, int len)
        DBWriteRequest *newreq;
        PgStat_StatDBEntry *dbentry;
 
-       elog(DEBUG2, "received inquiry for %d", msg->databaseid);
+       elog(DEBUG2, "received inquiry for %u", msg->databaseid);
 
        /*
         * Find the last write request for this DB.  If it's older than the
@@ -4598,7 +4598,7 @@ pgstat_recv_inquiry(PgStat_MsgInquiry *msg, int len)
                        writetime = 
pstrdup(timestamptz_to_str(dbentry->stats_timestamp));
                        mytime = pstrdup(timestamptz_to_str(cur_ts));
                        elog(LOG,
-                       "stats_timestamp %s is later than collector's time %s 
for db %d",
+                       "stats_timestamp %s is later than collector's time %s 
for db %u",
                                 writetime, mytime, dbentry->databaseid);
                        pfree(writetime);
                        pfree(mytime);
diff --git a/src/backend/replication/logical/reorderbuffer.c 
b/src/backend/replication/logical/reorderbuffer.c
index 6e75398..cd132c1 100644
--- a/src/backend/replication/logical/reorderbuffer.c
+++ b/src/backend/replication/logical/reorderbuffer.c
@@ -2458,7 +2458,7 @@ ReorderBufferToastAppendChunk(ReorderBuffer *rb, 
ReorderBufferTXN *txn,
        Pointer         chunk;
        TupleDesc       desc = RelationGetDescr(relation);
        Oid                     chunk_id;
-       Oid                     chunk_seq;
+       int32           chunk_seq;
 
        if (txn->toast_hash == NULL)
                ReorderBufferToastInitHash(rb, txn);
diff --git a/src/bin/pg_dump/parallel.c b/src/bin/pg_dump/parallel.c
index 0a9ac02..a59508f 100644
--- a/src/bin/pg_dump/parallel.c
+++ b/src/bin/pg_dump/parallel.c
@@ -821,7 +821,7 @@ lockTableNoWait(ArchiveHandle *AH, TocEntry *te)
                                          "       pg_class.relname "
                                          "  FROM pg_class "
                                        "  JOIN pg_namespace on 
pg_namespace.oid = relnamespace "
-                                         " WHERE pg_class.oid = %d", 
te->catalogId.oid);
+                                         " WHERE pg_class.oid = %u", 
te->catalogId.oid);
 
        res = PQexec(AH->connection, query->data);
 
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to