Thread: C/C++ interface

C/C++ interface

From
Volker Paul
Date:
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


Re: C/C++ interface

From
Tom Lane
Date:
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


Re: C/C++ interface

From
Bruce Momjian
Date:
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
 


Re: C/C++ interface

From
Volker Paul
Date:
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


Re: C/C++ interface

From
dev@archonet.com
Date:

>>>>>>>>>>>>>>>>>> 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