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 <[email protected]>
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 ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers