Re: [GENERAL] Insert result does not match record count - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [GENERAL] Insert result does not match record count
Date
Msg-id 8046.1391357528@sss.pgh.pa.us
Whole thread Raw
In response to Re: [GENERAL] Insert result does not match record count  (Vik Fearing <vik.fearing@dalibo.com>)
Responses Re: [GENERAL] Insert result does not match record count
List pgsql-hackers
Vik Fearing <vik.fearing@dalibo.com> writes:
> Without re-doing the work, my IRC logs show that I was bothered by this
> in src/backend/tcop/postgres.c:

>                     max_rows = pq_getmsgint(&input_message, 4);

> I needed to change max_rows to int64 which meant I had to change
> pq_getmsgint to pq_getmsgint64 which made me a little worried.

As well you should be, because we are *not* doing that.  That would be
a guaranteed-incompatible protocol change.  Fortunately, I don't see
any functional need for widening the row-limit field in execute messages;
how likely is it that someone wants to fetch exactly 3 billion rows?
The practical use-cases for nonzero row limits generally involve fetching
a bufferload worth of data at a time, so that the restriction to getting
no more than INT_MAX rows at once is several orders of magnitude away
from being a problem.

The same goes for internal uses of row limits, which makes it
questionable whether it's worth changing the width of ExecutorRun's
count parameter, which is what I assume you were on about here.  But
in any case, if we did that we'd not try to reflect it as far as here,
because the message format specs can't change.

            regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: narwhal and PGDLLIMPORT
Next
From: Tom Lane
Date:
Subject: Re: [COMMITTERS] pgsql: Include planning time in EXPLAIN ANALYZE output.