Massive examples fix from Nicola Bernardelli

This commit is contained in:
Bruce Momjian 1997-09-25 16:35:52 +00:00
parent 0384d37083
commit 2f4275327e
8 changed files with 78 additions and 59 deletions

View File

@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: geo_decls.h,v 1.13 1997/09/20 16:25:28 thomas Exp $
* $Id: geo_decls.h,v 1.14 1997/09/25 16:35:36 momjian Exp $
*
* NOTE
* These routines do *not* use the float types from adt/.
@ -20,6 +20,7 @@
#define GEO_DECLS_H
#include "access/attnum.h"
#include "postgres.h" /* float8 */
/*#ifndef FmgrIncluded -- seems like always included. (it's FMgrIncluded) AY */

View File

@ -17,7 +17,8 @@ LDFLAGS+= $(KRBLIBS)
CFLAGS+= $(KRBFLAGS)
endif
PROGS= testlibpq0 testlibpq1 testlibpq2 testlibpq3 testlibpq4 testlo
# PROGS= testlibpq0 testlibpq1 testlibpq2 testlibpq3 testlibpq4 testlo
PROGS = testlibpq testlibpq2 testlibpq3 testlibpq4 testlo testlo2
all: $(PROGS)

View File

@ -7,13 +7,14 @@
#include <stdio.h>
#include "libpq-fe.h"
void
static void
exit_nicely(PGconn *conn)
{
PQfinish(conn);
exit(1);
}
int
main()
{
char *pghost,

View File

@ -19,15 +19,17 @@ INSERT INTO TBL1 values (10);
*
*/
#include <stdio.h>
#include <stdlib.h>
#include "libpq-fe.h"
void
static void
exit_nicely(PGconn *conn)
{
PQfinish(conn);
exit(1);
}
int
main()
{
char *pghost,
@ -35,9 +37,10 @@ main()
*pgoptions,
*pgtty;
char *dbName;
int nFields;
int i,
j;
/* int nFields;
* int i,
* j;
*/
PGconn *conn;
PGresult *res;
@ -103,5 +106,5 @@ main()
/* close the connection to the database and cleanup */
PQfinish(conn);
return 0; /* Though PQfinish(conn1) has called exit(1) */
}

View File

@ -27,16 +27,19 @@ tuple 1: got
*
*/
#include <stdio.h>
#include <string.h>
#include "postgres.h" /* -> "c.h" -> int16, in access/attnum.h */
#include "libpq-fe.h"
#include "utils/geo-decls.h" /* for the POLYGON type */
#include "utils/geo_decls.h" /* for the POLYGON type */
void
static void
exit_nicely(PGconn *conn)
{
PQfinish(conn);
exit(1);
}
int
main()
{
char *pghost,
@ -44,9 +47,11 @@ main()
*pgoptions,
*pgtty;
char *dbName;
int nFields;
int i,
j;
/* int nFields;
* int i,
* j;
*/
int i;
int i_fnum,
d_fnum,
p_fnum;
@ -157,10 +162,10 @@ main()
printf(" p = (%d bytes) %d points \tboundbox = (hi=%f/%f, lo = %f,%f)\n",
PQgetlength(res, i, d_fnum),
pval->npts,
pval->boundbox.xh,
pval->boundbox.yh,
pval->boundbox.xl,
pval->boundbox.yl);
pval->boundbox.high.x,
pval->boundbox.high.y,
pval->boundbox.low.x,
pval->boundbox.low.y);
}
PQclear(res);
@ -175,5 +180,5 @@ main()
/* close the connection to the database and cleanup */
PQfinish(conn);
return 0; /* Though PQfinish(conn1) has called exit(1) */
}

View File

@ -8,7 +8,7 @@
#include <stdio.h>
#include "libpq-fe.h"
void
static void
exit_nicely(PGconn *conn1, PGconn *conn2)
{
if (conn1)
@ -18,8 +18,8 @@ exit_nicely(PGconn *conn1, PGconn *conn2)
exit(1);
}
void
check_conn(PGconn *conn)
static void
check_conn(PGconn *conn, const char* dbName)
{
/* check to see that the backend connection was successfully made */
if (PQstatus(conn) == CONNECTION_BAD)
@ -30,23 +30,26 @@ check_conn(PGconn *conn)
}
}
main()
int
main(int argc, char** argv)
{
char *pghost,
*pgport,
*pgoptions,
*pgtty;
char *dbName1,
dbName2;
*dbName2;
char *tblName;
int nFields;
int i,
j;
PGconn *conn1,
conn2;
PGresult *res1,
res2;
*conn2;
/* PGresult *res1,
* *res2;
*/
PGresult *res1;
if (argc != 4)
{
@ -73,10 +76,10 @@ main()
/* make a connection to the database */
conn1 = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName1);
check_conn(conn1);
check_conn(conn1, dbName1);
conn2 = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName2);
check_conn(conn2);
check_conn(conn2, dbName2);
/* start a transaction block */
res1 = PQexec(conn1, "BEGIN");
@ -97,53 +100,54 @@ main()
* fetch instances from the pg_database, the system catalog of
* databases
*/
res = PQexec(conn, "DECLARE myportal CURSOR FOR select * from pg_database");
if (PQresultStatus(res) != PGRES_COMMAND_OK)
res1 = PQexec(conn1, "DECLARE myportal CURSOR FOR select * from pg_database");
if (PQresultStatus(res1) != PGRES_COMMAND_OK)
{
fprintf(stderr, "DECLARE CURSOR command failed\n");
PQclear(res);
exit_nicely(conn);
PQclear(res1);
exit_nicely(conn1,(PGconn*)NULL);
}
PQclear(res);
PQclear(res1);
res = PQexec(conn, "FETCH ALL in myportal");
if (PQresultStatus(res) != PGRES_TUPLES_OK)
res1 = PQexec(conn1, "FETCH ALL in myportal");
if (PQresultStatus(res1) != PGRES_TUPLES_OK)
{
fprintf(stderr, "FETCH ALL command didn't return tuples properly\n");
PQclear(res);
exit_nicely(conn);
PQclear(res1);
exit_nicely(conn1,(PGconn*)NULL);
}
/* first, print out the attribute names */
nFields = PQnfields(res);
nFields = PQnfields(res1);
for (i = 0; i < nFields; i++)
{
printf("%-15s", PQfname(res, i));
printf("%-15s", PQfname(res1, i));
}
printf("\n\n");
/* next, print out the instances */
for (i = 0; i < PQntuples(res); i++)
for (i = 0; i < PQntuples(res1); i++)
{
for (j = 0; j < nFields; j++)
{
printf("%-15s", PQgetvalue(res, i, j));
printf("%-15s", PQgetvalue(res1, i, j));
}
printf("\n");
}
PQclear(res);
PQclear(res1);
/* close the portal */
res = PQexec(conn, "CLOSE myportal");
PQclear(res);
res1 = PQexec(conn1, "CLOSE myportal");
PQclear(res1);
/* end the transaction */
res = PQexec(conn, "END");
PQclear(res);
res1 = PQexec(conn1, "END");
PQclear(res1);
/* close the connection to the database and cleanup */
PQfinish(conn);
PQfinish(conn1);
/* fclose(debug); */
return 0; /* Though PQfinish(conn1) has called exit(1) */
}

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/test/examples/testlo.c,v 1.6 1997/09/08 21:55:56 momjian Exp $
* $Header: /cvsroot/pgsql/src/test/examples/testlo.c,v 1.7 1997/09/25 16:35:50 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -17,6 +17,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include "libpq-fe.h"
#include "libpq/libpq-fs.h"
@ -28,7 +29,7 @@
* import file "in_filename" into database as large object "lobjOid"
*
*/
Oid
static Oid
importFile(PGconn *conn, char *filename)
{
Oid lobjId;
@ -76,7 +77,7 @@ importFile(PGconn *conn, char *filename)
return lobjId;
}
void
static void
pickout(PGconn *conn, Oid lobjId, int start, int len)
{
int lobj_fd;
@ -106,7 +107,7 @@ pickout(PGconn *conn, Oid lobjId, int start, int len)
lo_close(conn, lobj_fd);
}
void
static void
overwrite(PGconn *conn, Oid lobjId, int start, int len)
{
int lobj_fd;
@ -145,7 +146,7 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len)
* export large object "lobjOid" to file "out_filename"
*
*/
void
static void
exportFile(PGconn *conn, Oid lobjId, char *filename)
{
int lobj_fd;
@ -193,7 +194,7 @@ exportFile(PGconn *conn, Oid lobjId, char *filename)
return;
}
void
static void
exit_nicely(PGconn *conn)
{
PQfinish(conn);

View File

@ -7,11 +7,14 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/test/examples/Attic/testlo2.c,v 1.5 1997/09/08 21:55:57 momjian Exp $
* $Header: /cvsroot/pgsql/src/test/examples/Attic/testlo2.c,v 1.6 1997/09/25 16:35:52 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include "libpq-fe.h"
#include "libpq/libpq-fs.h"
@ -22,7 +25,7 @@
* import file "in_filename" into database as large object "lobjOid"
*
*/
Oid
static Oid
importFile(PGconn *conn, char *filename)
{
Oid lobjId;
@ -70,7 +73,7 @@ importFile(PGconn *conn, char *filename)
return lobjId;
}
void
static void
pickout(PGconn *conn, Oid lobjId, int start, int len)
{
int lobj_fd;
@ -100,7 +103,7 @@ pickout(PGconn *conn, Oid lobjId, int start, int len)
lo_close(conn, lobj_fd);
}
void
static void
overwrite(PGconn *conn, Oid lobjId, int start, int len)
{
int lobj_fd;
@ -139,7 +142,7 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len)
* export large object "lobjOid" to file "out_filename"
*
*/
void
static void
exportFile(PGconn *conn, Oid lobjId, char *filename)
{
int lobj_fd;
@ -187,7 +190,7 @@ exportFile(PGconn *conn, Oid lobjId, char *filename)
return;
}
void
static void
exit_nicely(PGconn *conn)
{
PQfinish(conn);