Обсуждение: C/C++ interface
Hello,
in the C interface documentation there is an example using:
res = PQexec(conn, "DECLARE mycursor CURSOR FOR select * from
pg_database"); if (!res || PQresultStatus(res) != PGRES_COMMAND_OK) { fprintf(stderr, "DECLARE CURSOR command
failed\n"); PQclear(res); exit_nicely(conn); } PQclear(res); res = PQexec(conn, "FETCH ALL in
mycursor");
...etc. So the statements are:
DECLARE mycursor CURSOR FOR select * from pg_database;
FETCH ALL in mycursor;
What's the difference between this and simply doing:
select * from pg_database;
I tried this in psql, the result seemed the same.
What I'm really using, however, is the C++ interface.
Its documentation is not yet complete.
There, too, I tried a version with and without cursor.
The result seems to be the same, but returned int is always 0
for the version without cursor, so I get no information whether
the query succeeded.
Is someone maintaining the C++ interface and its documentation?
Thanks,
Volker Paul
Volker Paul <vpaul@dohle.com> writes:
> Is someone maintaining the C++ interface and its documentation?
Not really. Feel free to step up and lend a hand ...
regards, tom lane
Cursors and standard queries are pretty much the same, except the cursor
can control the rows returned.
> Hello,
>
> in the C interface documentation there is an example using:
>
> res = PQexec(conn, "DECLARE mycursor CURSOR FOR select * from
> pg_database");
> if (!res || PQresultStatus(res) != PGRES_COMMAND_OK)
> {
> fprintf(stderr, "DECLARE CURSOR command failed\n");
> PQclear(res);
> exit_nicely(conn);
> }
> PQclear(res);
> res = PQexec(conn, "FETCH ALL in mycursor");
>
> ...etc. So the statements are:
>
> DECLARE mycursor CURSOR FOR select * from pg_database;
> FETCH ALL in mycursor;
>
> What's the difference between this and simply doing:
> select * from pg_database;
>
> I tried this in psql, the result seemed the same.
>
> What I'm really using, however, is the C++ interface.
> Its documentation is not yet complete.
> There, too, I tried a version with and without cursor.
> The result seems to be the same, but returned int is always 0
> for the version without cursor, so I get no information whether
> the query succeeded.
>
> Is someone maintaining the C++ interface and its documentation?
>
>
> Thanks,
>
> Volker Paul
>
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026
Tom Lane wrote: > > Volker Paul <vpaul@dohle.com> writes: > > Is someone maintaining the C++ interface and its documentation? > > Not really. Feel free to step up and lend a hand ... I found some functions of the C++ binding library that are not or scarcely documented, namely: int GetIsNull(int tup_num, int field_num); int GetIsNull(int tup_num, constchar* field_name); int GetLine(char* string, int length); void PutLine(const char* string); const char* OidStatus();int EndCopy(); I would like to complete the documentation at these points, and maybe add some small example C++ programs. In which form should I write the documentation and where should I send it? (I have no possibility at the moment to test SGML documents, i.e. convert them to HTML.) Regards, Volker Paul
>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<< On 2/16/01, 8:24:09 AM, Volker Paul <vpaul@dohle.com> wrote regarding Re: [SQL] C/C++ interface: > Tom Lane wrote: > > > > Volker Paul <vpaul@dohle.com> writes: > > > Is someone maintaining the C++ interface and its documentation? > > > > Not really. Feel free to step up and lend a hand ... > I would like to complete the documentation at these points, > and maybe add some small example C++ programs. > In which form should I write the documentation and where > should I send it? > (I have no possibility at the moment to test SGML documents, > i.e. convert them to HTML.) > Regards, > Volker Paul I believe there are guidelines in the developer's section of the postgresql.org website - towards the end of the developer's docs. - Richard Huxton