Re: libpq confusion

From: Thomas Delrue <thomas(at)epistulae(dot)net>
To: pgsql-general(at)postgresql(dot)org
Cc: Igor Korot <ikorot01(at)gmail(dot)com>, John R Pierce <pierce(at)hogranch(dot)com>
Subject: Re: libpq confusion
Date: 2017-09-20 18:03:26
Message-ID: 1759465.Pq9tdH2gog@null
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wednesday, September 20, 2017 1:47:05 PM EDT Igor Korot wrote:
>Thx.
>So it is referring to the command not a "command returning no data". ;-)

assuming
create table t (c int);

select c from t;
- PQresultStatus(result) == PGRES_TUPLES_OK
- PQntuples(result) == number or rows returned (int)
insert into t(c)values(1);
- PQresultStatus(result) ==PGRES_COMMAND_OK
- PQcmdTuples(result) == "1" (note: char*)
insert into t(c)values(1) returning c;
- PQresultStatus(result) ==PGRES_TUPLES_OK
- PQntuples(result) == 1 (int)

>On Wed, Sep 20, 2017 at 1:42 PM, John R Pierce <pierce(at)hogranch(dot)com> wrote:
>> On 9/20/2017 10:34 AM, Igor Korot wrote:
>> >From the documentation:
>> https://www.postgresql.org/docs/9.1/static/libpq-exec.html
>>
>> [quote]
>> PGRES_COMMAND_OK
>>
>> Successful completion of a command returning no data.
>> [/quote]
>>
>> No data = no rows, right?
>>
>> from that same page, a bit farther down, clarifying the potentially
>> confusing wording.
>>
>> If the result status is PGRES_TUPLES_OK, then the functions described below
>> can be used to retrieve the rows returned by the query. Note that a SELECT
>> command that happens to retrieve zero rows still shows PGRES_TUPLES_OK.
>> PGRES_COMMAND_OK is for commands that can never return rows (INSERT,
>> UPDATE,
>> etc.). A response of PGRES_EMPTY_QUERY might indicate a bug in the client
>> software.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Jerry Sievers 2017-09-20 18:05:37 Re: Up to date conventional wisdom re max shared_buffer size?
Previous Message Jerry Sievers 2017-09-20 18:00:34 Re: Up to date conventional wisdom re max shared_buffer size?